405147025ca88c7b1c88c185337884caa5097106
[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::EnumDescriptor* Type_descriptor_ = NULL;
257 const ::google::protobuf::EnumDescriptor* Phase_descriptor_ = NULL;
258
259 }  // namespace
260
261
262 void protobuf_AssignDesc_opencv_2dcaffe_2eproto() GOOGLE_ATTRIBUTE_COLD;
263 void protobuf_AssignDesc_opencv_2dcaffe_2eproto() {
264   protobuf_AddDesc_opencv_2dcaffe_2eproto();
265   const ::google::protobuf::FileDescriptor* file =
266     ::google::protobuf::DescriptorPool::generated_pool()->FindFileByName(
267       "opencv-caffe.proto");
268   GOOGLE_CHECK(file != NULL);
269   BlobShape_descriptor_ = file->message_type(0);
270   static const int BlobShape_offsets_[1] = {
271     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobShape, dim_),
272   };
273   BlobShape_reflection_ =
274     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
275       BlobShape_descriptor_,
276       BlobShape::internal_default_instance(),
277       BlobShape_offsets_,
278       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobShape, _has_bits_),
279       -1,
280       -1,
281       sizeof(BlobShape),
282       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobShape, _internal_metadata_));
283   BlobProto_descriptor_ = file->message_type(1);
284   static const int BlobProto_offsets_[11] = {
285     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, shape_),
286     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, data_),
287     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, diff_),
288     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, double_data_),
289     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, double_diff_),
290     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, raw_data_type_),
291     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, raw_data_),
292     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, num_),
293     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, channels_),
294     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, height_),
295     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, width_),
296   };
297   BlobProto_reflection_ =
298     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
299       BlobProto_descriptor_,
300       BlobProto::internal_default_instance(),
301       BlobProto_offsets_,
302       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, _has_bits_),
303       -1,
304       -1,
305       sizeof(BlobProto),
306       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProto, _internal_metadata_));
307   BlobProtoVector_descriptor_ = file->message_type(2);
308   static const int BlobProtoVector_offsets_[1] = {
309     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProtoVector, blobs_),
310   };
311   BlobProtoVector_reflection_ =
312     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
313       BlobProtoVector_descriptor_,
314       BlobProtoVector::internal_default_instance(),
315       BlobProtoVector_offsets_,
316       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProtoVector, _has_bits_),
317       -1,
318       -1,
319       sizeof(BlobProtoVector),
320       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BlobProtoVector, _internal_metadata_));
321   PermuteParameter_descriptor_ = file->message_type(3);
322   static const int PermuteParameter_offsets_[1] = {
323     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, order_),
324   };
325   PermuteParameter_reflection_ =
326     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
327       PermuteParameter_descriptor_,
328       PermuteParameter::internal_default_instance(),
329       PermuteParameter_offsets_,
330       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, _has_bits_),
331       -1,
332       -1,
333       sizeof(PermuteParameter),
334       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PermuteParameter, _internal_metadata_));
335   NormalizeBBoxParameter_descriptor_ = file->message_type(4);
336   static const int NormalizeBBoxParameter_offsets_[4] = {
337     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, across_spatial_),
338     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, scale_filler_),
339     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, channel_shared_),
340     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, eps_),
341   };
342   NormalizeBBoxParameter_reflection_ =
343     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
344       NormalizeBBoxParameter_descriptor_,
345       NormalizeBBoxParameter::internal_default_instance(),
346       NormalizeBBoxParameter_offsets_,
347       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, _has_bits_),
348       -1,
349       -1,
350       sizeof(NormalizeBBoxParameter),
351       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizeBBoxParameter, _internal_metadata_));
352   PriorBoxParameter_descriptor_ = file->message_type(5);
353   static const int PriorBoxParameter_offsets_[17] = {
354     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, min_size_),
355     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, max_size_),
356     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, aspect_ratio_),
357     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, flip_),
358     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, clip_),
359     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, variance_),
360     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, img_size_),
361     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, img_h_),
362     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, img_w_),
363     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, step_),
364     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, step_h_),
365     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, step_w_),
366     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, offset_),
367     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, offset_h_),
368     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, offset_w_),
369     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, width_),
370     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, height_),
371   };
372   PriorBoxParameter_reflection_ =
373     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
374       PriorBoxParameter_descriptor_,
375       PriorBoxParameter::internal_default_instance(),
376       PriorBoxParameter_offsets_,
377       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, _has_bits_),
378       -1,
379       -1,
380       sizeof(PriorBoxParameter),
381       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PriorBoxParameter, _internal_metadata_));
382   PriorBoxParameter_CodeType_descriptor_ = PriorBoxParameter_descriptor_->enum_type(0);
383   DetectionOutputParameter_descriptor_ = file->message_type(6);
384   static const int DetectionOutputParameter_offsets_[9] = {
385     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, num_classes_),
386     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, share_location_),
387     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, background_label_id_),
388     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, nms_param_),
389     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, save_output_param_),
390     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, code_type_),
391     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, variance_encoded_in_target_),
392     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, keep_top_k_),
393     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, confidence_threshold_),
394   };
395   DetectionOutputParameter_reflection_ =
396     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
397       DetectionOutputParameter_descriptor_,
398       DetectionOutputParameter::internal_default_instance(),
399       DetectionOutputParameter_offsets_,
400       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, _has_bits_),
401       -1,
402       -1,
403       sizeof(DetectionOutputParameter),
404       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DetectionOutputParameter, _internal_metadata_));
405   Datum_descriptor_ = file->message_type(7);
406   static const int Datum_offsets_[7] = {
407     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, channels_),
408     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, height_),
409     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, width_),
410     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, data_),
411     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, label_),
412     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, float_data_),
413     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, encoded_),
414   };
415   Datum_reflection_ =
416     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
417       Datum_descriptor_,
418       Datum::internal_default_instance(),
419       Datum_offsets_,
420       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, _has_bits_),
421       -1,
422       -1,
423       sizeof(Datum),
424       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(Datum, _internal_metadata_));
425   FillerParameter_descriptor_ = file->message_type(8);
426   static const int FillerParameter_offsets_[8] = {
427     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, type_),
428     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, value_),
429     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, min_),
430     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, max_),
431     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, mean_),
432     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, std_),
433     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, sparse_),
434     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, variance_norm_),
435   };
436   FillerParameter_reflection_ =
437     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
438       FillerParameter_descriptor_,
439       FillerParameter::internal_default_instance(),
440       FillerParameter_offsets_,
441       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, _has_bits_),
442       -1,
443       -1,
444       sizeof(FillerParameter),
445       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FillerParameter, _internal_metadata_));
446   FillerParameter_VarianceNorm_descriptor_ = FillerParameter_descriptor_->enum_type(0);
447   NetParameter_descriptor_ = file->message_type(9);
448   static const int NetParameter_offsets_[9] = {
449     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, name_),
450     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, input_),
451     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, input_shape_),
452     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, input_dim_),
453     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, force_backward_),
454     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, state_),
455     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, debug_info_),
456     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, layer_),
457     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, layers_),
458   };
459   NetParameter_reflection_ =
460     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
461       NetParameter_descriptor_,
462       NetParameter::internal_default_instance(),
463       NetParameter_offsets_,
464       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, _has_bits_),
465       -1,
466       -1,
467       sizeof(NetParameter),
468       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetParameter, _internal_metadata_));
469   SolverParameter_descriptor_ = file->message_type(10);
470   static const int SolverParameter_offsets_[40] = {
471     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, net_),
472     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, net_param_),
473     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, train_net_),
474     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_net_),
475     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, train_net_param_),
476     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_net_param_),
477     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, train_state_),
478     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_state_),
479     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_iter_),
480     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_interval_),
481     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_compute_loss_),
482     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, test_initialization_),
483     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, base_lr_),
484     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, display_),
485     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, average_loss_),
486     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, max_iter_),
487     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, iter_size_),
488     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, lr_policy_),
489     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, gamma_),
490     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, power_),
491     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, momentum_),
492     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, weight_decay_),
493     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, regularization_type_),
494     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, stepsize_),
495     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, stepvalue_),
496     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, clip_gradients_),
497     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_),
498     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_prefix_),
499     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_diff_),
500     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_format_),
501     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, solver_mode_),
502     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, device_id_),
503     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, random_seed_),
504     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, type_),
505     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, delta_),
506     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, momentum2_),
507     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, rms_decay_),
508     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, debug_info_),
509     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, snapshot_after_train_),
510     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, solver_type_),
511   };
512   SolverParameter_reflection_ =
513     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
514       SolverParameter_descriptor_,
515       SolverParameter::internal_default_instance(),
516       SolverParameter_offsets_,
517       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, _has_bits_),
518       -1,
519       -1,
520       sizeof(SolverParameter),
521       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverParameter, _internal_metadata_));
522   SolverParameter_SnapshotFormat_descriptor_ = SolverParameter_descriptor_->enum_type(0);
523   SolverParameter_SolverMode_descriptor_ = SolverParameter_descriptor_->enum_type(1);
524   SolverParameter_SolverType_descriptor_ = SolverParameter_descriptor_->enum_type(2);
525   SolverState_descriptor_ = file->message_type(11);
526   static const int SolverState_offsets_[4] = {
527     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, iter_),
528     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, learned_net_),
529     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, history_),
530     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, current_step_),
531   };
532   SolverState_reflection_ =
533     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
534       SolverState_descriptor_,
535       SolverState::internal_default_instance(),
536       SolverState_offsets_,
537       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, _has_bits_),
538       -1,
539       -1,
540       sizeof(SolverState),
541       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SolverState, _internal_metadata_));
542   NetState_descriptor_ = file->message_type(12);
543   static const int NetState_offsets_[3] = {
544     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, phase_),
545     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, level_),
546     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, stage_),
547   };
548   NetState_reflection_ =
549     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
550       NetState_descriptor_,
551       NetState::internal_default_instance(),
552       NetState_offsets_,
553       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, _has_bits_),
554       -1,
555       -1,
556       sizeof(NetState),
557       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetState, _internal_metadata_));
558   NetStateRule_descriptor_ = file->message_type(13);
559   static const int NetStateRule_offsets_[5] = {
560     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, phase_),
561     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, min_level_),
562     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, max_level_),
563     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, stage_),
564     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, not_stage_),
565   };
566   NetStateRule_reflection_ =
567     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
568       NetStateRule_descriptor_,
569       NetStateRule::internal_default_instance(),
570       NetStateRule_offsets_,
571       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, _has_bits_),
572       -1,
573       -1,
574       sizeof(NetStateRule),
575       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NetStateRule, _internal_metadata_));
576   ParamSpec_descriptor_ = file->message_type(14);
577   static const int ParamSpec_offsets_[4] = {
578     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, name_),
579     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, share_mode_),
580     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, lr_mult_),
581     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, decay_mult_),
582   };
583   ParamSpec_reflection_ =
584     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
585       ParamSpec_descriptor_,
586       ParamSpec::internal_default_instance(),
587       ParamSpec_offsets_,
588       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, _has_bits_),
589       -1,
590       -1,
591       sizeof(ParamSpec),
592       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParamSpec, _internal_metadata_));
593   ParamSpec_DimCheckMode_descriptor_ = ParamSpec_descriptor_->enum_type(0);
594   LayerParameter_descriptor_ = file->message_type(15);
595   static const int LayerParameter_offsets_[63] = {
596     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, name_),
597     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, type_),
598     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, bottom_),
599     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, top_),
600     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, phase_),
601     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, loss_weight_),
602     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, param_),
603     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, blobs_),
604     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, propagate_down_),
605     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, include_),
606     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, exclude_),
607     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, transform_param_),
608     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, loss_param_),
609     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, accuracy_param_),
610     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, argmax_param_),
611     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, batch_norm_param_),
612     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, bias_param_),
613     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, concat_param_),
614     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, contrastive_loss_param_),
615     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, convolution_param_),
616     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, crop_param_),
617     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, data_param_),
618     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, detection_output_param_),
619     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, dropout_param_),
620     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, dummy_data_param_),
621     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, eltwise_param_),
622     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, elu_param_),
623     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, embed_param_),
624     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, exp_param_),
625     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, flatten_param_),
626     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, hdf5_data_param_),
627     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, hdf5_output_param_),
628     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, hinge_loss_param_),
629     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, image_data_param_),
630     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, infogain_loss_param_),
631     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, inner_product_param_),
632     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, input_param_),
633     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, log_param_),
634     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, lrn_param_),
635     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, memory_data_param_),
636     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, mvn_param_),
637     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, norm_param_),
638     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, permute_param_),
639     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, parameter_param_),
640     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, pooling_param_),
641     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, power_param_),
642     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, prelu_param_),
643     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, prior_box_param_),
644     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, python_param_),
645     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, recurrent_param_),
646     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, reduction_param_),
647     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, relu_param_),
648     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, reshape_param_),
649     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, roi_pooling_param_),
650     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, scale_param_),
651     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, sigmoid_param_),
652     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, softmax_param_),
653     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, spp_param_),
654     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, slice_param_),
655     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, tanh_param_),
656     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, threshold_param_),
657     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, tile_param_),
658     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, window_data_param_),
659   };
660   LayerParameter_reflection_ =
661     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
662       LayerParameter_descriptor_,
663       LayerParameter::internal_default_instance(),
664       LayerParameter_offsets_,
665       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, _has_bits_),
666       -1,
667       -1,
668       sizeof(LayerParameter),
669       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LayerParameter, _internal_metadata_));
670   TransformationParameter_descriptor_ = file->message_type(16);
671   static const int TransformationParameter_offsets_[7] = {
672     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, scale_),
673     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, mirror_),
674     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, crop_size_),
675     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, mean_file_),
676     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, mean_value_),
677     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, force_color_),
678     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, force_gray_),
679   };
680   TransformationParameter_reflection_ =
681     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
682       TransformationParameter_descriptor_,
683       TransformationParameter::internal_default_instance(),
684       TransformationParameter_offsets_,
685       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, _has_bits_),
686       -1,
687       -1,
688       sizeof(TransformationParameter),
689       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TransformationParameter, _internal_metadata_));
690   LossParameter_descriptor_ = file->message_type(17);
691   static const int LossParameter_offsets_[3] = {
692     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, ignore_label_),
693     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, normalization_),
694     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, normalize_),
695   };
696   LossParameter_reflection_ =
697     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
698       LossParameter_descriptor_,
699       LossParameter::internal_default_instance(),
700       LossParameter_offsets_,
701       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, _has_bits_),
702       -1,
703       -1,
704       sizeof(LossParameter),
705       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LossParameter, _internal_metadata_));
706   LossParameter_NormalizationMode_descriptor_ = LossParameter_descriptor_->enum_type(0);
707   AccuracyParameter_descriptor_ = file->message_type(18);
708   static const int AccuracyParameter_offsets_[3] = {
709     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, top_k_),
710     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, axis_),
711     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, ignore_label_),
712   };
713   AccuracyParameter_reflection_ =
714     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
715       AccuracyParameter_descriptor_,
716       AccuracyParameter::internal_default_instance(),
717       AccuracyParameter_offsets_,
718       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, _has_bits_),
719       -1,
720       -1,
721       sizeof(AccuracyParameter),
722       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(AccuracyParameter, _internal_metadata_));
723   ArgMaxParameter_descriptor_ = file->message_type(19);
724   static const int ArgMaxParameter_offsets_[3] = {
725     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, out_max_val_),
726     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, top_k_),
727     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, axis_),
728   };
729   ArgMaxParameter_reflection_ =
730     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
731       ArgMaxParameter_descriptor_,
732       ArgMaxParameter::internal_default_instance(),
733       ArgMaxParameter_offsets_,
734       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, _has_bits_),
735       -1,
736       -1,
737       sizeof(ArgMaxParameter),
738       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ArgMaxParameter, _internal_metadata_));
739   ConcatParameter_descriptor_ = file->message_type(20);
740   static const int ConcatParameter_offsets_[2] = {
741     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, axis_),
742     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, concat_dim_),
743   };
744   ConcatParameter_reflection_ =
745     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
746       ConcatParameter_descriptor_,
747       ConcatParameter::internal_default_instance(),
748       ConcatParameter_offsets_,
749       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, _has_bits_),
750       -1,
751       -1,
752       sizeof(ConcatParameter),
753       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConcatParameter, _internal_metadata_));
754   BatchNormParameter_descriptor_ = file->message_type(21);
755   static const int BatchNormParameter_offsets_[3] = {
756     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, use_global_stats_),
757     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, moving_average_fraction_),
758     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, eps_),
759   };
760   BatchNormParameter_reflection_ =
761     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
762       BatchNormParameter_descriptor_,
763       BatchNormParameter::internal_default_instance(),
764       BatchNormParameter_offsets_,
765       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, _has_bits_),
766       -1,
767       -1,
768       sizeof(BatchNormParameter),
769       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BatchNormParameter, _internal_metadata_));
770   BiasParameter_descriptor_ = file->message_type(22);
771   static const int BiasParameter_offsets_[3] = {
772     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, axis_),
773     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, num_axes_),
774     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, filler_),
775   };
776   BiasParameter_reflection_ =
777     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
778       BiasParameter_descriptor_,
779       BiasParameter::internal_default_instance(),
780       BiasParameter_offsets_,
781       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, _has_bits_),
782       -1,
783       -1,
784       sizeof(BiasParameter),
785       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(BiasParameter, _internal_metadata_));
786   ContrastiveLossParameter_descriptor_ = file->message_type(23);
787   static const int ContrastiveLossParameter_offsets_[2] = {
788     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, margin_),
789     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, legacy_version_),
790   };
791   ContrastiveLossParameter_reflection_ =
792     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
793       ContrastiveLossParameter_descriptor_,
794       ContrastiveLossParameter::internal_default_instance(),
795       ContrastiveLossParameter_offsets_,
796       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, _has_bits_),
797       -1,
798       -1,
799       sizeof(ContrastiveLossParameter),
800       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ContrastiveLossParameter, _internal_metadata_));
801   ConvolutionParameter_descriptor_ = file->message_type(24);
802   static const int ConvolutionParameter_offsets_[18] = {
803     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, num_output_),
804     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, bias_term_),
805     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_),
806     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_size_),
807     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_),
808     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, dilation_),
809     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_h_),
810     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, pad_w_),
811     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_h_),
812     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, kernel_w_),
813     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_h_),
814     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, stride_w_),
815     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, group_),
816     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, weight_filler_),
817     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, bias_filler_),
818     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, engine_),
819     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, axis_),
820     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, force_nd_im2col_),
821   };
822   ConvolutionParameter_reflection_ =
823     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
824       ConvolutionParameter_descriptor_,
825       ConvolutionParameter::internal_default_instance(),
826       ConvolutionParameter_offsets_,
827       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, _has_bits_),
828       -1,
829       -1,
830       sizeof(ConvolutionParameter),
831       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ConvolutionParameter, _internal_metadata_));
832   ConvolutionParameter_Engine_descriptor_ = ConvolutionParameter_descriptor_->enum_type(0);
833   CropParameter_descriptor_ = file->message_type(25);
834   static const int CropParameter_offsets_[2] = {
835     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, axis_),
836     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, offset_),
837   };
838   CropParameter_reflection_ =
839     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
840       CropParameter_descriptor_,
841       CropParameter::internal_default_instance(),
842       CropParameter_offsets_,
843       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _has_bits_),
844       -1,
845       -1,
846       sizeof(CropParameter),
847       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(CropParameter, _internal_metadata_));
848   DataParameter_descriptor_ = file->message_type(26);
849   static const int DataParameter_offsets_[10] = {
850     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, source_),
851     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, batch_size_),
852     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, rand_skip_),
853     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, backend_),
854     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, scale_),
855     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, mean_file_),
856     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, crop_size_),
857     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, mirror_),
858     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, force_encoded_color_),
859     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, prefetch_),
860   };
861   DataParameter_reflection_ =
862     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
863       DataParameter_descriptor_,
864       DataParameter::internal_default_instance(),
865       DataParameter_offsets_,
866       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, _has_bits_),
867       -1,
868       -1,
869       sizeof(DataParameter),
870       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DataParameter, _internal_metadata_));
871   DataParameter_DB_descriptor_ = DataParameter_descriptor_->enum_type(0);
872   NonMaximumSuppressionParameter_descriptor_ = file->message_type(27);
873   static const int NonMaximumSuppressionParameter_offsets_[3] = {
874     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, nms_threshold_),
875     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, top_k_),
876     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, eta_),
877   };
878   NonMaximumSuppressionParameter_reflection_ =
879     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
880       NonMaximumSuppressionParameter_descriptor_,
881       NonMaximumSuppressionParameter::internal_default_instance(),
882       NonMaximumSuppressionParameter_offsets_,
883       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, _has_bits_),
884       -1,
885       -1,
886       sizeof(NonMaximumSuppressionParameter),
887       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NonMaximumSuppressionParameter, _internal_metadata_));
888   SaveOutputParameter_descriptor_ = file->message_type(28);
889   static const int SaveOutputParameter_offsets_[6] = {
890     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, output_directory_),
891     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, output_name_prefix_),
892     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, output_format_),
893     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, label_map_file_),
894     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, name_size_file_),
895     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, num_test_image_),
896   };
897   SaveOutputParameter_reflection_ =
898     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
899       SaveOutputParameter_descriptor_,
900       SaveOutputParameter::internal_default_instance(),
901       SaveOutputParameter_offsets_,
902       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, _has_bits_),
903       -1,
904       -1,
905       sizeof(SaveOutputParameter),
906       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SaveOutputParameter, _internal_metadata_));
907   DropoutParameter_descriptor_ = file->message_type(29);
908   static const int DropoutParameter_offsets_[1] = {
909     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, dropout_ratio_),
910   };
911   DropoutParameter_reflection_ =
912     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
913       DropoutParameter_descriptor_,
914       DropoutParameter::internal_default_instance(),
915       DropoutParameter_offsets_,
916       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, _has_bits_),
917       -1,
918       -1,
919       sizeof(DropoutParameter),
920       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DropoutParameter, _internal_metadata_));
921   DummyDataParameter_descriptor_ = file->message_type(30);
922   static const int DummyDataParameter_offsets_[6] = {
923     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, data_filler_),
924     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, shape_),
925     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, num_),
926     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, channels_),
927     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, height_),
928     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, width_),
929   };
930   DummyDataParameter_reflection_ =
931     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
932       DummyDataParameter_descriptor_,
933       DummyDataParameter::internal_default_instance(),
934       DummyDataParameter_offsets_,
935       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, _has_bits_),
936       -1,
937       -1,
938       sizeof(DummyDataParameter),
939       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(DummyDataParameter, _internal_metadata_));
940   EltwiseParameter_descriptor_ = file->message_type(31);
941   static const int EltwiseParameter_offsets_[3] = {
942     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, operation_),
943     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, coeff_),
944     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, stable_prod_grad_),
945   };
946   EltwiseParameter_reflection_ =
947     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
948       EltwiseParameter_descriptor_,
949       EltwiseParameter::internal_default_instance(),
950       EltwiseParameter_offsets_,
951       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, _has_bits_),
952       -1,
953       -1,
954       sizeof(EltwiseParameter),
955       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EltwiseParameter, _internal_metadata_));
956   EltwiseParameter_EltwiseOp_descriptor_ = EltwiseParameter_descriptor_->enum_type(0);
957   ELUParameter_descriptor_ = file->message_type(32);
958   static const int ELUParameter_offsets_[1] = {
959     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, alpha_),
960   };
961   ELUParameter_reflection_ =
962     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
963       ELUParameter_descriptor_,
964       ELUParameter::internal_default_instance(),
965       ELUParameter_offsets_,
966       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, _has_bits_),
967       -1,
968       -1,
969       sizeof(ELUParameter),
970       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ELUParameter, _internal_metadata_));
971   EmbedParameter_descriptor_ = file->message_type(33);
972   static const int EmbedParameter_offsets_[5] = {
973     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, num_output_),
974     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, input_dim_),
975     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, bias_term_),
976     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, weight_filler_),
977     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, bias_filler_),
978   };
979   EmbedParameter_reflection_ =
980     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
981       EmbedParameter_descriptor_,
982       EmbedParameter::internal_default_instance(),
983       EmbedParameter_offsets_,
984       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, _has_bits_),
985       -1,
986       -1,
987       sizeof(EmbedParameter),
988       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(EmbedParameter, _internal_metadata_));
989   ExpParameter_descriptor_ = file->message_type(34);
990   static const int ExpParameter_offsets_[3] = {
991     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, base_),
992     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, scale_),
993     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, shift_),
994   };
995   ExpParameter_reflection_ =
996     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
997       ExpParameter_descriptor_,
998       ExpParameter::internal_default_instance(),
999       ExpParameter_offsets_,
1000       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, _has_bits_),
1001       -1,
1002       -1,
1003       sizeof(ExpParameter),
1004       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ExpParameter, _internal_metadata_));
1005   FlattenParameter_descriptor_ = file->message_type(35);
1006   static const int FlattenParameter_offsets_[2] = {
1007     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, axis_),
1008     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, end_axis_),
1009   };
1010   FlattenParameter_reflection_ =
1011     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1012       FlattenParameter_descriptor_,
1013       FlattenParameter::internal_default_instance(),
1014       FlattenParameter_offsets_,
1015       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, _has_bits_),
1016       -1,
1017       -1,
1018       sizeof(FlattenParameter),
1019       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(FlattenParameter, _internal_metadata_));
1020   HDF5DataParameter_descriptor_ = file->message_type(36);
1021   static const int HDF5DataParameter_offsets_[3] = {
1022     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, source_),
1023     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, batch_size_),
1024     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, shuffle_),
1025   };
1026   HDF5DataParameter_reflection_ =
1027     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1028       HDF5DataParameter_descriptor_,
1029       HDF5DataParameter::internal_default_instance(),
1030       HDF5DataParameter_offsets_,
1031       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, _has_bits_),
1032       -1,
1033       -1,
1034       sizeof(HDF5DataParameter),
1035       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5DataParameter, _internal_metadata_));
1036   HDF5OutputParameter_descriptor_ = file->message_type(37);
1037   static const int HDF5OutputParameter_offsets_[1] = {
1038     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, file_name_),
1039   };
1040   HDF5OutputParameter_reflection_ =
1041     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1042       HDF5OutputParameter_descriptor_,
1043       HDF5OutputParameter::internal_default_instance(),
1044       HDF5OutputParameter_offsets_,
1045       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, _has_bits_),
1046       -1,
1047       -1,
1048       sizeof(HDF5OutputParameter),
1049       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HDF5OutputParameter, _internal_metadata_));
1050   HingeLossParameter_descriptor_ = file->message_type(38);
1051   static const int HingeLossParameter_offsets_[1] = {
1052     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, norm_),
1053   };
1054   HingeLossParameter_reflection_ =
1055     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1056       HingeLossParameter_descriptor_,
1057       HingeLossParameter::internal_default_instance(),
1058       HingeLossParameter_offsets_,
1059       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, _has_bits_),
1060       -1,
1061       -1,
1062       sizeof(HingeLossParameter),
1063       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(HingeLossParameter, _internal_metadata_));
1064   HingeLossParameter_Norm_descriptor_ = HingeLossParameter_descriptor_->enum_type(0);
1065   ImageDataParameter_descriptor_ = file->message_type(39);
1066   static const int ImageDataParameter_offsets_[12] = {
1067     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, source_),
1068     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, batch_size_),
1069     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, rand_skip_),
1070     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, shuffle_),
1071     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, new_height_),
1072     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, new_width_),
1073     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, is_color_),
1074     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, scale_),
1075     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, mean_file_),
1076     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, crop_size_),
1077     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, mirror_),
1078     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, root_folder_),
1079   };
1080   ImageDataParameter_reflection_ =
1081     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1082       ImageDataParameter_descriptor_,
1083       ImageDataParameter::internal_default_instance(),
1084       ImageDataParameter_offsets_,
1085       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, _has_bits_),
1086       -1,
1087       -1,
1088       sizeof(ImageDataParameter),
1089       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ImageDataParameter, _internal_metadata_));
1090   InfogainLossParameter_descriptor_ = file->message_type(40);
1091   static const int InfogainLossParameter_offsets_[1] = {
1092     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, source_),
1093   };
1094   InfogainLossParameter_reflection_ =
1095     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1096       InfogainLossParameter_descriptor_,
1097       InfogainLossParameter::internal_default_instance(),
1098       InfogainLossParameter_offsets_,
1099       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, _has_bits_),
1100       -1,
1101       -1,
1102       sizeof(InfogainLossParameter),
1103       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InfogainLossParameter, _internal_metadata_));
1104   InnerProductParameter_descriptor_ = file->message_type(41);
1105   static const int InnerProductParameter_offsets_[6] = {
1106     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, num_output_),
1107     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, bias_term_),
1108     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, weight_filler_),
1109     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, bias_filler_),
1110     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, axis_),
1111     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, transpose_),
1112   };
1113   InnerProductParameter_reflection_ =
1114     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1115       InnerProductParameter_descriptor_,
1116       InnerProductParameter::internal_default_instance(),
1117       InnerProductParameter_offsets_,
1118       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, _has_bits_),
1119       -1,
1120       -1,
1121       sizeof(InnerProductParameter),
1122       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InnerProductParameter, _internal_metadata_));
1123   InputParameter_descriptor_ = file->message_type(42);
1124   static const int InputParameter_offsets_[1] = {
1125     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, shape_),
1126   };
1127   InputParameter_reflection_ =
1128     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1129       InputParameter_descriptor_,
1130       InputParameter::internal_default_instance(),
1131       InputParameter_offsets_,
1132       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, _has_bits_),
1133       -1,
1134       -1,
1135       sizeof(InputParameter),
1136       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(InputParameter, _internal_metadata_));
1137   LogParameter_descriptor_ = file->message_type(43);
1138   static const int LogParameter_offsets_[3] = {
1139     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, base_),
1140     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, scale_),
1141     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, shift_),
1142   };
1143   LogParameter_reflection_ =
1144     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1145       LogParameter_descriptor_,
1146       LogParameter::internal_default_instance(),
1147       LogParameter_offsets_,
1148       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, _has_bits_),
1149       -1,
1150       -1,
1151       sizeof(LogParameter),
1152       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LogParameter, _internal_metadata_));
1153   LRNParameter_descriptor_ = file->message_type(44);
1154   static const int LRNParameter_offsets_[6] = {
1155     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, local_size_),
1156     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, alpha_),
1157     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, beta_),
1158     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, norm_region_),
1159     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, k_),
1160     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, engine_),
1161   };
1162   LRNParameter_reflection_ =
1163     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1164       LRNParameter_descriptor_,
1165       LRNParameter::internal_default_instance(),
1166       LRNParameter_offsets_,
1167       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, _has_bits_),
1168       -1,
1169       -1,
1170       sizeof(LRNParameter),
1171       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(LRNParameter, _internal_metadata_));
1172   LRNParameter_NormRegion_descriptor_ = LRNParameter_descriptor_->enum_type(0);
1173   LRNParameter_Engine_descriptor_ = LRNParameter_descriptor_->enum_type(1);
1174   MemoryDataParameter_descriptor_ = file->message_type(45);
1175   static const int MemoryDataParameter_offsets_[4] = {
1176     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, batch_size_),
1177     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, channels_),
1178     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, height_),
1179     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, width_),
1180   };
1181   MemoryDataParameter_reflection_ =
1182     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1183       MemoryDataParameter_descriptor_,
1184       MemoryDataParameter::internal_default_instance(),
1185       MemoryDataParameter_offsets_,
1186       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, _has_bits_),
1187       -1,
1188       -1,
1189       sizeof(MemoryDataParameter),
1190       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MemoryDataParameter, _internal_metadata_));
1191   MVNParameter_descriptor_ = file->message_type(46);
1192   static const int MVNParameter_offsets_[3] = {
1193     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, normalize_variance_),
1194     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, across_channels_),
1195     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, eps_),
1196   };
1197   MVNParameter_reflection_ =
1198     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1199       MVNParameter_descriptor_,
1200       MVNParameter::internal_default_instance(),
1201       MVNParameter_offsets_,
1202       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, _has_bits_),
1203       -1,
1204       -1,
1205       sizeof(MVNParameter),
1206       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(MVNParameter, _internal_metadata_));
1207   ParameterParameter_descriptor_ = file->message_type(47);
1208   static const int ParameterParameter_offsets_[1] = {
1209     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, shape_),
1210   };
1211   ParameterParameter_reflection_ =
1212     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1213       ParameterParameter_descriptor_,
1214       ParameterParameter::internal_default_instance(),
1215       ParameterParameter_offsets_,
1216       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, _has_bits_),
1217       -1,
1218       -1,
1219       sizeof(ParameterParameter),
1220       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ParameterParameter, _internal_metadata_));
1221   PoolingParameter_descriptor_ = file->message_type(48);
1222   static const int PoolingParameter_offsets_[13] = {
1223     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pool_),
1224     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pad_),
1225     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pad_h_),
1226     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, pad_w_),
1227     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, kernel_size_),
1228     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, kernel_h_),
1229     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, kernel_w_),
1230     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, stride_),
1231     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, stride_h_),
1232     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, stride_w_),
1233     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, engine_),
1234     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, global_pooling_),
1235     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, ceil_mode_),
1236   };
1237   PoolingParameter_reflection_ =
1238     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1239       PoolingParameter_descriptor_,
1240       PoolingParameter::internal_default_instance(),
1241       PoolingParameter_offsets_,
1242       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, _has_bits_),
1243       -1,
1244       -1,
1245       sizeof(PoolingParameter),
1246       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PoolingParameter, _internal_metadata_));
1247   PoolingParameter_PoolMethod_descriptor_ = PoolingParameter_descriptor_->enum_type(0);
1248   PoolingParameter_Engine_descriptor_ = PoolingParameter_descriptor_->enum_type(1);
1249   PowerParameter_descriptor_ = file->message_type(49);
1250   static const int PowerParameter_offsets_[3] = {
1251     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, power_),
1252     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, scale_),
1253     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, shift_),
1254   };
1255   PowerParameter_reflection_ =
1256     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1257       PowerParameter_descriptor_,
1258       PowerParameter::internal_default_instance(),
1259       PowerParameter_offsets_,
1260       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, _has_bits_),
1261       -1,
1262       -1,
1263       sizeof(PowerParameter),
1264       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PowerParameter, _internal_metadata_));
1265   PythonParameter_descriptor_ = file->message_type(50);
1266   static const int PythonParameter_offsets_[4] = {
1267     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, module_),
1268     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, layer_),
1269     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, param_str_),
1270     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, share_in_parallel_),
1271   };
1272   PythonParameter_reflection_ =
1273     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1274       PythonParameter_descriptor_,
1275       PythonParameter::internal_default_instance(),
1276       PythonParameter_offsets_,
1277       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, _has_bits_),
1278       -1,
1279       -1,
1280       sizeof(PythonParameter),
1281       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PythonParameter, _internal_metadata_));
1282   RecurrentParameter_descriptor_ = file->message_type(51);
1283   static const int RecurrentParameter_offsets_[5] = {
1284     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, num_output_),
1285     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, weight_filler_),
1286     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, bias_filler_),
1287     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, debug_info_),
1288     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, expose_hidden_),
1289   };
1290   RecurrentParameter_reflection_ =
1291     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1292       RecurrentParameter_descriptor_,
1293       RecurrentParameter::internal_default_instance(),
1294       RecurrentParameter_offsets_,
1295       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, _has_bits_),
1296       -1,
1297       -1,
1298       sizeof(RecurrentParameter),
1299       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(RecurrentParameter, _internal_metadata_));
1300   ReductionParameter_descriptor_ = file->message_type(52);
1301   static const int ReductionParameter_offsets_[3] = {
1302     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, operation_),
1303     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, axis_),
1304     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, coeff_),
1305   };
1306   ReductionParameter_reflection_ =
1307     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1308       ReductionParameter_descriptor_,
1309       ReductionParameter::internal_default_instance(),
1310       ReductionParameter_offsets_,
1311       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, _has_bits_),
1312       -1,
1313       -1,
1314       sizeof(ReductionParameter),
1315       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReductionParameter, _internal_metadata_));
1316   ReductionParameter_ReductionOp_descriptor_ = ReductionParameter_descriptor_->enum_type(0);
1317   ReLUParameter_descriptor_ = file->message_type(53);
1318   static const int ReLUParameter_offsets_[2] = {
1319     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, negative_slope_),
1320     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, engine_),
1321   };
1322   ReLUParameter_reflection_ =
1323     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1324       ReLUParameter_descriptor_,
1325       ReLUParameter::internal_default_instance(),
1326       ReLUParameter_offsets_,
1327       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, _has_bits_),
1328       -1,
1329       -1,
1330       sizeof(ReLUParameter),
1331       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReLUParameter, _internal_metadata_));
1332   ReLUParameter_Engine_descriptor_ = ReLUParameter_descriptor_->enum_type(0);
1333   ReshapeParameter_descriptor_ = file->message_type(54);
1334   static const int ReshapeParameter_offsets_[3] = {
1335     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, shape_),
1336     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, axis_),
1337     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, num_axes_),
1338   };
1339   ReshapeParameter_reflection_ =
1340     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1341       ReshapeParameter_descriptor_,
1342       ReshapeParameter::internal_default_instance(),
1343       ReshapeParameter_offsets_,
1344       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, _has_bits_),
1345       -1,
1346       -1,
1347       sizeof(ReshapeParameter),
1348       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ReshapeParameter, _internal_metadata_));
1349   ScaleParameter_descriptor_ = file->message_type(55);
1350   static const int ScaleParameter_offsets_[5] = {
1351     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, axis_),
1352     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, num_axes_),
1353     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, filler_),
1354     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, bias_term_),
1355     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, bias_filler_),
1356   };
1357   ScaleParameter_reflection_ =
1358     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1359       ScaleParameter_descriptor_,
1360       ScaleParameter::internal_default_instance(),
1361       ScaleParameter_offsets_,
1362       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, _has_bits_),
1363       -1,
1364       -1,
1365       sizeof(ScaleParameter),
1366       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ScaleParameter, _internal_metadata_));
1367   SigmoidParameter_descriptor_ = file->message_type(56);
1368   static const int SigmoidParameter_offsets_[1] = {
1369     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, engine_),
1370   };
1371   SigmoidParameter_reflection_ =
1372     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1373       SigmoidParameter_descriptor_,
1374       SigmoidParameter::internal_default_instance(),
1375       SigmoidParameter_offsets_,
1376       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, _has_bits_),
1377       -1,
1378       -1,
1379       sizeof(SigmoidParameter),
1380       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SigmoidParameter, _internal_metadata_));
1381   SigmoidParameter_Engine_descriptor_ = SigmoidParameter_descriptor_->enum_type(0);
1382   SliceParameter_descriptor_ = file->message_type(57);
1383   static const int SliceParameter_offsets_[3] = {
1384     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, axis_),
1385     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, slice_point_),
1386     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, slice_dim_),
1387   };
1388   SliceParameter_reflection_ =
1389     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1390       SliceParameter_descriptor_,
1391       SliceParameter::internal_default_instance(),
1392       SliceParameter_offsets_,
1393       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, _has_bits_),
1394       -1,
1395       -1,
1396       sizeof(SliceParameter),
1397       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SliceParameter, _internal_metadata_));
1398   SoftmaxParameter_descriptor_ = file->message_type(58);
1399   static const int SoftmaxParameter_offsets_[2] = {
1400     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, engine_),
1401     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, axis_),
1402   };
1403   SoftmaxParameter_reflection_ =
1404     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1405       SoftmaxParameter_descriptor_,
1406       SoftmaxParameter::internal_default_instance(),
1407       SoftmaxParameter_offsets_,
1408       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, _has_bits_),
1409       -1,
1410       -1,
1411       sizeof(SoftmaxParameter),
1412       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SoftmaxParameter, _internal_metadata_));
1413   SoftmaxParameter_Engine_descriptor_ = SoftmaxParameter_descriptor_->enum_type(0);
1414   TanHParameter_descriptor_ = file->message_type(59);
1415   static const int TanHParameter_offsets_[1] = {
1416     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, engine_),
1417   };
1418   TanHParameter_reflection_ =
1419     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1420       TanHParameter_descriptor_,
1421       TanHParameter::internal_default_instance(),
1422       TanHParameter_offsets_,
1423       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, _has_bits_),
1424       -1,
1425       -1,
1426       sizeof(TanHParameter),
1427       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TanHParameter, _internal_metadata_));
1428   TanHParameter_Engine_descriptor_ = TanHParameter_descriptor_->enum_type(0);
1429   TileParameter_descriptor_ = file->message_type(60);
1430   static const int TileParameter_offsets_[2] = {
1431     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, axis_),
1432     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, tiles_),
1433   };
1434   TileParameter_reflection_ =
1435     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1436       TileParameter_descriptor_,
1437       TileParameter::internal_default_instance(),
1438       TileParameter_offsets_,
1439       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, _has_bits_),
1440       -1,
1441       -1,
1442       sizeof(TileParameter),
1443       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(TileParameter, _internal_metadata_));
1444   ThresholdParameter_descriptor_ = file->message_type(61);
1445   static const int ThresholdParameter_offsets_[1] = {
1446     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, threshold_),
1447   };
1448   ThresholdParameter_reflection_ =
1449     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1450       ThresholdParameter_descriptor_,
1451       ThresholdParameter::internal_default_instance(),
1452       ThresholdParameter_offsets_,
1453       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, _has_bits_),
1454       -1,
1455       -1,
1456       sizeof(ThresholdParameter),
1457       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ThresholdParameter, _internal_metadata_));
1458   WindowDataParameter_descriptor_ = file->message_type(62);
1459   static const int WindowDataParameter_offsets_[13] = {
1460     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, source_),
1461     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, scale_),
1462     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, mean_file_),
1463     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, batch_size_),
1464     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, crop_size_),
1465     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, mirror_),
1466     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, fg_threshold_),
1467     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, bg_threshold_),
1468     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, fg_fraction_),
1469     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, context_pad_),
1470     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, crop_mode_),
1471     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, cache_images_),
1472     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, root_folder_),
1473   };
1474   WindowDataParameter_reflection_ =
1475     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1476       WindowDataParameter_descriptor_,
1477       WindowDataParameter::internal_default_instance(),
1478       WindowDataParameter_offsets_,
1479       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, _has_bits_),
1480       -1,
1481       -1,
1482       sizeof(WindowDataParameter),
1483       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(WindowDataParameter, _internal_metadata_));
1484   SPPParameter_descriptor_ = file->message_type(63);
1485   static const int SPPParameter_offsets_[3] = {
1486     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, pyramid_height_),
1487     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, pool_),
1488     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, engine_),
1489   };
1490   SPPParameter_reflection_ =
1491     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1492       SPPParameter_descriptor_,
1493       SPPParameter::internal_default_instance(),
1494       SPPParameter_offsets_,
1495       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, _has_bits_),
1496       -1,
1497       -1,
1498       sizeof(SPPParameter),
1499       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(SPPParameter, _internal_metadata_));
1500   SPPParameter_PoolMethod_descriptor_ = SPPParameter_descriptor_->enum_type(0);
1501   SPPParameter_Engine_descriptor_ = SPPParameter_descriptor_->enum_type(1);
1502   V1LayerParameter_descriptor_ = file->message_type(64);
1503   static const int V1LayerParameter_offsets_[43] = {
1504     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, bottom_),
1505     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, top_),
1506     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, name_),
1507     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, include_),
1508     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, exclude_),
1509     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, type_),
1510     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, blobs_),
1511     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, param_),
1512     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, blob_share_mode_),
1513     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, blobs_lr_),
1514     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, weight_decay_),
1515     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, loss_weight_),
1516     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, accuracy_param_),
1517     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, argmax_param_),
1518     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, concat_param_),
1519     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, contrastive_loss_param_),
1520     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, convolution_param_),
1521     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, data_param_),
1522     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, dropout_param_),
1523     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, dummy_data_param_),
1524     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, eltwise_param_),
1525     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, exp_param_),
1526     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, hdf5_data_param_),
1527     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, hdf5_output_param_),
1528     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, hinge_loss_param_),
1529     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, image_data_param_),
1530     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, infogain_loss_param_),
1531     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, inner_product_param_),
1532     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, lrn_param_),
1533     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, memory_data_param_),
1534     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, mvn_param_),
1535     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, pooling_param_),
1536     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, power_param_),
1537     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, relu_param_),
1538     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, sigmoid_param_),
1539     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, softmax_param_),
1540     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, slice_param_),
1541     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, tanh_param_),
1542     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, threshold_param_),
1543     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, window_data_param_),
1544     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, transform_param_),
1545     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, loss_param_),
1546     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, layer_),
1547   };
1548   V1LayerParameter_reflection_ =
1549     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1550       V1LayerParameter_descriptor_,
1551       V1LayerParameter::internal_default_instance(),
1552       V1LayerParameter_offsets_,
1553       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, _has_bits_),
1554       -1,
1555       -1,
1556       sizeof(V1LayerParameter),
1557       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V1LayerParameter, _internal_metadata_));
1558   V1LayerParameter_LayerType_descriptor_ = V1LayerParameter_descriptor_->enum_type(0);
1559   V1LayerParameter_DimCheckMode_descriptor_ = V1LayerParameter_descriptor_->enum_type(1);
1560   V0LayerParameter_descriptor_ = file->message_type(65);
1561   static const int V0LayerParameter_offsets_[38] = {
1562     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, name_),
1563     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, type_),
1564     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, num_output_),
1565     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, biasterm_),
1566     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, weight_filler_),
1567     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, bias_filler_),
1568     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, pad_),
1569     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, kernelsize_),
1570     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, group_),
1571     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, stride_),
1572     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, pool_),
1573     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, dropout_ratio_),
1574     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, local_size_),
1575     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, alpha_),
1576     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, beta_),
1577     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, k_),
1578     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, source_),
1579     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, scale_),
1580     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, meanfile_),
1581     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, batchsize_),
1582     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, cropsize_),
1583     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, mirror_),
1584     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, blobs_),
1585     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, blobs_lr_),
1586     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, weight_decay_),
1587     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, rand_skip_),
1588     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_fg_threshold_),
1589     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_bg_threshold_),
1590     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_fg_fraction_),
1591     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_context_pad_),
1592     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, det_crop_mode_),
1593     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_num_),
1594     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_channels_),
1595     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_height_),
1596     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, new_width_),
1597     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, shuffle_images_),
1598     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, concat_dim_),
1599     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, hdf5_output_param_),
1600   };
1601   V0LayerParameter_reflection_ =
1602     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1603       V0LayerParameter_descriptor_,
1604       V0LayerParameter::internal_default_instance(),
1605       V0LayerParameter_offsets_,
1606       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, _has_bits_),
1607       -1,
1608       -1,
1609       sizeof(V0LayerParameter),
1610       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(V0LayerParameter, _internal_metadata_));
1611   V0LayerParameter_PoolMethod_descriptor_ = V0LayerParameter_descriptor_->enum_type(0);
1612   PReLUParameter_descriptor_ = file->message_type(66);
1613   static const int PReLUParameter_offsets_[2] = {
1614     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, filler_),
1615     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, channel_shared_),
1616   };
1617   PReLUParameter_reflection_ =
1618     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1619       PReLUParameter_descriptor_,
1620       PReLUParameter::internal_default_instance(),
1621       PReLUParameter_offsets_,
1622       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, _has_bits_),
1623       -1,
1624       -1,
1625       sizeof(PReLUParameter),
1626       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(PReLUParameter, _internal_metadata_));
1627   NormalizedBBox_descriptor_ = file->message_type(67);
1628   static const int NormalizedBBox_offsets_[8] = {
1629     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, xmin_),
1630     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, ymin_),
1631     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, xmax_),
1632     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, ymax_),
1633     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, label_),
1634     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, difficult_),
1635     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, score_),
1636     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, size_),
1637   };
1638   NormalizedBBox_reflection_ =
1639     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1640       NormalizedBBox_descriptor_,
1641       NormalizedBBox::internal_default_instance(),
1642       NormalizedBBox_offsets_,
1643       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, _has_bits_),
1644       -1,
1645       -1,
1646       sizeof(NormalizedBBox),
1647       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(NormalizedBBox, _internal_metadata_));
1648   ROIPoolingParameter_descriptor_ = file->message_type(68);
1649   static const int ROIPoolingParameter_offsets_[3] = {
1650     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, pooled_h_),
1651     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, pooled_w_),
1652     GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, spatial_scale_),
1653   };
1654   ROIPoolingParameter_reflection_ =
1655     ::google::protobuf::internal::GeneratedMessageReflection::NewGeneratedMessageReflection(
1656       ROIPoolingParameter_descriptor_,
1657       ROIPoolingParameter::internal_default_instance(),
1658       ROIPoolingParameter_offsets_,
1659       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, _has_bits_),
1660       -1,
1661       -1,
1662       sizeof(ROIPoolingParameter),
1663       GOOGLE_PROTOBUF_GENERATED_MESSAGE_FIELD_OFFSET(ROIPoolingParameter, _internal_metadata_));
1664   Type_descriptor_ = file->enum_type(0);
1665   Phase_descriptor_ = file->enum_type(1);
1666 }
1667
1668 namespace {
1669
1670 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AssignDescriptors_once_);
1671 void protobuf_AssignDescriptorsOnce() {
1672   ::google::protobuf::GoogleOnceInit(&protobuf_AssignDescriptors_once_,
1673                  &protobuf_AssignDesc_opencv_2dcaffe_2eproto);
1674 }
1675
1676 void protobuf_RegisterTypes(const ::std::string&) GOOGLE_ATTRIBUTE_COLD;
1677 void protobuf_RegisterTypes(const ::std::string&) {
1678   protobuf_AssignDescriptorsOnce();
1679   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1680       BlobShape_descriptor_, BlobShape::internal_default_instance());
1681   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1682       BlobProto_descriptor_, BlobProto::internal_default_instance());
1683   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1684       BlobProtoVector_descriptor_, BlobProtoVector::internal_default_instance());
1685   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1686       PermuteParameter_descriptor_, PermuteParameter::internal_default_instance());
1687   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1688       NormalizeBBoxParameter_descriptor_, NormalizeBBoxParameter::internal_default_instance());
1689   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1690       PriorBoxParameter_descriptor_, PriorBoxParameter::internal_default_instance());
1691   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1692       DetectionOutputParameter_descriptor_, DetectionOutputParameter::internal_default_instance());
1693   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1694       Datum_descriptor_, Datum::internal_default_instance());
1695   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1696       FillerParameter_descriptor_, FillerParameter::internal_default_instance());
1697   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1698       NetParameter_descriptor_, NetParameter::internal_default_instance());
1699   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1700       SolverParameter_descriptor_, SolverParameter::internal_default_instance());
1701   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1702       SolverState_descriptor_, SolverState::internal_default_instance());
1703   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1704       NetState_descriptor_, NetState::internal_default_instance());
1705   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1706       NetStateRule_descriptor_, NetStateRule::internal_default_instance());
1707   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1708       ParamSpec_descriptor_, ParamSpec::internal_default_instance());
1709   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1710       LayerParameter_descriptor_, LayerParameter::internal_default_instance());
1711   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1712       TransformationParameter_descriptor_, TransformationParameter::internal_default_instance());
1713   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1714       LossParameter_descriptor_, LossParameter::internal_default_instance());
1715   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1716       AccuracyParameter_descriptor_, AccuracyParameter::internal_default_instance());
1717   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1718       ArgMaxParameter_descriptor_, ArgMaxParameter::internal_default_instance());
1719   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1720       ConcatParameter_descriptor_, ConcatParameter::internal_default_instance());
1721   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1722       BatchNormParameter_descriptor_, BatchNormParameter::internal_default_instance());
1723   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1724       BiasParameter_descriptor_, BiasParameter::internal_default_instance());
1725   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1726       ContrastiveLossParameter_descriptor_, ContrastiveLossParameter::internal_default_instance());
1727   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1728       ConvolutionParameter_descriptor_, ConvolutionParameter::internal_default_instance());
1729   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1730       CropParameter_descriptor_, CropParameter::internal_default_instance());
1731   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1732       DataParameter_descriptor_, DataParameter::internal_default_instance());
1733   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1734       NonMaximumSuppressionParameter_descriptor_, NonMaximumSuppressionParameter::internal_default_instance());
1735   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1736       SaveOutputParameter_descriptor_, SaveOutputParameter::internal_default_instance());
1737   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1738       DropoutParameter_descriptor_, DropoutParameter::internal_default_instance());
1739   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1740       DummyDataParameter_descriptor_, DummyDataParameter::internal_default_instance());
1741   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1742       EltwiseParameter_descriptor_, EltwiseParameter::internal_default_instance());
1743   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1744       ELUParameter_descriptor_, ELUParameter::internal_default_instance());
1745   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1746       EmbedParameter_descriptor_, EmbedParameter::internal_default_instance());
1747   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1748       ExpParameter_descriptor_, ExpParameter::internal_default_instance());
1749   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1750       FlattenParameter_descriptor_, FlattenParameter::internal_default_instance());
1751   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1752       HDF5DataParameter_descriptor_, HDF5DataParameter::internal_default_instance());
1753   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1754       HDF5OutputParameter_descriptor_, HDF5OutputParameter::internal_default_instance());
1755   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1756       HingeLossParameter_descriptor_, HingeLossParameter::internal_default_instance());
1757   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1758       ImageDataParameter_descriptor_, ImageDataParameter::internal_default_instance());
1759   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1760       InfogainLossParameter_descriptor_, InfogainLossParameter::internal_default_instance());
1761   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1762       InnerProductParameter_descriptor_, InnerProductParameter::internal_default_instance());
1763   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1764       InputParameter_descriptor_, InputParameter::internal_default_instance());
1765   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1766       LogParameter_descriptor_, LogParameter::internal_default_instance());
1767   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1768       LRNParameter_descriptor_, LRNParameter::internal_default_instance());
1769   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1770       MemoryDataParameter_descriptor_, MemoryDataParameter::internal_default_instance());
1771   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1772       MVNParameter_descriptor_, MVNParameter::internal_default_instance());
1773   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1774       ParameterParameter_descriptor_, ParameterParameter::internal_default_instance());
1775   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1776       PoolingParameter_descriptor_, PoolingParameter::internal_default_instance());
1777   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1778       PowerParameter_descriptor_, PowerParameter::internal_default_instance());
1779   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1780       PythonParameter_descriptor_, PythonParameter::internal_default_instance());
1781   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1782       RecurrentParameter_descriptor_, RecurrentParameter::internal_default_instance());
1783   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1784       ReductionParameter_descriptor_, ReductionParameter::internal_default_instance());
1785   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1786       ReLUParameter_descriptor_, ReLUParameter::internal_default_instance());
1787   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1788       ReshapeParameter_descriptor_, ReshapeParameter::internal_default_instance());
1789   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1790       ScaleParameter_descriptor_, ScaleParameter::internal_default_instance());
1791   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1792       SigmoidParameter_descriptor_, SigmoidParameter::internal_default_instance());
1793   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1794       SliceParameter_descriptor_, SliceParameter::internal_default_instance());
1795   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1796       SoftmaxParameter_descriptor_, SoftmaxParameter::internal_default_instance());
1797   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1798       TanHParameter_descriptor_, TanHParameter::internal_default_instance());
1799   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1800       TileParameter_descriptor_, TileParameter::internal_default_instance());
1801   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1802       ThresholdParameter_descriptor_, ThresholdParameter::internal_default_instance());
1803   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1804       WindowDataParameter_descriptor_, WindowDataParameter::internal_default_instance());
1805   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1806       SPPParameter_descriptor_, SPPParameter::internal_default_instance());
1807   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1808       V1LayerParameter_descriptor_, V1LayerParameter::internal_default_instance());
1809   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1810       V0LayerParameter_descriptor_, V0LayerParameter::internal_default_instance());
1811   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1812       PReLUParameter_descriptor_, PReLUParameter::internal_default_instance());
1813   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1814       NormalizedBBox_descriptor_, NormalizedBBox::internal_default_instance());
1815   ::google::protobuf::MessageFactory::InternalRegisterGeneratedMessage(
1816       ROIPoolingParameter_descriptor_, ROIPoolingParameter::internal_default_instance());
1817 }
1818
1819 }  // namespace
1820
1821 void protobuf_ShutdownFile_opencv_2dcaffe_2eproto() {
1822   BlobShape_default_instance_.Shutdown();
1823   delete BlobShape_reflection_;
1824   BlobProto_default_instance_.Shutdown();
1825   delete BlobProto_reflection_;
1826   BlobProtoVector_default_instance_.Shutdown();
1827   delete BlobProtoVector_reflection_;
1828   PermuteParameter_default_instance_.Shutdown();
1829   delete PermuteParameter_reflection_;
1830   NormalizeBBoxParameter_default_instance_.Shutdown();
1831   delete NormalizeBBoxParameter_reflection_;
1832   PriorBoxParameter_default_instance_.Shutdown();
1833   delete PriorBoxParameter_reflection_;
1834   DetectionOutputParameter_default_instance_.Shutdown();
1835   delete DetectionOutputParameter_reflection_;
1836   Datum_default_instance_.Shutdown();
1837   delete Datum_reflection_;
1838   FillerParameter_default_instance_.Shutdown();
1839   delete FillerParameter_reflection_;
1840   delete FillerParameter::_default_type_;
1841   NetParameter_default_instance_.Shutdown();
1842   delete NetParameter_reflection_;
1843   SolverParameter_default_instance_.Shutdown();
1844   delete SolverParameter_reflection_;
1845   delete SolverParameter::_default_regularization_type_;
1846   delete SolverParameter::_default_type_;
1847   SolverState_default_instance_.Shutdown();
1848   delete SolverState_reflection_;
1849   NetState_default_instance_.Shutdown();
1850   delete NetState_reflection_;
1851   NetStateRule_default_instance_.Shutdown();
1852   delete NetStateRule_reflection_;
1853   ParamSpec_default_instance_.Shutdown();
1854   delete ParamSpec_reflection_;
1855   LayerParameter_default_instance_.Shutdown();
1856   delete LayerParameter_reflection_;
1857   TransformationParameter_default_instance_.Shutdown();
1858   delete TransformationParameter_reflection_;
1859   LossParameter_default_instance_.Shutdown();
1860   delete LossParameter_reflection_;
1861   AccuracyParameter_default_instance_.Shutdown();
1862   delete AccuracyParameter_reflection_;
1863   ArgMaxParameter_default_instance_.Shutdown();
1864   delete ArgMaxParameter_reflection_;
1865   ConcatParameter_default_instance_.Shutdown();
1866   delete ConcatParameter_reflection_;
1867   BatchNormParameter_default_instance_.Shutdown();
1868   delete BatchNormParameter_reflection_;
1869   BiasParameter_default_instance_.Shutdown();
1870   delete BiasParameter_reflection_;
1871   ContrastiveLossParameter_default_instance_.Shutdown();
1872   delete ContrastiveLossParameter_reflection_;
1873   ConvolutionParameter_default_instance_.Shutdown();
1874   delete ConvolutionParameter_reflection_;
1875   CropParameter_default_instance_.Shutdown();
1876   delete CropParameter_reflection_;
1877   DataParameter_default_instance_.Shutdown();
1878   delete DataParameter_reflection_;
1879   NonMaximumSuppressionParameter_default_instance_.Shutdown();
1880   delete NonMaximumSuppressionParameter_reflection_;
1881   SaveOutputParameter_default_instance_.Shutdown();
1882   delete SaveOutputParameter_reflection_;
1883   DropoutParameter_default_instance_.Shutdown();
1884   delete DropoutParameter_reflection_;
1885   DummyDataParameter_default_instance_.Shutdown();
1886   delete DummyDataParameter_reflection_;
1887   EltwiseParameter_default_instance_.Shutdown();
1888   delete EltwiseParameter_reflection_;
1889   ELUParameter_default_instance_.Shutdown();
1890   delete ELUParameter_reflection_;
1891   EmbedParameter_default_instance_.Shutdown();
1892   delete EmbedParameter_reflection_;
1893   ExpParameter_default_instance_.Shutdown();
1894   delete ExpParameter_reflection_;
1895   FlattenParameter_default_instance_.Shutdown();
1896   delete FlattenParameter_reflection_;
1897   HDF5DataParameter_default_instance_.Shutdown();
1898   delete HDF5DataParameter_reflection_;
1899   HDF5OutputParameter_default_instance_.Shutdown();
1900   delete HDF5OutputParameter_reflection_;
1901   HingeLossParameter_default_instance_.Shutdown();
1902   delete HingeLossParameter_reflection_;
1903   ImageDataParameter_default_instance_.Shutdown();
1904   delete ImageDataParameter_reflection_;
1905   InfogainLossParameter_default_instance_.Shutdown();
1906   delete InfogainLossParameter_reflection_;
1907   InnerProductParameter_default_instance_.Shutdown();
1908   delete InnerProductParameter_reflection_;
1909   InputParameter_default_instance_.Shutdown();
1910   delete InputParameter_reflection_;
1911   LogParameter_default_instance_.Shutdown();
1912   delete LogParameter_reflection_;
1913   LRNParameter_default_instance_.Shutdown();
1914   delete LRNParameter_reflection_;
1915   MemoryDataParameter_default_instance_.Shutdown();
1916   delete MemoryDataParameter_reflection_;
1917   MVNParameter_default_instance_.Shutdown();
1918   delete MVNParameter_reflection_;
1919   ParameterParameter_default_instance_.Shutdown();
1920   delete ParameterParameter_reflection_;
1921   PoolingParameter_default_instance_.Shutdown();
1922   delete PoolingParameter_reflection_;
1923   PowerParameter_default_instance_.Shutdown();
1924   delete PowerParameter_reflection_;
1925   PythonParameter_default_instance_.Shutdown();
1926   delete PythonParameter_reflection_;
1927   RecurrentParameter_default_instance_.Shutdown();
1928   delete RecurrentParameter_reflection_;
1929   ReductionParameter_default_instance_.Shutdown();
1930   delete ReductionParameter_reflection_;
1931   ReLUParameter_default_instance_.Shutdown();
1932   delete ReLUParameter_reflection_;
1933   ReshapeParameter_default_instance_.Shutdown();
1934   delete ReshapeParameter_reflection_;
1935   ScaleParameter_default_instance_.Shutdown();
1936   delete ScaleParameter_reflection_;
1937   SigmoidParameter_default_instance_.Shutdown();
1938   delete SigmoidParameter_reflection_;
1939   SliceParameter_default_instance_.Shutdown();
1940   delete SliceParameter_reflection_;
1941   SoftmaxParameter_default_instance_.Shutdown();
1942   delete SoftmaxParameter_reflection_;
1943   TanHParameter_default_instance_.Shutdown();
1944   delete TanHParameter_reflection_;
1945   TileParameter_default_instance_.Shutdown();
1946   delete TileParameter_reflection_;
1947   ThresholdParameter_default_instance_.Shutdown();
1948   delete ThresholdParameter_reflection_;
1949   WindowDataParameter_default_instance_.Shutdown();
1950   delete WindowDataParameter_reflection_;
1951   delete WindowDataParameter::_default_crop_mode_;
1952   SPPParameter_default_instance_.Shutdown();
1953   delete SPPParameter_reflection_;
1954   V1LayerParameter_default_instance_.Shutdown();
1955   delete V1LayerParameter_reflection_;
1956   V0LayerParameter_default_instance_.Shutdown();
1957   delete V0LayerParameter_reflection_;
1958   delete V0LayerParameter::_default_det_crop_mode_;
1959   PReLUParameter_default_instance_.Shutdown();
1960   delete PReLUParameter_reflection_;
1961   NormalizedBBox_default_instance_.Shutdown();
1962   delete NormalizedBBox_reflection_;
1963   ROIPoolingParameter_default_instance_.Shutdown();
1964   delete ROIPoolingParameter_reflection_;
1965 }
1966
1967 void protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl() {
1968   GOOGLE_PROTOBUF_VERIFY_VERSION;
1969
1970   BlobShape_default_instance_.DefaultConstruct();
1971   ::google::protobuf::internal::GetEmptyString();
1972   BlobProto_default_instance_.DefaultConstruct();
1973   BlobProtoVector_default_instance_.DefaultConstruct();
1974   PermuteParameter_default_instance_.DefaultConstruct();
1975   NormalizeBBoxParameter_default_instance_.DefaultConstruct();
1976   PriorBoxParameter_default_instance_.DefaultConstruct();
1977   DetectionOutputParameter_default_instance_.DefaultConstruct();
1978   ::google::protobuf::internal::GetEmptyString();
1979   Datum_default_instance_.DefaultConstruct();
1980   ::google::protobuf::internal::GetEmptyString();
1981   FillerParameter::_default_type_ =
1982       new ::std::string("constant", 8);
1983   FillerParameter_default_instance_.DefaultConstruct();
1984   ::google::protobuf::internal::GetEmptyString();
1985   NetParameter_default_instance_.DefaultConstruct();
1986   ::google::protobuf::internal::GetEmptyString();
1987   SolverParameter::_default_regularization_type_ =
1988       new ::std::string("L2", 2);
1989   SolverParameter::_default_type_ =
1990       new ::std::string("SGD", 3);
1991   SolverParameter_default_instance_.DefaultConstruct();
1992   ::google::protobuf::internal::GetEmptyString();
1993   SolverState_default_instance_.DefaultConstruct();
1994   ::google::protobuf::internal::GetEmptyString();
1995   NetState_default_instance_.DefaultConstruct();
1996   ::google::protobuf::internal::GetEmptyString();
1997   NetStateRule_default_instance_.DefaultConstruct();
1998   ::google::protobuf::internal::GetEmptyString();
1999   ParamSpec_default_instance_.DefaultConstruct();
2000   ::google::protobuf::internal::GetEmptyString();
2001   LayerParameter_default_instance_.DefaultConstruct();
2002   ::google::protobuf::internal::GetEmptyString();
2003   TransformationParameter_default_instance_.DefaultConstruct();
2004   LossParameter_default_instance_.DefaultConstruct();
2005   AccuracyParameter_default_instance_.DefaultConstruct();
2006   ArgMaxParameter_default_instance_.DefaultConstruct();
2007   ConcatParameter_default_instance_.DefaultConstruct();
2008   BatchNormParameter_default_instance_.DefaultConstruct();
2009   BiasParameter_default_instance_.DefaultConstruct();
2010   ContrastiveLossParameter_default_instance_.DefaultConstruct();
2011   ConvolutionParameter_default_instance_.DefaultConstruct();
2012   CropParameter_default_instance_.DefaultConstruct();
2013   ::google::protobuf::internal::GetEmptyString();
2014   DataParameter_default_instance_.DefaultConstruct();
2015   NonMaximumSuppressionParameter_default_instance_.DefaultConstruct();
2016   ::google::protobuf::internal::GetEmptyString();
2017   SaveOutputParameter_default_instance_.DefaultConstruct();
2018   DropoutParameter_default_instance_.DefaultConstruct();
2019   DummyDataParameter_default_instance_.DefaultConstruct();
2020   EltwiseParameter_default_instance_.DefaultConstruct();
2021   ELUParameter_default_instance_.DefaultConstruct();
2022   EmbedParameter_default_instance_.DefaultConstruct();
2023   ExpParameter_default_instance_.DefaultConstruct();
2024   FlattenParameter_default_instance_.DefaultConstruct();
2025   ::google::protobuf::internal::GetEmptyString();
2026   HDF5DataParameter_default_instance_.DefaultConstruct();
2027   ::google::protobuf::internal::GetEmptyString();
2028   HDF5OutputParameter_default_instance_.DefaultConstruct();
2029   HingeLossParameter_default_instance_.DefaultConstruct();
2030   ::google::protobuf::internal::GetEmptyString();
2031   ImageDataParameter_default_instance_.DefaultConstruct();
2032   ::google::protobuf::internal::GetEmptyString();
2033   InfogainLossParameter_default_instance_.DefaultConstruct();
2034   InnerProductParameter_default_instance_.DefaultConstruct();
2035   InputParameter_default_instance_.DefaultConstruct();
2036   LogParameter_default_instance_.DefaultConstruct();
2037   LRNParameter_default_instance_.DefaultConstruct();
2038   MemoryDataParameter_default_instance_.DefaultConstruct();
2039   MVNParameter_default_instance_.DefaultConstruct();
2040   ParameterParameter_default_instance_.DefaultConstruct();
2041   PoolingParameter_default_instance_.DefaultConstruct();
2042   PowerParameter_default_instance_.DefaultConstruct();
2043   ::google::protobuf::internal::GetEmptyString();
2044   PythonParameter_default_instance_.DefaultConstruct();
2045   RecurrentParameter_default_instance_.DefaultConstruct();
2046   ReductionParameter_default_instance_.DefaultConstruct();
2047   ReLUParameter_default_instance_.DefaultConstruct();
2048   ReshapeParameter_default_instance_.DefaultConstruct();
2049   ScaleParameter_default_instance_.DefaultConstruct();
2050   SigmoidParameter_default_instance_.DefaultConstruct();
2051   SliceParameter_default_instance_.DefaultConstruct();
2052   SoftmaxParameter_default_instance_.DefaultConstruct();
2053   TanHParameter_default_instance_.DefaultConstruct();
2054   TileParameter_default_instance_.DefaultConstruct();
2055   ThresholdParameter_default_instance_.DefaultConstruct();
2056   ::google::protobuf::internal::GetEmptyString();
2057   WindowDataParameter::_default_crop_mode_ =
2058       new ::std::string("warp", 4);
2059   WindowDataParameter_default_instance_.DefaultConstruct();
2060   SPPParameter_default_instance_.DefaultConstruct();
2061   ::google::protobuf::internal::GetEmptyString();
2062   V1LayerParameter_default_instance_.DefaultConstruct();
2063   ::google::protobuf::internal::GetEmptyString();
2064   V0LayerParameter::_default_det_crop_mode_ =
2065       new ::std::string("warp", 4);
2066   V0LayerParameter_default_instance_.DefaultConstruct();
2067   PReLUParameter_default_instance_.DefaultConstruct();
2068   NormalizedBBox_default_instance_.DefaultConstruct();
2069   ROIPoolingParameter_default_instance_.DefaultConstruct();
2070   BlobShape_default_instance_.get_mutable()->InitAsDefaultInstance();
2071   BlobProto_default_instance_.get_mutable()->InitAsDefaultInstance();
2072   BlobProtoVector_default_instance_.get_mutable()->InitAsDefaultInstance();
2073   PermuteParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2074   NormalizeBBoxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2075   PriorBoxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2076   DetectionOutputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2077   Datum_default_instance_.get_mutable()->InitAsDefaultInstance();
2078   FillerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2079   NetParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2080   SolverParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2081   SolverState_default_instance_.get_mutable()->InitAsDefaultInstance();
2082   NetState_default_instance_.get_mutable()->InitAsDefaultInstance();
2083   NetStateRule_default_instance_.get_mutable()->InitAsDefaultInstance();
2084   ParamSpec_default_instance_.get_mutable()->InitAsDefaultInstance();
2085   LayerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2086   TransformationParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2087   LossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2088   AccuracyParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2089   ArgMaxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2090   ConcatParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2091   BatchNormParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2092   BiasParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2093   ContrastiveLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2094   ConvolutionParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2095   CropParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2096   DataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2097   NonMaximumSuppressionParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2098   SaveOutputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2099   DropoutParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2100   DummyDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2101   EltwiseParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2102   ELUParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2103   EmbedParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2104   ExpParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2105   FlattenParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2106   HDF5DataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2107   HDF5OutputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2108   HingeLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2109   ImageDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2110   InfogainLossParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2111   InnerProductParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2112   InputParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2113   LogParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2114   LRNParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2115   MemoryDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2116   MVNParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2117   ParameterParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2118   PoolingParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2119   PowerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2120   PythonParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2121   RecurrentParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2122   ReductionParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2123   ReLUParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2124   ReshapeParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2125   ScaleParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2126   SigmoidParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2127   SliceParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2128   SoftmaxParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2129   TanHParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2130   TileParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2131   ThresholdParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2132   WindowDataParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2133   SPPParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2134   V1LayerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2135   V0LayerParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2136   PReLUParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2137   NormalizedBBox_default_instance_.get_mutable()->InitAsDefaultInstance();
2138   ROIPoolingParameter_default_instance_.get_mutable()->InitAsDefaultInstance();
2139 }
2140
2141 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_InitDefaults_opencv_2dcaffe_2eproto_once_);
2142 void protobuf_InitDefaults_opencv_2dcaffe_2eproto() {
2143   ::google::protobuf::GoogleOnceInit(&protobuf_InitDefaults_opencv_2dcaffe_2eproto_once_,
2144                  &protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl);
2145 }
2146 void protobuf_AddDesc_opencv_2dcaffe_2eproto_impl() {
2147   GOOGLE_PROTOBUF_VERIFY_VERSION;
2148
2149   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
2150   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
2151     "\n\022opencv-caffe.proto\022\014opencv_caffe\"\034\n\tBl"
2152     "obShape\022\017\n\003dim\030\001 \003(\003B\002\020\001\"\224\002\n\tBlobProto\022&"
2153     "\n\005shape\030\007 \001(\0132\027.opencv_caffe.BlobShape\022\020"
2154     "\n\004data\030\005 \003(\002B\002\020\001\022\020\n\004diff\030\006 \003(\002B\002\020\001\022\027\n\013do"
2155     "uble_data\030\010 \003(\001B\002\020\001\022\027\n\013double_diff\030\t \003(\001"
2156     "B\002\020\001\022)\n\rraw_data_type\030\n \001(\0162\022.opencv_caf"
2157     "fe.Type\022\024\n\010raw_data\030\014 \001(\014B\002\020\000\022\016\n\003num\030\001 \001"
2158     "(\005:\0010\022\023\n\010channels\030\002 \001(\005:\0010\022\021\n\006height\030\003 \001"
2159     "(\005:\0010\022\020\n\005width\030\004 \001(\005:\0010\"9\n\017BlobProtoVect"
2160     "or\022&\n\005blobs\030\001 \003(\0132\027.opencv_caffe.BlobPro"
2161     "to\"!\n\020PermuteParameter\022\r\n\005order\030\001 \003(\r\"\235\001"
2162     "\n\026NormalizeBBoxParameter\022\034\n\016across_spati"
2163     "al\030\001 \001(\010:\004true\0223\n\014scale_filler\030\002 \001(\0132\035.o"
2164     "pencv_caffe.FillerParameter\022\034\n\016channel_s"
2165     "hared\030\003 \001(\010:\004true\022\022\n\003eps\030\004 \001(\002:\0051e-10\"\346\002"
2166     "\n\021PriorBoxParameter\022\020\n\010min_size\030\001 \001(\002\022\020\n"
2167     "\010max_size\030\002 \001(\002\022\024\n\014aspect_ratio\030\003 \003(\002\022\022\n"
2168     "\004flip\030\004 \001(\010:\004true\022\022\n\004clip\030\005 \001(\010:\004true\022\020\n"
2169     "\010variance\030\006 \003(\002\022\020\n\010img_size\030\007 \001(\r\022\r\n\005img"
2170     "_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"
2171     "\006step_h\030\013 \001(\002\022\016\n\006step_w\030\014 \001(\002\022\023\n\006offset\030"
2172     "\r \001(\002:\0030.5\022\020\n\010offset_h\030\016 \003(\002\022\020\n\010offset_w"
2173     "\030\017 \003(\002\022\r\n\005width\030\020 \003(\002\022\016\n\006height\030\021 \003(\002\"\'\n"
2174     "\010CodeType\022\n\n\006CORNER\020\001\022\017\n\013CENTER_SIZE\020\002\"\222"
2175     "\003\n\030DetectionOutputParameter\022\023\n\013num_class"
2176     "es\030\001 \001(\r\022\034\n\016share_location\030\002 \001(\010:\004true\022\036"
2177     "\n\023background_label_id\030\003 \001(\005:\0010\022\?\n\tnms_pa"
2178     "ram\030\004 \001(\0132,.opencv_caffe.NonMaximumSuppr"
2179     "essionParameter\022<\n\021save_output_param\030\005 \001"
2180     "(\0132!.opencv_caffe.SaveOutputParameter\022C\n"
2181     "\tcode_type\030\006 \001(\0162(.opencv_caffe.PriorBox"
2182     "Parameter.CodeType:\006CORNER\022)\n\032variance_e"
2183     "ncoded_in_target\030\010 \001(\010:\005false\022\026\n\nkeep_to"
2184     "p_k\030\007 \001(\005:\002-1\022\034\n\024confidence_threshold\030\t "
2185     "\001(\002\"\201\001\n\005Datum\022\020\n\010channels\030\001 \001(\005\022\016\n\006heigh"
2186     "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"
2187     "label\030\005 \001(\005\022\022\n\nfloat_data\030\006 \003(\002\022\026\n\007encod"
2188     "ed\030\007 \001(\010:\005false\"\221\002\n\017FillerParameter\022\026\n\004t"
2189     "ype\030\001 \001(\t:\010constant\022\020\n\005value\030\002 \001(\002:\0010\022\016\n"
2190     "\003min\030\003 \001(\002:\0010\022\016\n\003max\030\004 \001(\002:\0011\022\017\n\004mean\030\005 "
2191     "\001(\002:\0010\022\016\n\003std\030\006 \001(\002:\0011\022\022\n\006sparse\030\007 \001(\005:\002"
2192     "-1\022I\n\rvariance_norm\030\010 \001(\0162*.opencv_caffe"
2193     ".FillerParameter.VarianceNorm:\006FAN_IN\"4\n"
2194     "\014VarianceNorm\022\n\n\006FAN_IN\020\000\022\013\n\007FAN_OUT\020\001\022\013"
2195     "\n\007AVERAGE\020\002\"\252\002\n\014NetParameter\022\014\n\004name\030\001 \001"
2196     "(\t\022\r\n\005input\030\003 \003(\t\022,\n\013input_shape\030\010 \003(\0132\027"
2197     ".opencv_caffe.BlobShape\022\021\n\tinput_dim\030\004 \003"
2198     "(\005\022\035\n\016force_backward\030\005 \001(\010:\005false\022%\n\005sta"
2199     "te\030\006 \001(\0132\026.opencv_caffe.NetState\022\031\n\ndebu"
2200     "g_info\030\007 \001(\010:\005false\022+\n\005layer\030d \003(\0132\034.ope"
2201     "ncv_caffe.LayerParameter\022.\n\006layers\030\002 \003(\013"
2202     "2\036.opencv_caffe.V1LayerParameter\"\332\n\n\017Sol"
2203     "verParameter\022\013\n\003net\030\030 \001(\t\022-\n\tnet_param\030\031"
2204     " \001(\0132\032.opencv_caffe.NetParameter\022\021\n\ttrai"
2205     "n_net\030\001 \001(\t\022\020\n\010test_net\030\002 \003(\t\0223\n\017train_n"
2206     "et_param\030\025 \001(\0132\032.opencv_caffe.NetParamet"
2207     "er\0222\n\016test_net_param\030\026 \003(\0132\032.opencv_caff"
2208     "e.NetParameter\022+\n\013train_state\030\032 \001(\0132\026.op"
2209     "encv_caffe.NetState\022*\n\ntest_state\030\033 \003(\0132"
2210     "\026.opencv_caffe.NetState\022\021\n\ttest_iter\030\003 \003"
2211     "(\005\022\030\n\rtest_interval\030\004 \001(\005:\0010\022 \n\021test_com"
2212     "pute_loss\030\023 \001(\010:\005false\022!\n\023test_initializ"
2213     "ation\030  \001(\010:\004true\022\017\n\007base_lr\030\005 \001(\002\022\017\n\007di"
2214     "splay\030\006 \001(\005\022\027\n\014average_loss\030! \001(\005:\0011\022\020\n\010"
2215     "max_iter\030\007 \001(\005\022\024\n\titer_size\030$ \001(\005:\0011\022\021\n\t"
2216     "lr_policy\030\010 \001(\t\022\r\n\005gamma\030\t \001(\002\022\r\n\005power\030"
2217     "\n \001(\002\022\020\n\010momentum\030\013 \001(\002\022\024\n\014weight_decay\030"
2218     "\014 \001(\002\022\037\n\023regularization_type\030\035 \001(\t:\002L2\022\020"
2219     "\n\010stepsize\030\r \001(\005\022\021\n\tstepvalue\030\" \003(\005\022\032\n\016c"
2220     "lip_gradients\030# \001(\002:\002-1\022\023\n\010snapshot\030\016 \001("
2221     "\005:\0010\022\027\n\017snapshot_prefix\030\017 \001(\t\022\034\n\rsnapsho"
2222     "t_diff\030\020 \001(\010:\005false\022R\n\017snapshot_format\030%"
2223     " \001(\0162,.opencv_caffe.SolverParameter.Snap"
2224     "shotFormat:\013BINARYPROTO\022B\n\013solver_mode\030\021"
2225     " \001(\0162(.opencv_caffe.SolverParameter.Solv"
2226     "erMode:\003GPU\022\024\n\tdevice_id\030\022 \001(\005:\0010\022\027\n\013ran"
2227     "dom_seed\030\024 \001(\003:\002-1\022\021\n\004type\030( \001(\t:\003SGD\022\024\n"
2228     "\005delta\030\037 \001(\002:\0051e-08\022\030\n\tmomentum2\030\' \001(\002:\005"
2229     "0.999\022\027\n\trms_decay\030& \001(\002:\0040.99\022\031\n\ndebug_"
2230     "info\030\027 \001(\010:\005false\022\"\n\024snapshot_after_trai"
2231     "n\030\034 \001(\010:\004true\022B\n\013solver_type\030\036 \001(\0162(.ope"
2232     "ncv_caffe.SolverParameter.SolverType:\003SG"
2233     "D\"+\n\016SnapshotFormat\022\010\n\004HDF5\020\000\022\017\n\013BINARYP"
2234     "ROTO\020\001\"\036\n\nSolverMode\022\007\n\003CPU\020\000\022\007\n\003GPU\020\001\"U"
2235     "\n\nSolverType\022\007\n\003SGD\020\000\022\014\n\010NESTEROV\020\001\022\013\n\007A"
2236     "DAGRAD\020\002\022\013\n\007RMSPROP\020\003\022\014\n\010ADADELTA\020\004\022\010\n\004A"
2237     "DAM\020\005\"s\n\013SolverState\022\014\n\004iter\030\001 \001(\005\022\023\n\013le"
2238     "arned_net\030\002 \001(\t\022(\n\007history\030\003 \003(\0132\027.openc"
2239     "v_caffe.BlobProto\022\027\n\014current_step\030\004 \001(\005:"
2240     "\0010\"U\n\010NetState\022(\n\005phase\030\001 \001(\0162\023.opencv_c"
2241     "affe.Phase:\004TEST\022\020\n\005level\030\002 \001(\005:\0010\022\r\n\005st"
2242     "age\030\003 \003(\t\"z\n\014NetStateRule\022\"\n\005phase\030\001 \001(\016"
2243     "2\023.opencv_caffe.Phase\022\021\n\tmin_level\030\002 \001(\005"
2244     "\022\021\n\tmax_level\030\003 \001(\005\022\r\n\005stage\030\004 \003(\t\022\021\n\tno"
2245     "t_stage\030\005 \003(\t\"\252\001\n\tParamSpec\022\014\n\004name\030\001 \001("
2246     "\t\0228\n\nshare_mode\030\002 \001(\0162$.opencv_caffe.Par"
2247     "amSpec.DimCheckMode\022\022\n\007lr_mult\030\003 \001(\002:\0011\022"
2248     "\025\n\ndecay_mult\030\004 \001(\002:\0011\"*\n\014DimCheckMode\022\n"
2249     "\n\006STRICT\020\000\022\016\n\nPERMISSIVE\020\001\"\246\031\n\016LayerPara"
2250     "meter\022\014\n\004name\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\016\n\006bot"
2251     "tom\030\003 \003(\t\022\013\n\003top\030\004 \003(\t\022\"\n\005phase\030\n \001(\0162\023."
2252     "opencv_caffe.Phase\022\023\n\013loss_weight\030\005 \003(\002\022"
2253     "&\n\005param\030\006 \003(\0132\027.opencv_caffe.ParamSpec\022"
2254     "&\n\005blobs\030\007 \003(\0132\027.opencv_caffe.BlobProto\022"
2255     "\026\n\016propagate_down\030\013 \003(\010\022+\n\007include\030\010 \003(\013"
2256     "2\032.opencv_caffe.NetStateRule\022+\n\007exclude\030"
2257     "\t \003(\0132\032.opencv_caffe.NetStateRule\022>\n\017tra"
2258     "nsform_param\030d \001(\0132%.opencv_caffe.Transf"
2259     "ormationParameter\022/\n\nloss_param\030e \001(\0132\033."
2260     "opencv_caffe.LossParameter\0227\n\016accuracy_p"
2261     "aram\030f \001(\0132\037.opencv_caffe.AccuracyParame"
2262     "ter\0223\n\014argmax_param\030g \001(\0132\035.opencv_caffe"
2263     ".ArgMaxParameter\022;\n\020batch_norm_param\030\213\001 "
2264     "\001(\0132 .opencv_caffe.BatchNormParameter\0220\n"
2265     "\nbias_param\030\215\001 \001(\0132\033.opencv_caffe.BiasPa"
2266     "rameter\0223\n\014concat_param\030h \001(\0132\035.opencv_c"
2267     "affe.ConcatParameter\022F\n\026contrastive_loss"
2268     "_param\030i \001(\0132&.opencv_caffe.ContrastiveL"
2269     "ossParameter\022=\n\021convolution_param\030j \001(\0132"
2270     "\".opencv_caffe.ConvolutionParameter\0220\n\nc"
2271     "rop_param\030\220\001 \001(\0132\033.opencv_caffe.CropPara"
2272     "meter\022/\n\ndata_param\030k \001(\0132\033.opencv_caffe"
2273     ".DataParameter\022G\n\026detection_output_param"
2274     "\030\223\001 \001(\0132&.opencv_caffe.DetectionOutputPa"
2275     "rameter\0225\n\rdropout_param\030l \001(\0132\036.opencv_"
2276     "caffe.DropoutParameter\022:\n\020dummy_data_par"
2277     "am\030m \001(\0132 .opencv_caffe.DummyDataParamet"
2278     "er\0225\n\reltwise_param\030n \001(\0132\036.opencv_caffe"
2279     ".EltwiseParameter\022.\n\telu_param\030\214\001 \001(\0132\032."
2280     "opencv_caffe.ELUParameter\0222\n\013embed_param"
2281     "\030\211\001 \001(\0132\034.opencv_caffe.EmbedParameter\022-\n"
2282     "\texp_param\030o \001(\0132\032.opencv_caffe.ExpParam"
2283     "eter\0226\n\rflatten_param\030\207\001 \001(\0132\036.opencv_ca"
2284     "ffe.FlattenParameter\0228\n\017hdf5_data_param\030"
2285     "p \001(\0132\037.opencv_caffe.HDF5DataParameter\022<"
2286     "\n\021hdf5_output_param\030q \001(\0132!.opencv_caffe"
2287     ".HDF5OutputParameter\022:\n\020hinge_loss_param"
2288     "\030r \001(\0132 .opencv_caffe.HingeLossParameter"
2289     "\022:\n\020image_data_param\030s \001(\0132 .opencv_caff"
2290     "e.ImageDataParameter\022@\n\023infogain_loss_pa"
2291     "ram\030t \001(\0132#.opencv_caffe.InfogainLossPar"
2292     "ameter\022@\n\023inner_product_param\030u \001(\0132#.op"
2293     "encv_caffe.InnerProductParameter\0222\n\013inpu"
2294     "t_param\030\217\001 \001(\0132\034.opencv_caffe.InputParam"
2295     "eter\022.\n\tlog_param\030\206\001 \001(\0132\032.opencv_caffe."
2296     "LogParameter\022-\n\tlrn_param\030v \001(\0132\032.opencv"
2297     "_caffe.LRNParameter\022<\n\021memory_data_param"
2298     "\030w \001(\0132!.opencv_caffe.MemoryDataParamete"
2299     "r\022-\n\tmvn_param\030x \001(\0132\032.opencv_caffe.MVNP"
2300     "arameter\0229\n\nnorm_param\030\225\001 \001(\0132$.opencv_c"
2301     "affe.NormalizeBBoxParameter\0226\n\rpermute_p"
2302     "aram\030\224\001 \001(\0132\036.opencv_caffe.PermuteParame"
2303     "ter\022:\n\017parameter_param\030\221\001 \001(\0132 .opencv_c"
2304     "affe.ParameterParameter\0225\n\rpooling_param"
2305     "\030y \001(\0132\036.opencv_caffe.PoolingParameter\0221"
2306     "\n\013power_param\030z \001(\0132\034.opencv_caffe.Power"
2307     "Parameter\0222\n\013prelu_param\030\203\001 \001(\0132\034.opencv"
2308     "_caffe.PReLUParameter\0229\n\017prior_box_param"
2309     "\030\226\001 \001(\0132\037.opencv_caffe.PriorBoxParameter"
2310     "\0224\n\014python_param\030\202\001 \001(\0132\035.opencv_caffe.P"
2311     "ythonParameter\022:\n\017recurrent_param\030\222\001 \001(\013"
2312     "2 .opencv_caffe.RecurrentParameter\022:\n\017re"
2313     "duction_param\030\210\001 \001(\0132 .opencv_caffe.Redu"
2314     "ctionParameter\022/\n\nrelu_param\030{ \001(\0132\033.ope"
2315     "ncv_caffe.ReLUParameter\0226\n\rreshape_param"
2316     "\030\205\001 \001(\0132\036.opencv_caffe.ReshapeParameter\022"
2317     "\?\n\021roi_pooling_param\030\327\307\370\003 \001(\0132!.opencv_c"
2318     "affe.ROIPoolingParameter\0222\n\013scale_param\030"
2319     "\216\001 \001(\0132\034.opencv_caffe.ScaleParameter\0225\n\r"
2320     "sigmoid_param\030| \001(\0132\036.opencv_caffe.Sigmo"
2321     "idParameter\0225\n\rsoftmax_param\030} \001(\0132\036.ope"
2322     "ncv_caffe.SoftmaxParameter\022.\n\tspp_param\030"
2323     "\204\001 \001(\0132\032.opencv_caffe.SPPParameter\0221\n\013sl"
2324     "ice_param\030~ \001(\0132\034.opencv_caffe.SlicePara"
2325     "meter\022/\n\ntanh_param\030\177 \001(\0132\033.opencv_caffe"
2326     ".TanHParameter\022:\n\017threshold_param\030\200\001 \001(\013"
2327     "2 .opencv_caffe.ThresholdParameter\0220\n\nti"
2328     "le_param\030\212\001 \001(\0132\033.opencv_caffe.TileParam"
2329     "eter\022=\n\021window_data_param\030\201\001 \001(\0132!.openc"
2330     "v_caffe.WindowDataParameter\"\266\001\n\027Transfor"
2331     "mationParameter\022\020\n\005scale\030\001 \001(\002:\0011\022\025\n\006mir"
2332     "ror\030\002 \001(\010:\005false\022\024\n\tcrop_size\030\003 \001(\r:\0010\022\021"
2333     "\n\tmean_file\030\004 \001(\t\022\022\n\nmean_value\030\005 \003(\002\022\032\n"
2334     "\013force_color\030\006 \001(\010:\005false\022\031\n\nforce_gray\030"
2335     "\007 \001(\010:\005false\"\311\001\n\rLossParameter\022\024\n\014ignore"
2336     "_label\030\001 \001(\005\022K\n\rnormalization\030\003 \001(\0162-.op"
2337     "encv_caffe.LossParameter.NormalizationMo"
2338     "de:\005VALID\022\021\n\tnormalize\030\002 \001(\010\"B\n\021Normaliz"
2339     "ationMode\022\010\n\004FULL\020\000\022\t\n\005VALID\020\001\022\016\n\nBATCH_"
2340     "SIZE\020\002\022\010\n\004NONE\020\003\"L\n\021AccuracyParameter\022\020\n"
2341     "\005top_k\030\001 \001(\r:\0011\022\017\n\004axis\030\002 \001(\005:\0011\022\024\n\014igno"
2342     "re_label\030\003 \001(\005\"M\n\017ArgMaxParameter\022\032\n\013out"
2343     "_max_val\030\001 \001(\010:\005false\022\020\n\005top_k\030\002 \001(\r:\0011\022"
2344     "\014\n\004axis\030\003 \001(\005\"9\n\017ConcatParameter\022\017\n\004axis"
2345     "\030\002 \001(\005:\0011\022\025\n\nconcat_dim\030\001 \001(\r:\0011\"j\n\022Batc"
2346     "hNormParameter\022\030\n\020use_global_stats\030\001 \001(\010"
2347     "\022&\n\027moving_average_fraction\030\002 \001(\002:\0050.999"
2348     "\022\022\n\003eps\030\003 \001(\002:\0051e-05\"d\n\rBiasParameter\022\017\n"
2349     "\004axis\030\001 \001(\005:\0011\022\023\n\010num_axes\030\002 \001(\005:\0011\022-\n\006f"
2350     "iller\030\003 \001(\0132\035.opencv_caffe.FillerParamet"
2351     "er\"L\n\030ContrastiveLossParameter\022\021\n\006margin"
2352     "\030\001 \001(\002:\0011\022\035\n\016legacy_version\030\002 \001(\010:\005false"
2353     "\"\221\004\n\024ConvolutionParameter\022\022\n\nnum_output\030"
2354     "\001 \001(\r\022\027\n\tbias_term\030\002 \001(\010:\004true\022\013\n\003pad\030\003 "
2355     "\003(\r\022\023\n\013kernel_size\030\004 \003(\r\022\016\n\006stride\030\006 \003(\r"
2356     "\022\020\n\010dilation\030\022 \003(\r\022\020\n\005pad_h\030\t \001(\r:\0010\022\020\n\005"
2357     "pad_w\030\n \001(\r:\0010\022\020\n\010kernel_h\030\013 \001(\r\022\020\n\010kern"
2358     "el_w\030\014 \001(\r\022\020\n\010stride_h\030\r \001(\r\022\020\n\010stride_w"
2359     "\030\016 \001(\r\022\020\n\005group\030\005 \001(\r:\0011\0224\n\rweight_fille"
2360     "r\030\007 \001(\0132\035.opencv_caffe.FillerParameter\0222"
2361     "\n\013bias_filler\030\010 \001(\0132\035.opencv_caffe.Fille"
2362     "rParameter\022B\n\006engine\030\017 \001(\0162).opencv_caff"
2363     "e.ConvolutionParameter.Engine:\007DEFAULT\022\017"
2364     "\n\004axis\030\020 \001(\005:\0011\022\036\n\017force_nd_im2col\030\021 \001(\010"
2365     ":\005false\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020"
2366     "\001\022\t\n\005CUDNN\020\002\"0\n\rCropParameter\022\017\n\004axis\030\001 "
2367     "\001(\005:\0012\022\016\n\006offset\030\002 \003(\r\"\253\002\n\rDataParameter"
2368     "\022\016\n\006source\030\001 \001(\t\022\022\n\nbatch_size\030\004 \001(\r\022\024\n\t"
2369     "rand_skip\030\007 \001(\r:\0010\0228\n\007backend\030\010 \001(\0162\036.op"
2370     "encv_caffe.DataParameter.DB:\007LEVELDB\022\020\n\005"
2371     "scale\030\002 \001(\002:\0011\022\021\n\tmean_file\030\003 \001(\t\022\024\n\tcro"
2372     "p_size\030\005 \001(\r:\0010\022\025\n\006mirror\030\006 \001(\010:\005false\022\""
2373     "\n\023force_encoded_color\030\t \001(\010:\005false\022\023\n\010pr"
2374     "efetch\030\n \001(\r:\0014\"\033\n\002DB\022\013\n\007LEVELDB\020\000\022\010\n\004LM"
2375     "DB\020\001\"[\n\036NonMaximumSuppressionParameter\022\032"
2376     "\n\rnms_threshold\030\001 \001(\002:\0030.3\022\r\n\005top_k\030\002 \001("
2377     "\005\022\016\n\003eta\030\003 \001(\002:\0011\"\252\001\n\023SaveOutputParamete"
2378     "r\022\030\n\020output_directory\030\001 \001(\t\022\032\n\022output_na"
2379     "me_prefix\030\002 \001(\t\022\025\n\routput_format\030\003 \001(\t\022\026"
2380     "\n\016label_map_file\030\004 \001(\t\022\026\n\016name_size_file"
2381     "\030\005 \001(\t\022\026\n\016num_test_image\030\006 \001(\r\".\n\020Dropou"
2382     "tParameter\022\032\n\rdropout_ratio\030\001 \001(\002:\0030.5\"\256"
2383     "\001\n\022DummyDataParameter\0222\n\013data_filler\030\001 \003"
2384     "(\0132\035.opencv_caffe.FillerParameter\022&\n\005sha"
2385     "pe\030\006 \003(\0132\027.opencv_caffe.BlobShape\022\013\n\003num"
2386     "\030\002 \003(\r\022\020\n\010channels\030\003 \003(\r\022\016\n\006height\030\004 \003(\r"
2387     "\022\r\n\005width\030\005 \003(\r\"\254\001\n\020EltwiseParameter\022@\n\t"
2388     "operation\030\001 \001(\0162(.opencv_caffe.EltwisePa"
2389     "rameter.EltwiseOp:\003SUM\022\r\n\005coeff\030\002 \003(\002\022\036\n"
2390     "\020stable_prod_grad\030\003 \001(\010:\004true\"\'\n\tEltwise"
2391     "Op\022\010\n\004PROD\020\000\022\007\n\003SUM\020\001\022\007\n\003MAX\020\002\" \n\014ELUPar"
2392     "ameter\022\020\n\005alpha\030\001 \001(\002:\0011\"\272\001\n\016EmbedParame"
2393     "ter\022\022\n\nnum_output\030\001 \001(\r\022\021\n\tinput_dim\030\002 \001"
2394     "(\r\022\027\n\tbias_term\030\003 \001(\010:\004true\0224\n\rweight_fi"
2395     "ller\030\004 \001(\0132\035.opencv_caffe.FillerParamete"
2396     "r\0222\n\013bias_filler\030\005 \001(\0132\035.opencv_caffe.Fi"
2397     "llerParameter\"D\n\014ExpParameter\022\020\n\004base\030\001 "
2398     "\001(\002:\002-1\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift\030\003 \001(\002"
2399     ":\0010\"9\n\020FlattenParameter\022\017\n\004axis\030\001 \001(\005:\0011"
2400     "\022\024\n\010end_axis\030\002 \001(\005:\002-1\"O\n\021HDF5DataParame"
2401     "ter\022\016\n\006source\030\001 \001(\t\022\022\n\nbatch_size\030\002 \001(\r\022"
2402     "\026\n\007shuffle\030\003 \001(\010:\005false\"(\n\023HDF5OutputPar"
2403     "ameter\022\021\n\tfile_name\030\001 \001(\t\"e\n\022HingeLossPa"
2404     "rameter\0227\n\004norm\030\001 \001(\0162%.opencv_caffe.Hin"
2405     "geLossParameter.Norm:\002L1\"\026\n\004Norm\022\006\n\002L1\020\001"
2406     "\022\006\n\002L2\020\002\"\227\002\n\022ImageDataParameter\022\016\n\006sourc"
2407     "e\030\001 \001(\t\022\025\n\nbatch_size\030\004 \001(\r:\0011\022\024\n\trand_s"
2408     "kip\030\007 \001(\r:\0010\022\026\n\007shuffle\030\010 \001(\010:\005false\022\025\n\n"
2409     "new_height\030\t \001(\r:\0010\022\024\n\tnew_width\030\n \001(\r:\001"
2410     "0\022\026\n\010is_color\030\013 \001(\010:\004true\022\020\n\005scale\030\002 \001(\002"
2411     ":\0011\022\021\n\tmean_file\030\003 \001(\t\022\024\n\tcrop_size\030\005 \001("
2412     "\r:\0010\022\025\n\006mirror\030\006 \001(\010:\005false\022\025\n\013root_fold"
2413     "er\030\014 \001(\t:\000\"\'\n\025InfogainLossParameter\022\016\n\006s"
2414     "ource\030\001 \001(\t\"\331\001\n\025InnerProductParameter\022\022\n"
2415     "\nnum_output\030\001 \001(\r\022\027\n\tbias_term\030\002 \001(\010:\004tr"
2416     "ue\0224\n\rweight_filler\030\003 \001(\0132\035.opencv_caffe"
2417     ".FillerParameter\0222\n\013bias_filler\030\004 \001(\0132\035."
2418     "opencv_caffe.FillerParameter\022\017\n\004axis\030\005 \001"
2419     "(\005:\0011\022\030\n\ttranspose\030\006 \001(\010:\005false\"8\n\016Input"
2420     "Parameter\022&\n\005shape\030\001 \003(\0132\027.opencv_caffe."
2421     "BlobShape\"D\n\014LogParameter\022\020\n\004base\030\001 \001(\002:"
2422     "\002-1\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift\030\003 \001(\002:\0010\""
2423     "\306\002\n\014LRNParameter\022\025\n\nlocal_size\030\001 \001(\r:\0015\022"
2424     "\020\n\005alpha\030\002 \001(\002:\0011\022\022\n\004beta\030\003 \001(\002:\0040.75\022K\n"
2425     "\013norm_region\030\004 \001(\0162%.opencv_caffe.LRNPar"
2426     "ameter.NormRegion:\017ACROSS_CHANNELS\022\014\n\001k\030"
2427     "\005 \001(\002:\0011\022:\n\006engine\030\006 \001(\0162!.opencv_caffe."
2428     "LRNParameter.Engine:\007DEFAULT\"5\n\nNormRegi"
2429     "on\022\023\n\017ACROSS_CHANNELS\020\000\022\022\n\016WITHIN_CHANNE"
2430     "L\020\001\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n"
2431     "\005CUDNN\020\002\"Z\n\023MemoryDataParameter\022\022\n\nbatch"
2432     "_size\030\001 \001(\r\022\020\n\010channels\030\002 \001(\r\022\016\n\006height\030"
2433     "\003 \001(\r\022\r\n\005width\030\004 \001(\r\"d\n\014MVNParameter\022 \n\022"
2434     "normalize_variance\030\001 \001(\010:\004true\022\036\n\017across"
2435     "_channels\030\002 \001(\010:\005false\022\022\n\003eps\030\003 \001(\002:\0051e-"
2436     "09\"<\n\022ParameterParameter\022&\n\005shape\030\001 \001(\0132"
2437     "\027.opencv_caffe.BlobShape\"\311\003\n\020PoolingPara"
2438     "meter\022<\n\004pool\030\001 \001(\0162).opencv_caffe.Pooli"
2439     "ngParameter.PoolMethod:\003MAX\022\016\n\003pad\030\004 \001(\r"
2440     ":\0010\022\020\n\005pad_h\030\t \001(\r:\0010\022\020\n\005pad_w\030\n \001(\r:\0010\022"
2441     "\023\n\013kernel_size\030\002 \001(\r\022\020\n\010kernel_h\030\005 \001(\r\022\020"
2442     "\n\010kernel_w\030\006 \001(\r\022\021\n\006stride\030\003 \001(\r:\0011\022\020\n\010s"
2443     "tride_h\030\007 \001(\r\022\020\n\010stride_w\030\010 \001(\r\022>\n\006engin"
2444     "e\030\013 \001(\0162%.opencv_caffe.PoolingParameter."
2445     "Engine:\007DEFAULT\022\035\n\016global_pooling\030\014 \001(\010:"
2446     "\005false\022\027\n\tceil_mode\030\r \001(\010:\004true\".\n\nPoolM"
2447     "ethod\022\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\""
2448     "+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUD"
2449     "NN\020\002\"F\n\016PowerParameter\022\020\n\005power\030\001 \001(\002:\0011"
2450     "\022\020\n\005scale\030\002 \001(\002:\0011\022\020\n\005shift\030\003 \001(\002:\0010\"g\n\017"
2451     "PythonParameter\022\016\n\006module\030\001 \001(\t\022\r\n\005layer"
2452     "\030\002 \001(\t\022\023\n\tparam_str\030\003 \001(\t:\000\022 \n\021share_in_"
2453     "parallel\030\004 \001(\010:\005false\"\316\001\n\022RecurrentParam"
2454     "eter\022\025\n\nnum_output\030\001 \001(\r:\0010\0224\n\rweight_fi"
2455     "ller\030\002 \001(\0132\035.opencv_caffe.FillerParamete"
2456     "r\0222\n\013bias_filler\030\003 \001(\0132\035.opencv_caffe.Fi"
2457     "llerParameter\022\031\n\ndebug_info\030\004 \001(\010:\005false"
2458     "\022\034\n\rexpose_hidden\030\005 \001(\010:\005false\"\264\001\n\022Reduc"
2459     "tionParameter\022D\n\toperation\030\001 \001(\0162,.openc"
2460     "v_caffe.ReductionParameter.ReductionOp:\003"
2461     "SUM\022\017\n\004axis\030\002 \001(\005:\0010\022\020\n\005coeff\030\003 \001(\002:\0011\"5"
2462     "\n\013ReductionOp\022\007\n\003SUM\020\001\022\010\n\004ASUM\020\002\022\t\n\005SUMS"
2463     "Q\020\003\022\010\n\004MEAN\020\004\"\224\001\n\rReLUParameter\022\031\n\016negat"
2464     "ive_slope\030\001 \001(\002:\0010\022;\n\006engine\030\002 \001(\0162\".ope"
2465     "ncv_caffe.ReLUParameter.Engine:\007DEFAULT\""
2466     "+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUD"
2467     "NN\020\002\"a\n\020ReshapeParameter\022&\n\005shape\030\001 \001(\0132"
2468     "\027.opencv_caffe.BlobShape\022\017\n\004axis\030\002 \001(\005:\001"
2469     "0\022\024\n\010num_axes\030\003 \001(\005:\002-1\"\263\001\n\016ScaleParamet"
2470     "er\022\017\n\004axis\030\001 \001(\005:\0011\022\023\n\010num_axes\030\002 \001(\005:\0011"
2471     "\022-\n\006filler\030\003 \001(\0132\035.opencv_caffe.FillerPa"
2472     "rameter\022\030\n\tbias_term\030\004 \001(\010:\005false\0222\n\013bia"
2473     "s_filler\030\005 \001(\0132\035.opencv_caffe.FillerPara"
2474     "meter\"\177\n\020SigmoidParameter\022>\n\006engine\030\001 \001("
2475     "\0162%.opencv_caffe.SigmoidParameter.Engine"
2476     ":\007DEFAULT\"+\n\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFF"
2477     "E\020\001\022\t\n\005CUDNN\020\002\"L\n\016SliceParameter\022\017\n\004axis"
2478     "\030\003 \001(\005:\0011\022\023\n\013slice_point\030\002 \003(\r\022\024\n\tslice_"
2479     "dim\030\001 \001(\r:\0011\"\220\001\n\020SoftmaxParameter\022>\n\006eng"
2480     "ine\030\001 \001(\0162%.opencv_caffe.SoftmaxParamete"
2481     "r.Engine:\007DEFAULT\022\017\n\004axis\030\002 \001(\005:\0011\"+\n\006En"
2482     "gine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\""
2483     "y\n\rTanHParameter\022;\n\006engine\030\001 \001(\0162\".openc"
2484     "v_caffe.TanHParameter.Engine:\007DEFAULT\"+\n"
2485     "\006Engine\022\013\n\007DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN"
2486     "\020\002\"/\n\rTileParameter\022\017\n\004axis\030\001 \001(\005:\0011\022\r\n\005"
2487     "tiles\030\002 \001(\005\"*\n\022ThresholdParameter\022\024\n\tthr"
2488     "eshold\030\001 \001(\002:\0010\"\301\002\n\023WindowDataParameter\022"
2489     "\016\n\006source\030\001 \001(\t\022\020\n\005scale\030\002 \001(\002:\0011\022\021\n\tmea"
2490     "n_file\030\003 \001(\t\022\022\n\nbatch_size\030\004 \001(\r\022\024\n\tcrop"
2491     "_size\030\005 \001(\r:\0010\022\025\n\006mirror\030\006 \001(\010:\005false\022\031\n"
2492     "\014fg_threshold\030\007 \001(\002:\0030.5\022\031\n\014bg_threshold"
2493     "\030\010 \001(\002:\0030.5\022\031\n\013fg_fraction\030\t \001(\002:\0040.25\022\026"
2494     "\n\013context_pad\030\n \001(\r:\0010\022\027\n\tcrop_mode\030\013 \001("
2495     "\t:\004warp\022\033\n\014cache_images\030\014 \001(\010:\005false\022\025\n\013"
2496     "root_folder\030\r \001(\t:\000\"\371\001\n\014SPPParameter\022\026\n\016"
2497     "pyramid_height\030\001 \001(\r\0228\n\004pool\030\002 \001(\0162%.ope"
2498     "ncv_caffe.SPPParameter.PoolMethod:\003MAX\022:"
2499     "\n\006engine\030\006 \001(\0162!.opencv_caffe.SPPParamet"
2500     "er.Engine:\007DEFAULT\".\n\nPoolMethod\022\007\n\003MAX\020"
2501     "\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"+\n\006Engine\022\013\n\007"
2502     "DEFAULT\020\000\022\t\n\005CAFFE\020\001\022\t\n\005CUDNN\020\002\"\334\025\n\020V1La"
2503     "yerParameter\022\016\n\006bottom\030\002 \003(\t\022\013\n\003top\030\003 \003("
2504     "\t\022\014\n\004name\030\004 \001(\t\022+\n\007include\030  \003(\0132\032.openc"
2505     "v_caffe.NetStateRule\022+\n\007exclude\030! \003(\0132\032."
2506     "opencv_caffe.NetStateRule\0226\n\004type\030\005 \001(\0162"
2507     "(.opencv_caffe.V1LayerParameter.LayerTyp"
2508     "e\022&\n\005blobs\030\006 \003(\0132\027.opencv_caffe.BlobProt"
2509     "o\022\016\n\005param\030\351\007 \003(\t\022E\n\017blob_share_mode\030\352\007 "
2510     "\003(\0162+.opencv_caffe.V1LayerParameter.DimC"
2511     "heckMode\022\020\n\010blobs_lr\030\007 \003(\002\022\024\n\014weight_dec"
2512     "ay\030\010 \003(\002\022\023\n\013loss_weight\030# \003(\002\0227\n\016accurac"
2513     "y_param\030\033 \001(\0132\037.opencv_caffe.AccuracyPar"
2514     "ameter\0223\n\014argmax_param\030\027 \001(\0132\035.opencv_ca"
2515     "ffe.ArgMaxParameter\0223\n\014concat_param\030\t \001("
2516     "\0132\035.opencv_caffe.ConcatParameter\022F\n\026cont"
2517     "rastive_loss_param\030( \001(\0132&.opencv_caffe."
2518     "ContrastiveLossParameter\022=\n\021convolution_"
2519     "param\030\n \001(\0132\".opencv_caffe.ConvolutionPa"
2520     "rameter\022/\n\ndata_param\030\013 \001(\0132\033.opencv_caf"
2521     "fe.DataParameter\0225\n\rdropout_param\030\014 \001(\0132"
2522     "\036.opencv_caffe.DropoutParameter\022:\n\020dummy"
2523     "_data_param\030\032 \001(\0132 .opencv_caffe.DummyDa"
2524     "taParameter\0225\n\reltwise_param\030\030 \001(\0132\036.ope"
2525     "ncv_caffe.EltwiseParameter\022-\n\texp_param\030"
2526     ") \001(\0132\032.opencv_caffe.ExpParameter\0228\n\017hdf"
2527     "5_data_param\030\r \001(\0132\037.opencv_caffe.HDF5Da"
2528     "taParameter\022<\n\021hdf5_output_param\030\016 \001(\0132!"
2529     ".opencv_caffe.HDF5OutputParameter\022:\n\020hin"
2530     "ge_loss_param\030\035 \001(\0132 .opencv_caffe.Hinge"
2531     "LossParameter\022:\n\020image_data_param\030\017 \001(\0132"
2532     " .opencv_caffe.ImageDataParameter\022@\n\023inf"
2533     "ogain_loss_param\030\020 \001(\0132#.opencv_caffe.In"
2534     "fogainLossParameter\022@\n\023inner_product_par"
2535     "am\030\021 \001(\0132#.opencv_caffe.InnerProductPara"
2536     "meter\022-\n\tlrn_param\030\022 \001(\0132\032.opencv_caffe."
2537     "LRNParameter\022<\n\021memory_data_param\030\026 \001(\0132"
2538     "!.opencv_caffe.MemoryDataParameter\022-\n\tmv"
2539     "n_param\030\" \001(\0132\032.opencv_caffe.MVNParamete"
2540     "r\0225\n\rpooling_param\030\023 \001(\0132\036.opencv_caffe."
2541     "PoolingParameter\0221\n\013power_param\030\025 \001(\0132\034."
2542     "opencv_caffe.PowerParameter\022/\n\nrelu_para"
2543     "m\030\036 \001(\0132\033.opencv_caffe.ReLUParameter\0225\n\r"
2544     "sigmoid_param\030& \001(\0132\036.opencv_caffe.Sigmo"
2545     "idParameter\0225\n\rsoftmax_param\030\' \001(\0132\036.ope"
2546     "ncv_caffe.SoftmaxParameter\0221\n\013slice_para"
2547     "m\030\037 \001(\0132\034.opencv_caffe.SliceParameter\022/\n"
2548     "\ntanh_param\030% \001(\0132\033.opencv_caffe.TanHPar"
2549     "ameter\0229\n\017threshold_param\030\031 \001(\0132 .opencv"
2550     "_caffe.ThresholdParameter\022<\n\021window_data"
2551     "_param\030\024 \001(\0132!.opencv_caffe.WindowDataPa"
2552     "rameter\022>\n\017transform_param\030$ \001(\0132%.openc"
2553     "v_caffe.TransformationParameter\022/\n\nloss_"
2554     "param\030* \001(\0132\033.opencv_caffe.LossParameter"
2555     "\022-\n\005layer\030\001 \001(\0132\036.opencv_caffe.V0LayerPa"
2556     "rameter\"\330\004\n\tLayerType\022\010\n\004NONE\020\000\022\n\n\006ABSVA"
2557     "L\020#\022\014\n\010ACCURACY\020\001\022\n\n\006ARGMAX\020\036\022\010\n\004BNLL\020\002\022"
2558     "\n\n\006CONCAT\020\003\022\024\n\020CONTRASTIVE_LOSS\020%\022\017\n\013CON"
2559     "VOLUTION\020\004\022\010\n\004DATA\020\005\022\021\n\rDECONVOLUTION\020\'\022"
2560     "\013\n\007DROPOUT\020\006\022\016\n\nDUMMY_DATA\020 \022\022\n\016EUCLIDEA"
2561     "N_LOSS\020\007\022\013\n\007ELTWISE\020\031\022\007\n\003EXP\020&\022\013\n\007FLATTE"
2562     "N\020\010\022\r\n\tHDF5_DATA\020\t\022\017\n\013HDF5_OUTPUT\020\n\022\016\n\nH"
2563     "INGE_LOSS\020\034\022\n\n\006IM2COL\020\013\022\016\n\nIMAGE_DATA\020\014\022"
2564     "\021\n\rINFOGAIN_LOSS\020\r\022\021\n\rINNER_PRODUCT\020\016\022\007\n"
2565     "\003LRN\020\017\022\017\n\013MEMORY_DATA\020\035\022\035\n\031MULTINOMIAL_L"
2566     "OGISTIC_LOSS\020\020\022\007\n\003MVN\020\"\022\013\n\007POOLING\020\021\022\t\n\005"
2567     "POWER\020\032\022\010\n\004RELU\020\022\022\013\n\007SIGMOID\020\023\022\036\n\032SIGMOI"
2568     "D_CROSS_ENTROPY_LOSS\020\033\022\013\n\007SILENCE\020$\022\013\n\007S"
2569     "OFTMAX\020\024\022\020\n\014SOFTMAX_LOSS\020\025\022\t\n\005SPLIT\020\026\022\t\n"
2570     "\005SLICE\020!\022\010\n\004TANH\020\027\022\017\n\013WINDOW_DATA\020\030\022\r\n\tT"
2571     "HRESHOLD\020\037\"*\n\014DimCheckMode\022\n\n\006STRICT\020\000\022\016"
2572     "\n\nPERMISSIVE\020\001\"\240\010\n\020V0LayerParameter\022\014\n\004n"
2573     "ame\030\001 \001(\t\022\014\n\004type\030\002 \001(\t\022\022\n\nnum_output\030\003 "
2574     "\001(\r\022\026\n\010biasterm\030\004 \001(\010:\004true\0224\n\rweight_fi"
2575     "ller\030\005 \001(\0132\035.opencv_caffe.FillerParamete"
2576     "r\0222\n\013bias_filler\030\006 \001(\0132\035.opencv_caffe.Fi"
2577     "llerParameter\022\016\n\003pad\030\007 \001(\r:\0010\022\022\n\nkernels"
2578     "ize\030\010 \001(\r\022\020\n\005group\030\t \001(\r:\0011\022\021\n\006stride\030\n "
2579     "\001(\r:\0011\022<\n\004pool\030\013 \001(\0162).opencv_caffe.V0La"
2580     "yerParameter.PoolMethod:\003MAX\022\032\n\rdropout_"
2581     "ratio\030\014 \001(\002:\0030.5\022\025\n\nlocal_size\030\r \001(\r:\0015\022"
2582     "\020\n\005alpha\030\016 \001(\002:\0011\022\022\n\004beta\030\017 \001(\002:\0040.75\022\014\n"
2583     "\001k\030\026 \001(\002:\0011\022\016\n\006source\030\020 \001(\t\022\020\n\005scale\030\021 \001"
2584     "(\002:\0011\022\020\n\010meanfile\030\022 \001(\t\022\021\n\tbatchsize\030\023 \001"
2585     "(\r\022\023\n\010cropsize\030\024 \001(\r:\0010\022\025\n\006mirror\030\025 \001(\010:"
2586     "\005false\022&\n\005blobs\0302 \003(\0132\027.opencv_caffe.Blo"
2587     "bProto\022\020\n\010blobs_lr\0303 \003(\002\022\024\n\014weight_decay"
2588     "\0304 \003(\002\022\024\n\trand_skip\0305 \001(\r:\0010\022\035\n\020det_fg_t"
2589     "hreshold\0306 \001(\002:\0030.5\022\035\n\020det_bg_threshold\030"
2590     "7 \001(\002:\0030.5\022\035\n\017det_fg_fraction\0308 \001(\002:\0040.2"
2591     "5\022\032\n\017det_context_pad\030: \001(\r:\0010\022\033\n\rdet_cro"
2592     "p_mode\030; \001(\t:\004warp\022\022\n\007new_num\030< \001(\005:\0010\022\027"
2593     "\n\014new_channels\030= \001(\005:\0010\022\025\n\nnew_height\030> "
2594     "\001(\005:\0010\022\024\n\tnew_width\030\? \001(\005:\0010\022\035\n\016shuffle_"
2595     "images\030@ \001(\010:\005false\022\025\n\nconcat_dim\030A \001(\r:"
2596     "\0011\022=\n\021hdf5_output_param\030\351\007 \001(\0132!.opencv_"
2597     "caffe.HDF5OutputParameter\".\n\nPoolMethod\022"
2598     "\007\n\003MAX\020\000\022\007\n\003AVE\020\001\022\016\n\nSTOCHASTIC\020\002\"^\n\016PRe"
2599     "LUParameter\022-\n\006filler\030\001 \001(\0132\035.opencv_caf"
2600     "fe.FillerParameter\022\035\n\016channel_shared\030\002 \001"
2601     "(\010:\005false\"\207\001\n\016NormalizedBBox\022\014\n\004xmin\030\001 \001"
2602     "(\002\022\014\n\004ymin\030\002 \001(\002\022\014\n\004xmax\030\003 \001(\002\022\014\n\004ymax\030\004"
2603     " \001(\002\022\r\n\005label\030\005 \001(\005\022\021\n\tdifficult\030\006 \001(\010\022\r"
2604     "\n\005score\030\007 \001(\002\022\014\n\004size\030\010 \001(\002\"Y\n\023ROIPoolin"
2605     "gParameter\022\023\n\010pooled_h\030\001 \001(\r:\0010\022\023\n\010poole"
2606     "d_w\030\002 \001(\r:\0010\022\030\n\rspatial_scale\030\003 \001(\002:\0011*="
2607     "\n\004Type\022\n\n\006DOUBLE\020\000\022\t\n\005FLOAT\020\001\022\013\n\007FLOAT16"
2608     "\020\002\022\007\n\003INT\020\003\022\010\n\004UINT\020\004*\034\n\005Phase\022\t\n\005TRAIN\020"
2609     "\000\022\010\n\004TEST\020\001", 18331);
2610   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
2611     "opencv-caffe.proto", &protobuf_RegisterTypes);
2612   ::google::protobuf::internal::OnShutdown(&protobuf_ShutdownFile_opencv_2dcaffe_2eproto);
2613 }
2614
2615 GOOGLE_PROTOBUF_DECLARE_ONCE(protobuf_AddDesc_opencv_2dcaffe_2eproto_once_);
2616 void protobuf_AddDesc_opencv_2dcaffe_2eproto() {
2617   ::google::protobuf::GoogleOnceInit(&protobuf_AddDesc_opencv_2dcaffe_2eproto_once_,
2618                  &protobuf_AddDesc_opencv_2dcaffe_2eproto_impl);
2619 }
2620 // Force AddDescriptors() to be called at static initialization time.
2621 struct StaticDescriptorInitializer_opencv_2dcaffe_2eproto {
2622   StaticDescriptorInitializer_opencv_2dcaffe_2eproto() {
2623     protobuf_AddDesc_opencv_2dcaffe_2eproto();
2624   }
2625 } static_descriptor_initializer_opencv_2dcaffe_2eproto_;
2626 const ::google::protobuf::EnumDescriptor* Type_descriptor() {
2627   protobuf_AssignDescriptorsOnce();
2628   return Type_descriptor_;
2629 }
2630 bool Type_IsValid(int value) {
2631   switch (value) {
2632     case 0:
2633     case 1:
2634     case 2:
2635     case 3:
2636     case 4:
2637       return true;
2638     default:
2639       return false;
2640   }
2641 }
2642
2643 const ::google::protobuf::EnumDescriptor* Phase_descriptor() {
2644   protobuf_AssignDescriptorsOnce();
2645   return Phase_descriptor_;
2646 }
2647 bool Phase_IsValid(int value) {
2648   switch (value) {
2649     case 0:
2650     case 1:
2651       return true;
2652     default:
2653       return false;
2654   }
2655 }
2656
2657
2658 namespace {
2659
2660 static void MergeFromFail(int line) GOOGLE_ATTRIBUTE_COLD GOOGLE_ATTRIBUTE_NORETURN;
2661 static void MergeFromFail(int line) {
2662   ::google::protobuf::internal::MergeFromFail(__FILE__, line);
2663 }
2664
2665 }  // namespace
2666
2667
2668 // ===================================================================
2669
2670 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2671 const int BlobShape::kDimFieldNumber;
2672 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
2673
2674 BlobShape::BlobShape()
2675   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
2676   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
2677   SharedCtor();
2678   // @@protoc_insertion_point(constructor:opencv_caffe.BlobShape)
2679 }
2680
2681 void BlobShape::InitAsDefaultInstance() {
2682 }
2683
2684 BlobShape::BlobShape(const BlobShape& from)
2685   : ::google::protobuf::Message(),
2686     _internal_metadata_(NULL) {
2687   SharedCtor();
2688   UnsafeMergeFrom(from);
2689   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BlobShape)
2690 }
2691
2692 void BlobShape::SharedCtor() {
2693   _cached_size_ = 0;
2694 }
2695
2696 BlobShape::~BlobShape() {
2697   // @@protoc_insertion_point(destructor:opencv_caffe.BlobShape)
2698   SharedDtor();
2699 }
2700
2701 void BlobShape::SharedDtor() {
2702 }
2703
2704 void BlobShape::SetCachedSize(int size) const {
2705   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2706   _cached_size_ = size;
2707   GOOGLE_SAFE_CONCURRENT_WRITES_END();
2708 }
2709 const ::google::protobuf::Descriptor* BlobShape::descriptor() {
2710   protobuf_AssignDescriptorsOnce();
2711   return BlobShape_descriptor_;
2712 }
2713
2714 const BlobShape& BlobShape::default_instance() {
2715   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
2716   return *internal_default_instance();
2717 }
2718
2719 ::google::protobuf::internal::ExplicitlyConstructed<BlobShape> BlobShape_default_instance_;
2720
2721 BlobShape* BlobShape::New(::google::protobuf::Arena* arena) const {
2722   BlobShape* n = new BlobShape;
2723   if (arena != NULL) {
2724     arena->Own(n);
2725   }
2726   return n;
2727 }
2728
2729 void BlobShape::Clear() {
2730 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BlobShape)
2731   dim_.Clear();
2732   _has_bits_.Clear();
2733   if (_internal_metadata_.have_unknown_fields()) {
2734     mutable_unknown_fields()->Clear();
2735   }
2736 }
2737
2738 bool BlobShape::MergePartialFromCodedStream(
2739     ::google::protobuf::io::CodedInputStream* input) {
2740 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
2741   ::google::protobuf::uint32 tag;
2742   // @@protoc_insertion_point(parse_start:opencv_caffe.BlobShape)
2743   for (;;) {
2744     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
2745     tag = p.first;
2746     if (!p.second) goto handle_unusual;
2747     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
2748       // repeated int64 dim = 1 [packed = true];
2749       case 1: {
2750         if (tag == 10) {
2751           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
2752                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
2753                  input, this->mutable_dim())));
2754         } else if (tag == 8) {
2755           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
2756                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
2757                  1, 10, input, this->mutable_dim())));
2758         } else {
2759           goto handle_unusual;
2760         }
2761         if (input->ExpectAtEnd()) goto success;
2762         break;
2763       }
2764
2765       default: {
2766       handle_unusual:
2767         if (tag == 0 ||
2768             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
2769             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
2770           goto success;
2771         }
2772         DO_(::google::protobuf::internal::WireFormat::SkipField(
2773               input, tag, mutable_unknown_fields()));
2774         break;
2775       }
2776     }
2777   }
2778 success:
2779   // @@protoc_insertion_point(parse_success:opencv_caffe.BlobShape)
2780   return true;
2781 failure:
2782   // @@protoc_insertion_point(parse_failure:opencv_caffe.BlobShape)
2783   return false;
2784 #undef DO_
2785 }
2786
2787 void BlobShape::SerializeWithCachedSizes(
2788     ::google::protobuf::io::CodedOutputStream* output) const {
2789   // @@protoc_insertion_point(serialize_start:opencv_caffe.BlobShape)
2790   // repeated int64 dim = 1 [packed = true];
2791   if (this->dim_size() > 0) {
2792     ::google::protobuf::internal::WireFormatLite::WriteTag(1, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
2793     output->WriteVarint32(_dim_cached_byte_size_);
2794   }
2795   for (int i = 0; i < this->dim_size(); i++) {
2796     ::google::protobuf::internal::WireFormatLite::WriteInt64NoTag(
2797       this->dim(i), output);
2798   }
2799
2800   if (_internal_metadata_.have_unknown_fields()) {
2801     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
2802         unknown_fields(), output);
2803   }
2804   // @@protoc_insertion_point(serialize_end:opencv_caffe.BlobShape)
2805 }
2806
2807 ::google::protobuf::uint8* BlobShape::InternalSerializeWithCachedSizesToArray(
2808     bool deterministic, ::google::protobuf::uint8* target) const {
2809   (void)deterministic; // Unused
2810   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BlobShape)
2811   // repeated int64 dim = 1 [packed = true];
2812   if (this->dim_size() > 0) {
2813     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
2814       1,
2815       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
2816       target);
2817     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
2818       _dim_cached_byte_size_, target);
2819   }
2820   for (int i = 0; i < this->dim_size(); i++) {
2821     target = ::google::protobuf::internal::WireFormatLite::
2822       WriteInt64NoTagToArray(this->dim(i), target);
2823   }
2824
2825   if (_internal_metadata_.have_unknown_fields()) {
2826     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
2827         unknown_fields(), target);
2828   }
2829   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BlobShape)
2830   return target;
2831 }
2832
2833 size_t BlobShape::ByteSizeLong() const {
2834 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BlobShape)
2835   size_t total_size = 0;
2836
2837   // repeated int64 dim = 1 [packed = true];
2838   {
2839     size_t data_size = 0;
2840     unsigned int count = this->dim_size();
2841     for (unsigned int i = 0; i < count; i++) {
2842       data_size += ::google::protobuf::internal::WireFormatLite::
2843         Int64Size(this->dim(i));
2844     }
2845     if (data_size > 0) {
2846       total_size += 1 +
2847         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
2848     }
2849     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
2850     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2851     _dim_cached_byte_size_ = cached_size;
2852     GOOGLE_SAFE_CONCURRENT_WRITES_END();
2853     total_size += data_size;
2854   }
2855
2856   if (_internal_metadata_.have_unknown_fields()) {
2857     total_size +=
2858       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
2859         unknown_fields());
2860   }
2861   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
2862   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
2863   _cached_size_ = cached_size;
2864   GOOGLE_SAFE_CONCURRENT_WRITES_END();
2865   return total_size;
2866 }
2867
2868 void BlobShape::MergeFrom(const ::google::protobuf::Message& from) {
2869 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BlobShape)
2870   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
2871   const BlobShape* source =
2872       ::google::protobuf::internal::DynamicCastToGenerated<const BlobShape>(
2873           &from);
2874   if (source == NULL) {
2875   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BlobShape)
2876     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
2877   } else {
2878   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BlobShape)
2879     UnsafeMergeFrom(*source);
2880   }
2881 }
2882
2883 void BlobShape::MergeFrom(const BlobShape& from) {
2884 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BlobShape)
2885   if (GOOGLE_PREDICT_TRUE(&from != this)) {
2886     UnsafeMergeFrom(from);
2887   } else {
2888     MergeFromFail(__LINE__);
2889   }
2890 }
2891
2892 void BlobShape::UnsafeMergeFrom(const BlobShape& from) {
2893   GOOGLE_DCHECK(&from != this);
2894   dim_.UnsafeMergeFrom(from.dim_);
2895   if (from._internal_metadata_.have_unknown_fields()) {
2896     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
2897       from.unknown_fields(), &_internal_metadata_);
2898   }
2899 }
2900
2901 void BlobShape::CopyFrom(const ::google::protobuf::Message& from) {
2902 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BlobShape)
2903   if (&from == this) return;
2904   Clear();
2905   MergeFrom(from);
2906 }
2907
2908 void BlobShape::CopyFrom(const BlobShape& from) {
2909 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BlobShape)
2910   if (&from == this) return;
2911   Clear();
2912   UnsafeMergeFrom(from);
2913 }
2914
2915 bool BlobShape::IsInitialized() const {
2916
2917   return true;
2918 }
2919
2920 void BlobShape::Swap(BlobShape* other) {
2921   if (other == this) return;
2922   InternalSwap(other);
2923 }
2924 void BlobShape::InternalSwap(BlobShape* other) {
2925   dim_.UnsafeArenaSwap(&other->dim_);
2926   std::swap(_has_bits_[0], other->_has_bits_[0]);
2927   _internal_metadata_.Swap(&other->_internal_metadata_);
2928   std::swap(_cached_size_, other->_cached_size_);
2929 }
2930
2931 ::google::protobuf::Metadata BlobShape::GetMetadata() const {
2932   protobuf_AssignDescriptorsOnce();
2933   ::google::protobuf::Metadata metadata;
2934   metadata.descriptor = BlobShape_descriptor_;
2935   metadata.reflection = BlobShape_reflection_;
2936   return metadata;
2937 }
2938
2939 #if PROTOBUF_INLINE_NOT_IN_HEADERS
2940 // BlobShape
2941
2942 // repeated int64 dim = 1 [packed = true];
2943 int BlobShape::dim_size() const {
2944   return dim_.size();
2945 }
2946 void BlobShape::clear_dim() {
2947   dim_.Clear();
2948 }
2949 ::google::protobuf::int64 BlobShape::dim(int index) const {
2950   // @@protoc_insertion_point(field_get:opencv_caffe.BlobShape.dim)
2951   return dim_.Get(index);
2952 }
2953 void BlobShape::set_dim(int index, ::google::protobuf::int64 value) {
2954   dim_.Set(index, value);
2955   // @@protoc_insertion_point(field_set:opencv_caffe.BlobShape.dim)
2956 }
2957 void BlobShape::add_dim(::google::protobuf::int64 value) {
2958   dim_.Add(value);
2959   // @@protoc_insertion_point(field_add:opencv_caffe.BlobShape.dim)
2960 }
2961 const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
2962 BlobShape::dim() const {
2963   // @@protoc_insertion_point(field_list:opencv_caffe.BlobShape.dim)
2964   return dim_;
2965 }
2966 ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
2967 BlobShape::mutable_dim() {
2968   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobShape.dim)
2969   return &dim_;
2970 }
2971
2972 inline const BlobShape* BlobShape::internal_default_instance() {
2973   return &BlobShape_default_instance_.get();
2974 }
2975 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
2976
2977 // ===================================================================
2978
2979 #if !defined(_MSC_VER) || _MSC_VER >= 1900
2980 const int BlobProto::kShapeFieldNumber;
2981 const int BlobProto::kDataFieldNumber;
2982 const int BlobProto::kDiffFieldNumber;
2983 const int BlobProto::kDoubleDataFieldNumber;
2984 const int BlobProto::kDoubleDiffFieldNumber;
2985 const int BlobProto::kRawDataTypeFieldNumber;
2986 const int BlobProto::kRawDataFieldNumber;
2987 const int BlobProto::kNumFieldNumber;
2988 const int BlobProto::kChannelsFieldNumber;
2989 const int BlobProto::kHeightFieldNumber;
2990 const int BlobProto::kWidthFieldNumber;
2991 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
2992
2993 BlobProto::BlobProto()
2994   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
2995   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
2996   SharedCtor();
2997   // @@protoc_insertion_point(constructor:opencv_caffe.BlobProto)
2998 }
2999
3000 void BlobProto::InitAsDefaultInstance() {
3001   shape_ = const_cast< ::opencv_caffe::BlobShape*>(
3002       ::opencv_caffe::BlobShape::internal_default_instance());
3003 }
3004
3005 BlobProto::BlobProto(const BlobProto& from)
3006   : ::google::protobuf::Message(),
3007     _internal_metadata_(NULL) {
3008   SharedCtor();
3009   UnsafeMergeFrom(from);
3010   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BlobProto)
3011 }
3012
3013 void BlobProto::SharedCtor() {
3014   _cached_size_ = 0;
3015   raw_data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3016   shape_ = NULL;
3017   ::memset(&raw_data_type_, 0, reinterpret_cast<char*>(&width_) -
3018     reinterpret_cast<char*>(&raw_data_type_) + sizeof(width_));
3019 }
3020
3021 BlobProto::~BlobProto() {
3022   // @@protoc_insertion_point(destructor:opencv_caffe.BlobProto)
3023   SharedDtor();
3024 }
3025
3026 void BlobProto::SharedDtor() {
3027   raw_data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3028   if (this != &BlobProto_default_instance_.get()) {
3029     delete shape_;
3030   }
3031 }
3032
3033 void BlobProto::SetCachedSize(int size) const {
3034   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3035   _cached_size_ = size;
3036   GOOGLE_SAFE_CONCURRENT_WRITES_END();
3037 }
3038 const ::google::protobuf::Descriptor* BlobProto::descriptor() {
3039   protobuf_AssignDescriptorsOnce();
3040   return BlobProto_descriptor_;
3041 }
3042
3043 const BlobProto& BlobProto::default_instance() {
3044   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
3045   return *internal_default_instance();
3046 }
3047
3048 ::google::protobuf::internal::ExplicitlyConstructed<BlobProto> BlobProto_default_instance_;
3049
3050 BlobProto* BlobProto::New(::google::protobuf::Arena* arena) const {
3051   BlobProto* n = new BlobProto;
3052   if (arena != NULL) {
3053     arena->Own(n);
3054   }
3055   return n;
3056 }
3057
3058 void BlobProto::Clear() {
3059 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BlobProto)
3060 #if defined(__clang__)
3061 #define ZR_HELPER_(f) \
3062   _Pragma("clang diagnostic push") \
3063   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
3064   __builtin_offsetof(BlobProto, f) \
3065   _Pragma("clang diagnostic pop")
3066 #else
3067 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
3068   &reinterpret_cast<BlobProto*>(16)->f)
3069 #endif
3070
3071 #define ZR_(first, last) do {\
3072   ::memset(&(first), 0,\
3073            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
3074 } while (0)
3075
3076   if (_has_bits_[0 / 32] & 225u) {
3077     ZR_(raw_data_type_, num_);
3078     if (has_shape()) {
3079       if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
3080     }
3081     if (has_raw_data()) {
3082       raw_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3083     }
3084   }
3085   ZR_(channels_, width_);
3086
3087 #undef ZR_HELPER_
3088 #undef ZR_
3089
3090   data_.Clear();
3091   diff_.Clear();
3092   double_data_.Clear();
3093   double_diff_.Clear();
3094   _has_bits_.Clear();
3095   if (_internal_metadata_.have_unknown_fields()) {
3096     mutable_unknown_fields()->Clear();
3097   }
3098 }
3099
3100 bool BlobProto::MergePartialFromCodedStream(
3101     ::google::protobuf::io::CodedInputStream* input) {
3102 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
3103   ::google::protobuf::uint32 tag;
3104   // @@protoc_insertion_point(parse_start:opencv_caffe.BlobProto)
3105   for (;;) {
3106     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
3107     tag = p.first;
3108     if (!p.second) goto handle_unusual;
3109     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
3110       // optional int32 num = 1 [default = 0];
3111       case 1: {
3112         if (tag == 8) {
3113           set_has_num();
3114           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3115                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3116                  input, &num_)));
3117         } else {
3118           goto handle_unusual;
3119         }
3120         if (input->ExpectTag(16)) goto parse_channels;
3121         break;
3122       }
3123
3124       // optional int32 channels = 2 [default = 0];
3125       case 2: {
3126         if (tag == 16) {
3127          parse_channels:
3128           set_has_channels();
3129           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3130                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3131                  input, &channels_)));
3132         } else {
3133           goto handle_unusual;
3134         }
3135         if (input->ExpectTag(24)) goto parse_height;
3136         break;
3137       }
3138
3139       // optional int32 height = 3 [default = 0];
3140       case 3: {
3141         if (tag == 24) {
3142          parse_height:
3143           set_has_height();
3144           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3145                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3146                  input, &height_)));
3147         } else {
3148           goto handle_unusual;
3149         }
3150         if (input->ExpectTag(32)) goto parse_width;
3151         break;
3152       }
3153
3154       // optional int32 width = 4 [default = 0];
3155       case 4: {
3156         if (tag == 32) {
3157          parse_width:
3158           set_has_width();
3159           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3160                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
3161                  input, &width_)));
3162         } else {
3163           goto handle_unusual;
3164         }
3165         if (input->ExpectTag(42)) goto parse_data;
3166         break;
3167       }
3168
3169       // repeated float data = 5 [packed = true];
3170       case 5: {
3171         if (tag == 42) {
3172          parse_data:
3173           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3174                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3175                  input, this->mutable_data())));
3176         } else if (tag == 45) {
3177           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3178                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3179                  1, 42, input, this->mutable_data())));
3180         } else {
3181           goto handle_unusual;
3182         }
3183         if (input->ExpectTag(50)) goto parse_diff;
3184         break;
3185       }
3186
3187       // repeated float diff = 6 [packed = true];
3188       case 6: {
3189         if (tag == 50) {
3190          parse_diff:
3191           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3192                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3193                  input, this->mutable_diff())));
3194         } else if (tag == 53) {
3195           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3196                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
3197                  1, 50, input, this->mutable_diff())));
3198         } else {
3199           goto handle_unusual;
3200         }
3201         if (input->ExpectTag(58)) goto parse_shape;
3202         break;
3203       }
3204
3205       // optional .opencv_caffe.BlobShape shape = 7;
3206       case 7: {
3207         if (tag == 58) {
3208          parse_shape:
3209           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
3210                input, mutable_shape()));
3211         } else {
3212           goto handle_unusual;
3213         }
3214         if (input->ExpectTag(66)) goto parse_double_data;
3215         break;
3216       }
3217
3218       // repeated double double_data = 8 [packed = true];
3219       case 8: {
3220         if (tag == 66) {
3221          parse_double_data:
3222           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3223                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3224                  input, this->mutable_double_data())));
3225         } else if (tag == 65) {
3226           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3227                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3228                  1, 66, input, this->mutable_double_data())));
3229         } else {
3230           goto handle_unusual;
3231         }
3232         if (input->ExpectTag(74)) goto parse_double_diff;
3233         break;
3234       }
3235
3236       // repeated double double_diff = 9 [packed = true];
3237       case 9: {
3238         if (tag == 74) {
3239          parse_double_diff:
3240           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitive<
3241                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3242                  input, this->mutable_double_diff())));
3243         } else if (tag == 73) {
3244           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitiveNoInline<
3245                    double, ::google::protobuf::internal::WireFormatLite::TYPE_DOUBLE>(
3246                  1, 74, input, this->mutable_double_diff())));
3247         } else {
3248           goto handle_unusual;
3249         }
3250         if (input->ExpectTag(80)) goto parse_raw_data_type;
3251         break;
3252       }
3253
3254       // optional .opencv_caffe.Type raw_data_type = 10;
3255       case 10: {
3256         if (tag == 80) {
3257          parse_raw_data_type:
3258           int value;
3259           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
3260                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
3261                  input, &value)));
3262           if (::opencv_caffe::Type_IsValid(value)) {
3263             set_raw_data_type(static_cast< ::opencv_caffe::Type >(value));
3264           } else {
3265             mutable_unknown_fields()->AddVarint(10, value);
3266           }
3267         } else {
3268           goto handle_unusual;
3269         }
3270         if (input->ExpectTag(98)) goto parse_raw_data;
3271         break;
3272       }
3273
3274       // optional bytes raw_data = 12 [packed = false];
3275       case 12: {
3276         if (tag == 98) {
3277          parse_raw_data:
3278           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
3279                 input, this->mutable_raw_data()));
3280         } else {
3281           goto handle_unusual;
3282         }
3283         if (input->ExpectAtEnd()) goto success;
3284         break;
3285       }
3286
3287       default: {
3288       handle_unusual:
3289         if (tag == 0 ||
3290             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
3291             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
3292           goto success;
3293         }
3294         DO_(::google::protobuf::internal::WireFormat::SkipField(
3295               input, tag, mutable_unknown_fields()));
3296         break;
3297       }
3298     }
3299   }
3300 success:
3301   // @@protoc_insertion_point(parse_success:opencv_caffe.BlobProto)
3302   return true;
3303 failure:
3304   // @@protoc_insertion_point(parse_failure:opencv_caffe.BlobProto)
3305   return false;
3306 #undef DO_
3307 }
3308
3309 void BlobProto::SerializeWithCachedSizes(
3310     ::google::protobuf::io::CodedOutputStream* output) const {
3311   // @@protoc_insertion_point(serialize_start:opencv_caffe.BlobProto)
3312   // optional int32 num = 1 [default = 0];
3313   if (has_num()) {
3314     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->num(), output);
3315   }
3316
3317   // optional int32 channels = 2 [default = 0];
3318   if (has_channels()) {
3319     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->channels(), output);
3320   }
3321
3322   // optional int32 height = 3 [default = 0];
3323   if (has_height()) {
3324     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->height(), output);
3325   }
3326
3327   // optional int32 width = 4 [default = 0];
3328   if (has_width()) {
3329     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->width(), output);
3330   }
3331
3332   // repeated float data = 5 [packed = true];
3333   if (this->data_size() > 0) {
3334     ::google::protobuf::internal::WireFormatLite::WriteTag(5, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3335     output->WriteVarint32(_data_cached_byte_size_);
3336   }
3337   for (int i = 0; i < this->data_size(); i++) {
3338     ::google::protobuf::internal::WireFormatLite::WriteFloatNoTag(
3339       this->data(i), output);
3340   }
3341
3342   // repeated float diff = 6 [packed = true];
3343   if (this->diff_size() > 0) {
3344     ::google::protobuf::internal::WireFormatLite::WriteTag(6, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3345     output->WriteVarint32(_diff_cached_byte_size_);
3346   }
3347   for (int i = 0; i < this->diff_size(); i++) {
3348     ::google::protobuf::internal::WireFormatLite::WriteFloatNoTag(
3349       this->diff(i), output);
3350   }
3351
3352   // optional .opencv_caffe.BlobShape shape = 7;
3353   if (has_shape()) {
3354     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
3355       7, *this->shape_, output);
3356   }
3357
3358   // repeated double double_data = 8 [packed = true];
3359   if (this->double_data_size() > 0) {
3360     ::google::protobuf::internal::WireFormatLite::WriteTag(8, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3361     output->WriteVarint32(_double_data_cached_byte_size_);
3362   }
3363   for (int i = 0; i < this->double_data_size(); i++) {
3364     ::google::protobuf::internal::WireFormatLite::WriteDoubleNoTag(
3365       this->double_data(i), output);
3366   }
3367
3368   // repeated double double_diff = 9 [packed = true];
3369   if (this->double_diff_size() > 0) {
3370     ::google::protobuf::internal::WireFormatLite::WriteTag(9, ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED, output);
3371     output->WriteVarint32(_double_diff_cached_byte_size_);
3372   }
3373   for (int i = 0; i < this->double_diff_size(); i++) {
3374     ::google::protobuf::internal::WireFormatLite::WriteDoubleNoTag(
3375       this->double_diff(i), output);
3376   }
3377
3378   // optional .opencv_caffe.Type raw_data_type = 10;
3379   if (has_raw_data_type()) {
3380     ::google::protobuf::internal::WireFormatLite::WriteEnum(
3381       10, this->raw_data_type(), output);
3382   }
3383
3384   // optional bytes raw_data = 12 [packed = false];
3385   if (has_raw_data()) {
3386     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
3387       12, this->raw_data(), output);
3388   }
3389
3390   if (_internal_metadata_.have_unknown_fields()) {
3391     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
3392         unknown_fields(), output);
3393   }
3394   // @@protoc_insertion_point(serialize_end:opencv_caffe.BlobProto)
3395 }
3396
3397 ::google::protobuf::uint8* BlobProto::InternalSerializeWithCachedSizesToArray(
3398     bool deterministic, ::google::protobuf::uint8* target) const {
3399   (void)deterministic; // Unused
3400   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BlobProto)
3401   // optional int32 num = 1 [default = 0];
3402   if (has_num()) {
3403     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->num(), target);
3404   }
3405
3406   // optional int32 channels = 2 [default = 0];
3407   if (has_channels()) {
3408     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->channels(), target);
3409   }
3410
3411   // optional int32 height = 3 [default = 0];
3412   if (has_height()) {
3413     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->height(), target);
3414   }
3415
3416   // optional int32 width = 4 [default = 0];
3417   if (has_width()) {
3418     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->width(), target);
3419   }
3420
3421   // repeated float data = 5 [packed = true];
3422   if (this->data_size() > 0) {
3423     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3424       5,
3425       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3426       target);
3427     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3428       _data_cached_byte_size_, target);
3429   }
3430   for (int i = 0; i < this->data_size(); i++) {
3431     target = ::google::protobuf::internal::WireFormatLite::
3432       WriteFloatNoTagToArray(this->data(i), target);
3433   }
3434
3435   // repeated float diff = 6 [packed = true];
3436   if (this->diff_size() > 0) {
3437     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3438       6,
3439       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3440       target);
3441     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3442       _diff_cached_byte_size_, target);
3443   }
3444   for (int i = 0; i < this->diff_size(); i++) {
3445     target = ::google::protobuf::internal::WireFormatLite::
3446       WriteFloatNoTagToArray(this->diff(i), target);
3447   }
3448
3449   // optional .opencv_caffe.BlobShape shape = 7;
3450   if (has_shape()) {
3451     target = ::google::protobuf::internal::WireFormatLite::
3452       InternalWriteMessageNoVirtualToArray(
3453         7, *this->shape_, false, target);
3454   }
3455
3456   // repeated double double_data = 8 [packed = true];
3457   if (this->double_data_size() > 0) {
3458     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3459       8,
3460       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3461       target);
3462     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3463       _double_data_cached_byte_size_, target);
3464   }
3465   for (int i = 0; i < this->double_data_size(); i++) {
3466     target = ::google::protobuf::internal::WireFormatLite::
3467       WriteDoubleNoTagToArray(this->double_data(i), target);
3468   }
3469
3470   // repeated double double_diff = 9 [packed = true];
3471   if (this->double_diff_size() > 0) {
3472     target = ::google::protobuf::internal::WireFormatLite::WriteTagToArray(
3473       9,
3474       ::google::protobuf::internal::WireFormatLite::WIRETYPE_LENGTH_DELIMITED,
3475       target);
3476     target = ::google::protobuf::io::CodedOutputStream::WriteVarint32ToArray(
3477       _double_diff_cached_byte_size_, target);
3478   }
3479   for (int i = 0; i < this->double_diff_size(); i++) {
3480     target = ::google::protobuf::internal::WireFormatLite::
3481       WriteDoubleNoTagToArray(this->double_diff(i), target);
3482   }
3483
3484   // optional .opencv_caffe.Type raw_data_type = 10;
3485   if (has_raw_data_type()) {
3486     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
3487       10, this->raw_data_type(), target);
3488   }
3489
3490   // optional bytes raw_data = 12 [packed = false];
3491   if (has_raw_data()) {
3492     target =
3493       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
3494         12, this->raw_data(), target);
3495   }
3496
3497   if (_internal_metadata_.have_unknown_fields()) {
3498     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
3499         unknown_fields(), target);
3500   }
3501   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BlobProto)
3502   return target;
3503 }
3504
3505 size_t BlobProto::ByteSizeLong() const {
3506 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BlobProto)
3507   size_t total_size = 0;
3508
3509   if (_has_bits_[0 / 32] & 225u) {
3510     // optional .opencv_caffe.BlobShape shape = 7;
3511     if (has_shape()) {
3512       total_size += 1 +
3513         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
3514           *this->shape_);
3515     }
3516
3517     // optional .opencv_caffe.Type raw_data_type = 10;
3518     if (has_raw_data_type()) {
3519       total_size += 1 +
3520         ::google::protobuf::internal::WireFormatLite::EnumSize(this->raw_data_type());
3521     }
3522
3523     // optional bytes raw_data = 12 [packed = false];
3524     if (has_raw_data()) {
3525       total_size += 1 +
3526         ::google::protobuf::internal::WireFormatLite::BytesSize(
3527           this->raw_data());
3528     }
3529
3530     // optional int32 num = 1 [default = 0];
3531     if (has_num()) {
3532       total_size += 1 +
3533         ::google::protobuf::internal::WireFormatLite::Int32Size(
3534           this->num());
3535     }
3536
3537   }
3538   if (_has_bits_[8 / 32] & 1792u) {
3539     // optional int32 channels = 2 [default = 0];
3540     if (has_channels()) {
3541       total_size += 1 +
3542         ::google::protobuf::internal::WireFormatLite::Int32Size(
3543           this->channels());
3544     }
3545
3546     // optional int32 height = 3 [default = 0];
3547     if (has_height()) {
3548       total_size += 1 +
3549         ::google::protobuf::internal::WireFormatLite::Int32Size(
3550           this->height());
3551     }
3552
3553     // optional int32 width = 4 [default = 0];
3554     if (has_width()) {
3555       total_size += 1 +
3556         ::google::protobuf::internal::WireFormatLite::Int32Size(
3557           this->width());
3558     }
3559
3560   }
3561   // repeated float data = 5 [packed = true];
3562   {
3563     size_t data_size = 0;
3564     unsigned int count = this->data_size();
3565     data_size = 4UL * count;
3566     if (data_size > 0) {
3567       total_size += 1 +
3568         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3569     }
3570     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3571     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3572     _data_cached_byte_size_ = cached_size;
3573     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3574     total_size += data_size;
3575   }
3576
3577   // repeated float diff = 6 [packed = true];
3578   {
3579     size_t data_size = 0;
3580     unsigned int count = this->diff_size();
3581     data_size = 4UL * count;
3582     if (data_size > 0) {
3583       total_size += 1 +
3584         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3585     }
3586     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3587     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3588     _diff_cached_byte_size_ = cached_size;
3589     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3590     total_size += data_size;
3591   }
3592
3593   // repeated double double_data = 8 [packed = true];
3594   {
3595     size_t data_size = 0;
3596     unsigned int count = this->double_data_size();
3597     data_size = 8UL * count;
3598     if (data_size > 0) {
3599       total_size += 1 +
3600         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3601     }
3602     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3603     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3604     _double_data_cached_byte_size_ = cached_size;
3605     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3606     total_size += data_size;
3607   }
3608
3609   // repeated double double_diff = 9 [packed = true];
3610   {
3611     size_t data_size = 0;
3612     unsigned int count = this->double_diff_size();
3613     data_size = 8UL * count;
3614     if (data_size > 0) {
3615       total_size += 1 +
3616         ::google::protobuf::internal::WireFormatLite::Int32Size(data_size);
3617     }
3618     int cached_size = ::google::protobuf::internal::ToCachedSize(data_size);
3619     GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3620     _double_diff_cached_byte_size_ = cached_size;
3621     GOOGLE_SAFE_CONCURRENT_WRITES_END();
3622     total_size += data_size;
3623   }
3624
3625   if (_internal_metadata_.have_unknown_fields()) {
3626     total_size +=
3627       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
3628         unknown_fields());
3629   }
3630   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
3631   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
3632   _cached_size_ = cached_size;
3633   GOOGLE_SAFE_CONCURRENT_WRITES_END();
3634   return total_size;
3635 }
3636
3637 void BlobProto::MergeFrom(const ::google::protobuf::Message& from) {
3638 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BlobProto)
3639   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
3640   const BlobProto* source =
3641       ::google::protobuf::internal::DynamicCastToGenerated<const BlobProto>(
3642           &from);
3643   if (source == NULL) {
3644   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BlobProto)
3645     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
3646   } else {
3647   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BlobProto)
3648     UnsafeMergeFrom(*source);
3649   }
3650 }
3651
3652 void BlobProto::MergeFrom(const BlobProto& from) {
3653 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BlobProto)
3654   if (GOOGLE_PREDICT_TRUE(&from != this)) {
3655     UnsafeMergeFrom(from);
3656   } else {
3657     MergeFromFail(__LINE__);
3658   }
3659 }
3660
3661 void BlobProto::UnsafeMergeFrom(const BlobProto& from) {
3662   GOOGLE_DCHECK(&from != this);
3663   data_.UnsafeMergeFrom(from.data_);
3664   diff_.UnsafeMergeFrom(from.diff_);
3665   double_data_.UnsafeMergeFrom(from.double_data_);
3666   double_diff_.UnsafeMergeFrom(from.double_diff_);
3667   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
3668     if (from.has_shape()) {
3669       mutable_shape()->::opencv_caffe::BlobShape::MergeFrom(from.shape());
3670     }
3671     if (from.has_raw_data_type()) {
3672       set_raw_data_type(from.raw_data_type());
3673     }
3674     if (from.has_raw_data()) {
3675       set_has_raw_data();
3676       raw_data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.raw_data_);
3677     }
3678     if (from.has_num()) {
3679       set_num(from.num());
3680     }
3681   }
3682   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
3683     if (from.has_channels()) {
3684       set_channels(from.channels());
3685     }
3686     if (from.has_height()) {
3687       set_height(from.height());
3688     }
3689     if (from.has_width()) {
3690       set_width(from.width());
3691     }
3692   }
3693   if (from._internal_metadata_.have_unknown_fields()) {
3694     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
3695       from.unknown_fields(), &_internal_metadata_);
3696   }
3697 }
3698
3699 void BlobProto::CopyFrom(const ::google::protobuf::Message& from) {
3700 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BlobProto)
3701   if (&from == this) return;
3702   Clear();
3703   MergeFrom(from);
3704 }
3705
3706 void BlobProto::CopyFrom(const BlobProto& from) {
3707 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BlobProto)
3708   if (&from == this) return;
3709   Clear();
3710   UnsafeMergeFrom(from);
3711 }
3712
3713 bool BlobProto::IsInitialized() const {
3714
3715   return true;
3716 }
3717
3718 void BlobProto::Swap(BlobProto* other) {
3719   if (other == this) return;
3720   InternalSwap(other);
3721 }
3722 void BlobProto::InternalSwap(BlobProto* other) {
3723   std::swap(shape_, other->shape_);
3724   data_.UnsafeArenaSwap(&other->data_);
3725   diff_.UnsafeArenaSwap(&other->diff_);
3726   double_data_.UnsafeArenaSwap(&other->double_data_);
3727   double_diff_.UnsafeArenaSwap(&other->double_diff_);
3728   std::swap(raw_data_type_, other->raw_data_type_);
3729   raw_data_.Swap(&other->raw_data_);
3730   std::swap(num_, other->num_);
3731   std::swap(channels_, other->channels_);
3732   std::swap(height_, other->height_);
3733   std::swap(width_, other->width_);
3734   std::swap(_has_bits_[0], other->_has_bits_[0]);
3735   _internal_metadata_.Swap(&other->_internal_metadata_);
3736   std::swap(_cached_size_, other->_cached_size_);
3737 }
3738
3739 ::google::protobuf::Metadata BlobProto::GetMetadata() const {
3740   protobuf_AssignDescriptorsOnce();
3741   ::google::protobuf::Metadata metadata;
3742   metadata.descriptor = BlobProto_descriptor_;
3743   metadata.reflection = BlobProto_reflection_;
3744   return metadata;
3745 }
3746
3747 #if PROTOBUF_INLINE_NOT_IN_HEADERS
3748 // BlobProto
3749
3750 // optional .opencv_caffe.BlobShape shape = 7;
3751 bool BlobProto::has_shape() const {
3752   return (_has_bits_[0] & 0x00000001u) != 0;
3753 }
3754 void BlobProto::set_has_shape() {
3755   _has_bits_[0] |= 0x00000001u;
3756 }
3757 void BlobProto::clear_has_shape() {
3758   _has_bits_[0] &= ~0x00000001u;
3759 }
3760 void BlobProto::clear_shape() {
3761   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
3762   clear_has_shape();
3763 }
3764 const ::opencv_caffe::BlobShape& BlobProto::shape() const {
3765   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.shape)
3766   return shape_ != NULL ? *shape_
3767                          : *::opencv_caffe::BlobShape::internal_default_instance();
3768 }
3769 ::opencv_caffe::BlobShape* BlobProto::mutable_shape() {
3770   set_has_shape();
3771   if (shape_ == NULL) {
3772     shape_ = new ::opencv_caffe::BlobShape;
3773   }
3774   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.shape)
3775   return shape_;
3776 }
3777 ::opencv_caffe::BlobShape* BlobProto::release_shape() {
3778   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.shape)
3779   clear_has_shape();
3780   ::opencv_caffe::BlobShape* temp = shape_;
3781   shape_ = NULL;
3782   return temp;
3783 }
3784 void BlobProto::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
3785   delete shape_;
3786   shape_ = shape;
3787   if (shape) {
3788     set_has_shape();
3789   } else {
3790     clear_has_shape();
3791   }
3792   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.shape)
3793 }
3794
3795 // repeated float data = 5 [packed = true];
3796 int BlobProto::data_size() const {
3797   return data_.size();
3798 }
3799 void BlobProto::clear_data() {
3800   data_.Clear();
3801 }
3802 float BlobProto::data(int index) const {
3803   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.data)
3804   return data_.Get(index);
3805 }
3806 void BlobProto::set_data(int index, float value) {
3807   data_.Set(index, value);
3808   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.data)
3809 }
3810 void BlobProto::add_data(float value) {
3811   data_.Add(value);
3812   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.data)
3813 }
3814 const ::google::protobuf::RepeatedField< float >&
3815 BlobProto::data() const {
3816   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.data)
3817   return data_;
3818 }
3819 ::google::protobuf::RepeatedField< float >*
3820 BlobProto::mutable_data() {
3821   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.data)
3822   return &data_;
3823 }
3824
3825 // repeated float diff = 6 [packed = true];
3826 int BlobProto::diff_size() const {
3827   return diff_.size();
3828 }
3829 void BlobProto::clear_diff() {
3830   diff_.Clear();
3831 }
3832 float BlobProto::diff(int index) const {
3833   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.diff)
3834   return diff_.Get(index);
3835 }
3836 void BlobProto::set_diff(int index, float value) {
3837   diff_.Set(index, value);
3838   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.diff)
3839 }
3840 void BlobProto::add_diff(float value) {
3841   diff_.Add(value);
3842   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.diff)
3843 }
3844 const ::google::protobuf::RepeatedField< float >&
3845 BlobProto::diff() const {
3846   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.diff)
3847   return diff_;
3848 }
3849 ::google::protobuf::RepeatedField< float >*
3850 BlobProto::mutable_diff() {
3851   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.diff)
3852   return &diff_;
3853 }
3854
3855 // repeated double double_data = 8 [packed = true];
3856 int BlobProto::double_data_size() const {
3857   return double_data_.size();
3858 }
3859 void BlobProto::clear_double_data() {
3860   double_data_.Clear();
3861 }
3862 double BlobProto::double_data(int index) const {
3863   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_data)
3864   return double_data_.Get(index);
3865 }
3866 void BlobProto::set_double_data(int index, double value) {
3867   double_data_.Set(index, value);
3868   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_data)
3869 }
3870 void BlobProto::add_double_data(double value) {
3871   double_data_.Add(value);
3872   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_data)
3873 }
3874 const ::google::protobuf::RepeatedField< double >&
3875 BlobProto::double_data() const {
3876   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_data)
3877   return double_data_;
3878 }
3879 ::google::protobuf::RepeatedField< double >*
3880 BlobProto::mutable_double_data() {
3881   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_data)
3882   return &double_data_;
3883 }
3884
3885 // repeated double double_diff = 9 [packed = true];
3886 int BlobProto::double_diff_size() const {
3887   return double_diff_.size();
3888 }
3889 void BlobProto::clear_double_diff() {
3890   double_diff_.Clear();
3891 }
3892 double BlobProto::double_diff(int index) const {
3893   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_diff)
3894   return double_diff_.Get(index);
3895 }
3896 void BlobProto::set_double_diff(int index, double value) {
3897   double_diff_.Set(index, value);
3898   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_diff)
3899 }
3900 void BlobProto::add_double_diff(double value) {
3901   double_diff_.Add(value);
3902   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_diff)
3903 }
3904 const ::google::protobuf::RepeatedField< double >&
3905 BlobProto::double_diff() const {
3906   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_diff)
3907   return double_diff_;
3908 }
3909 ::google::protobuf::RepeatedField< double >*
3910 BlobProto::mutable_double_diff() {
3911   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_diff)
3912   return &double_diff_;
3913 }
3914
3915 // optional .opencv_caffe.Type raw_data_type = 10;
3916 bool BlobProto::has_raw_data_type() const {
3917   return (_has_bits_[0] & 0x00000020u) != 0;
3918 }
3919 void BlobProto::set_has_raw_data_type() {
3920   _has_bits_[0] |= 0x00000020u;
3921 }
3922 void BlobProto::clear_has_raw_data_type() {
3923   _has_bits_[0] &= ~0x00000020u;
3924 }
3925 void BlobProto::clear_raw_data_type() {
3926   raw_data_type_ = 0;
3927   clear_has_raw_data_type();
3928 }
3929 ::opencv_caffe::Type BlobProto::raw_data_type() const {
3930   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data_type)
3931   return static_cast< ::opencv_caffe::Type >(raw_data_type_);
3932 }
3933 void BlobProto::set_raw_data_type(::opencv_caffe::Type value) {
3934   assert(::opencv_caffe::Type_IsValid(value));
3935   set_has_raw_data_type();
3936   raw_data_type_ = value;
3937   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data_type)
3938 }
3939
3940 // optional bytes raw_data = 12 [packed = false];
3941 bool BlobProto::has_raw_data() const {
3942   return (_has_bits_[0] & 0x00000040u) != 0;
3943 }
3944 void BlobProto::set_has_raw_data() {
3945   _has_bits_[0] |= 0x00000040u;
3946 }
3947 void BlobProto::clear_has_raw_data() {
3948   _has_bits_[0] &= ~0x00000040u;
3949 }
3950 void BlobProto::clear_raw_data() {
3951   raw_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3952   clear_has_raw_data();
3953 }
3954 const ::std::string& BlobProto::raw_data() const {
3955   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data)
3956   return raw_data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3957 }
3958 void BlobProto::set_raw_data(const ::std::string& value) {
3959   set_has_raw_data();
3960   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
3961   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data)
3962 }
3963 void BlobProto::set_raw_data(const char* value) {
3964   set_has_raw_data();
3965   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
3966   // @@protoc_insertion_point(field_set_char:opencv_caffe.BlobProto.raw_data)
3967 }
3968 void BlobProto::set_raw_data(const void* value, size_t size) {
3969   set_has_raw_data();
3970   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
3971       ::std::string(reinterpret_cast<const char*>(value), size));
3972   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.BlobProto.raw_data)
3973 }
3974 ::std::string* BlobProto::mutable_raw_data() {
3975   set_has_raw_data();
3976   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.raw_data)
3977   return raw_data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3978 }
3979 ::std::string* BlobProto::release_raw_data() {
3980   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.raw_data)
3981   clear_has_raw_data();
3982   return raw_data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
3983 }
3984 void BlobProto::set_allocated_raw_data(::std::string* raw_data) {
3985   if (raw_data != NULL) {
3986     set_has_raw_data();
3987   } else {
3988     clear_has_raw_data();
3989   }
3990   raw_data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), raw_data);
3991   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.raw_data)
3992 }
3993
3994 // optional int32 num = 1 [default = 0];
3995 bool BlobProto::has_num() const {
3996   return (_has_bits_[0] & 0x00000080u) != 0;
3997 }
3998 void BlobProto::set_has_num() {
3999   _has_bits_[0] |= 0x00000080u;
4000 }
4001 void BlobProto::clear_has_num() {
4002   _has_bits_[0] &= ~0x00000080u;
4003 }
4004 void BlobProto::clear_num() {
4005   num_ = 0;
4006   clear_has_num();
4007 }
4008 ::google::protobuf::int32 BlobProto::num() const {
4009   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.num)
4010   return num_;
4011 }
4012 void BlobProto::set_num(::google::protobuf::int32 value) {
4013   set_has_num();
4014   num_ = value;
4015   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.num)
4016 }
4017
4018 // optional int32 channels = 2 [default = 0];
4019 bool BlobProto::has_channels() const {
4020   return (_has_bits_[0] & 0x00000100u) != 0;
4021 }
4022 void BlobProto::set_has_channels() {
4023   _has_bits_[0] |= 0x00000100u;
4024 }
4025 void BlobProto::clear_has_channels() {
4026   _has_bits_[0] &= ~0x00000100u;
4027 }
4028 void BlobProto::clear_channels() {
4029   channels_ = 0;
4030   clear_has_channels();
4031 }
4032 ::google::protobuf::int32 BlobProto::channels() const {
4033   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.channels)
4034   return channels_;
4035 }
4036 void BlobProto::set_channels(::google::protobuf::int32 value) {
4037   set_has_channels();
4038   channels_ = value;
4039   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.channels)
4040 }
4041
4042 // optional int32 height = 3 [default = 0];
4043 bool BlobProto::has_height() const {
4044   return (_has_bits_[0] & 0x00000200u) != 0;
4045 }
4046 void BlobProto::set_has_height() {
4047   _has_bits_[0] |= 0x00000200u;
4048 }
4049 void BlobProto::clear_has_height() {
4050   _has_bits_[0] &= ~0x00000200u;
4051 }
4052 void BlobProto::clear_height() {
4053   height_ = 0;
4054   clear_has_height();
4055 }
4056 ::google::protobuf::int32 BlobProto::height() const {
4057   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.height)
4058   return height_;
4059 }
4060 void BlobProto::set_height(::google::protobuf::int32 value) {
4061   set_has_height();
4062   height_ = value;
4063   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.height)
4064 }
4065
4066 // optional int32 width = 4 [default = 0];
4067 bool BlobProto::has_width() const {
4068   return (_has_bits_[0] & 0x00000400u) != 0;
4069 }
4070 void BlobProto::set_has_width() {
4071   _has_bits_[0] |= 0x00000400u;
4072 }
4073 void BlobProto::clear_has_width() {
4074   _has_bits_[0] &= ~0x00000400u;
4075 }
4076 void BlobProto::clear_width() {
4077   width_ = 0;
4078   clear_has_width();
4079 }
4080 ::google::protobuf::int32 BlobProto::width() const {
4081   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.width)
4082   return width_;
4083 }
4084 void BlobProto::set_width(::google::protobuf::int32 value) {
4085   set_has_width();
4086   width_ = value;
4087   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.width)
4088 }
4089
4090 inline const BlobProto* BlobProto::internal_default_instance() {
4091   return &BlobProto_default_instance_.get();
4092 }
4093 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
4094
4095 // ===================================================================
4096
4097 #if !defined(_MSC_VER) || _MSC_VER >= 1900
4098 const int BlobProtoVector::kBlobsFieldNumber;
4099 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
4100
4101 BlobProtoVector::BlobProtoVector()
4102   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
4103   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4104   SharedCtor();
4105   // @@protoc_insertion_point(constructor:opencv_caffe.BlobProtoVector)
4106 }
4107
4108 void BlobProtoVector::InitAsDefaultInstance() {
4109 }
4110
4111 BlobProtoVector::BlobProtoVector(const BlobProtoVector& from)
4112   : ::google::protobuf::Message(),
4113     _internal_metadata_(NULL) {
4114   SharedCtor();
4115   UnsafeMergeFrom(from);
4116   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BlobProtoVector)
4117 }
4118
4119 void BlobProtoVector::SharedCtor() {
4120   _cached_size_ = 0;
4121 }
4122
4123 BlobProtoVector::~BlobProtoVector() {
4124   // @@protoc_insertion_point(destructor:opencv_caffe.BlobProtoVector)
4125   SharedDtor();
4126 }
4127
4128 void BlobProtoVector::SharedDtor() {
4129 }
4130
4131 void BlobProtoVector::SetCachedSize(int size) const {
4132   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4133   _cached_size_ = size;
4134   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4135 }
4136 const ::google::protobuf::Descriptor* BlobProtoVector::descriptor() {
4137   protobuf_AssignDescriptorsOnce();
4138   return BlobProtoVector_descriptor_;
4139 }
4140
4141 const BlobProtoVector& BlobProtoVector::default_instance() {
4142   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4143   return *internal_default_instance();
4144 }
4145
4146 ::google::protobuf::internal::ExplicitlyConstructed<BlobProtoVector> BlobProtoVector_default_instance_;
4147
4148 BlobProtoVector* BlobProtoVector::New(::google::protobuf::Arena* arena) const {
4149   BlobProtoVector* n = new BlobProtoVector;
4150   if (arena != NULL) {
4151     arena->Own(n);
4152   }
4153   return n;
4154 }
4155
4156 void BlobProtoVector::Clear() {
4157 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BlobProtoVector)
4158   blobs_.Clear();
4159   _has_bits_.Clear();
4160   if (_internal_metadata_.have_unknown_fields()) {
4161     mutable_unknown_fields()->Clear();
4162   }
4163 }
4164
4165 bool BlobProtoVector::MergePartialFromCodedStream(
4166     ::google::protobuf::io::CodedInputStream* input) {
4167 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
4168   ::google::protobuf::uint32 tag;
4169   // @@protoc_insertion_point(parse_start:opencv_caffe.BlobProtoVector)
4170   for (;;) {
4171     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
4172     tag = p.first;
4173     if (!p.second) goto handle_unusual;
4174     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4175       // repeated .opencv_caffe.BlobProto blobs = 1;
4176       case 1: {
4177         if (tag == 10) {
4178           DO_(input->IncrementRecursionDepth());
4179          parse_loop_blobs:
4180           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
4181                 input, add_blobs()));
4182         } else {
4183           goto handle_unusual;
4184         }
4185         if (input->ExpectTag(10)) goto parse_loop_blobs;
4186         input->UnsafeDecrementRecursionDepth();
4187         if (input->ExpectAtEnd()) goto success;
4188         break;
4189       }
4190
4191       default: {
4192       handle_unusual:
4193         if (tag == 0 ||
4194             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4195             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4196           goto success;
4197         }
4198         DO_(::google::protobuf::internal::WireFormat::SkipField(
4199               input, tag, mutable_unknown_fields()));
4200         break;
4201       }
4202     }
4203   }
4204 success:
4205   // @@protoc_insertion_point(parse_success:opencv_caffe.BlobProtoVector)
4206   return true;
4207 failure:
4208   // @@protoc_insertion_point(parse_failure:opencv_caffe.BlobProtoVector)
4209   return false;
4210 #undef DO_
4211 }
4212
4213 void BlobProtoVector::SerializeWithCachedSizes(
4214     ::google::protobuf::io::CodedOutputStream* output) const {
4215   // @@protoc_insertion_point(serialize_start:opencv_caffe.BlobProtoVector)
4216   // repeated .opencv_caffe.BlobProto blobs = 1;
4217   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
4218     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4219       1, this->blobs(i), output);
4220   }
4221
4222   if (_internal_metadata_.have_unknown_fields()) {
4223     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4224         unknown_fields(), output);
4225   }
4226   // @@protoc_insertion_point(serialize_end:opencv_caffe.BlobProtoVector)
4227 }
4228
4229 ::google::protobuf::uint8* BlobProtoVector::InternalSerializeWithCachedSizesToArray(
4230     bool deterministic, ::google::protobuf::uint8* target) const {
4231   (void)deterministic; // Unused
4232   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BlobProtoVector)
4233   // repeated .opencv_caffe.BlobProto blobs = 1;
4234   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
4235     target = ::google::protobuf::internal::WireFormatLite::
4236       InternalWriteMessageNoVirtualToArray(
4237         1, this->blobs(i), false, target);
4238   }
4239
4240   if (_internal_metadata_.have_unknown_fields()) {
4241     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4242         unknown_fields(), target);
4243   }
4244   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BlobProtoVector)
4245   return target;
4246 }
4247
4248 size_t BlobProtoVector::ByteSizeLong() const {
4249 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BlobProtoVector)
4250   size_t total_size = 0;
4251
4252   // repeated .opencv_caffe.BlobProto blobs = 1;
4253   {
4254     unsigned int count = this->blobs_size();
4255     total_size += 1UL * count;
4256     for (unsigned int i = 0; i < count; i++) {
4257       total_size +=
4258         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4259           this->blobs(i));
4260     }
4261   }
4262
4263   if (_internal_metadata_.have_unknown_fields()) {
4264     total_size +=
4265       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4266         unknown_fields());
4267   }
4268   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
4269   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4270   _cached_size_ = cached_size;
4271   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4272   return total_size;
4273 }
4274
4275 void BlobProtoVector::MergeFrom(const ::google::protobuf::Message& from) {
4276 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BlobProtoVector)
4277   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
4278   const BlobProtoVector* source =
4279       ::google::protobuf::internal::DynamicCastToGenerated<const BlobProtoVector>(
4280           &from);
4281   if (source == NULL) {
4282   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BlobProtoVector)
4283     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4284   } else {
4285   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BlobProtoVector)
4286     UnsafeMergeFrom(*source);
4287   }
4288 }
4289
4290 void BlobProtoVector::MergeFrom(const BlobProtoVector& from) {
4291 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BlobProtoVector)
4292   if (GOOGLE_PREDICT_TRUE(&from != this)) {
4293     UnsafeMergeFrom(from);
4294   } else {
4295     MergeFromFail(__LINE__);
4296   }
4297 }
4298
4299 void BlobProtoVector::UnsafeMergeFrom(const BlobProtoVector& from) {
4300   GOOGLE_DCHECK(&from != this);
4301   blobs_.MergeFrom(from.blobs_);
4302   if (from._internal_metadata_.have_unknown_fields()) {
4303     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
4304       from.unknown_fields(), &_internal_metadata_);
4305   }
4306 }
4307
4308 void BlobProtoVector::CopyFrom(const ::google::protobuf::Message& from) {
4309 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BlobProtoVector)
4310   if (&from == this) return;
4311   Clear();
4312   MergeFrom(from);
4313 }
4314
4315 void BlobProtoVector::CopyFrom(const BlobProtoVector& from) {
4316 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BlobProtoVector)
4317   if (&from == this) return;
4318   Clear();
4319   UnsafeMergeFrom(from);
4320 }
4321
4322 bool BlobProtoVector::IsInitialized() const {
4323
4324   return true;
4325 }
4326
4327 void BlobProtoVector::Swap(BlobProtoVector* other) {
4328   if (other == this) return;
4329   InternalSwap(other);
4330 }
4331 void BlobProtoVector::InternalSwap(BlobProtoVector* other) {
4332   blobs_.UnsafeArenaSwap(&other->blobs_);
4333   std::swap(_has_bits_[0], other->_has_bits_[0]);
4334   _internal_metadata_.Swap(&other->_internal_metadata_);
4335   std::swap(_cached_size_, other->_cached_size_);
4336 }
4337
4338 ::google::protobuf::Metadata BlobProtoVector::GetMetadata() const {
4339   protobuf_AssignDescriptorsOnce();
4340   ::google::protobuf::Metadata metadata;
4341   metadata.descriptor = BlobProtoVector_descriptor_;
4342   metadata.reflection = BlobProtoVector_reflection_;
4343   return metadata;
4344 }
4345
4346 #if PROTOBUF_INLINE_NOT_IN_HEADERS
4347 // BlobProtoVector
4348
4349 // repeated .opencv_caffe.BlobProto blobs = 1;
4350 int BlobProtoVector::blobs_size() const {
4351   return blobs_.size();
4352 }
4353 void BlobProtoVector::clear_blobs() {
4354   blobs_.Clear();
4355 }
4356 const ::opencv_caffe::BlobProto& BlobProtoVector::blobs(int index) const {
4357   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProtoVector.blobs)
4358   return blobs_.Get(index);
4359 }
4360 ::opencv_caffe::BlobProto* BlobProtoVector::mutable_blobs(int index) {
4361   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProtoVector.blobs)
4362   return blobs_.Mutable(index);
4363 }
4364 ::opencv_caffe::BlobProto* BlobProtoVector::add_blobs() {
4365   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProtoVector.blobs)
4366   return blobs_.Add();
4367 }
4368 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
4369 BlobProtoVector::mutable_blobs() {
4370   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProtoVector.blobs)
4371   return &blobs_;
4372 }
4373 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
4374 BlobProtoVector::blobs() const {
4375   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProtoVector.blobs)
4376   return blobs_;
4377 }
4378
4379 inline const BlobProtoVector* BlobProtoVector::internal_default_instance() {
4380   return &BlobProtoVector_default_instance_.get();
4381 }
4382 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
4383
4384 // ===================================================================
4385
4386 #if !defined(_MSC_VER) || _MSC_VER >= 1900
4387 const int PermuteParameter::kOrderFieldNumber;
4388 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
4389
4390 PermuteParameter::PermuteParameter()
4391   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
4392   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4393   SharedCtor();
4394   // @@protoc_insertion_point(constructor:opencv_caffe.PermuteParameter)
4395 }
4396
4397 void PermuteParameter::InitAsDefaultInstance() {
4398 }
4399
4400 PermuteParameter::PermuteParameter(const PermuteParameter& from)
4401   : ::google::protobuf::Message(),
4402     _internal_metadata_(NULL) {
4403   SharedCtor();
4404   UnsafeMergeFrom(from);
4405   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PermuteParameter)
4406 }
4407
4408 void PermuteParameter::SharedCtor() {
4409   _cached_size_ = 0;
4410 }
4411
4412 PermuteParameter::~PermuteParameter() {
4413   // @@protoc_insertion_point(destructor:opencv_caffe.PermuteParameter)
4414   SharedDtor();
4415 }
4416
4417 void PermuteParameter::SharedDtor() {
4418 }
4419
4420 void PermuteParameter::SetCachedSize(int size) const {
4421   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4422   _cached_size_ = size;
4423   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4424 }
4425 const ::google::protobuf::Descriptor* PermuteParameter::descriptor() {
4426   protobuf_AssignDescriptorsOnce();
4427   return PermuteParameter_descriptor_;
4428 }
4429
4430 const PermuteParameter& PermuteParameter::default_instance() {
4431   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4432   return *internal_default_instance();
4433 }
4434
4435 ::google::protobuf::internal::ExplicitlyConstructed<PermuteParameter> PermuteParameter_default_instance_;
4436
4437 PermuteParameter* PermuteParameter::New(::google::protobuf::Arena* arena) const {
4438   PermuteParameter* n = new PermuteParameter;
4439   if (arena != NULL) {
4440     arena->Own(n);
4441   }
4442   return n;
4443 }
4444
4445 void PermuteParameter::Clear() {
4446 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PermuteParameter)
4447   order_.Clear();
4448   _has_bits_.Clear();
4449   if (_internal_metadata_.have_unknown_fields()) {
4450     mutable_unknown_fields()->Clear();
4451   }
4452 }
4453
4454 bool PermuteParameter::MergePartialFromCodedStream(
4455     ::google::protobuf::io::CodedInputStream* input) {
4456 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
4457   ::google::protobuf::uint32 tag;
4458   // @@protoc_insertion_point(parse_start:opencv_caffe.PermuteParameter)
4459   for (;;) {
4460     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
4461     tag = p.first;
4462     if (!p.second) goto handle_unusual;
4463     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4464       // repeated uint32 order = 1;
4465       case 1: {
4466         if (tag == 8) {
4467          parse_order:
4468           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
4469                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
4470                  1, 8, input, this->mutable_order())));
4471         } else if (tag == 10) {
4472           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
4473                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
4474                  input, this->mutable_order())));
4475         } else {
4476           goto handle_unusual;
4477         }
4478         if (input->ExpectTag(8)) goto parse_order;
4479         if (input->ExpectAtEnd()) goto success;
4480         break;
4481       }
4482
4483       default: {
4484       handle_unusual:
4485         if (tag == 0 ||
4486             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4487             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4488           goto success;
4489         }
4490         DO_(::google::protobuf::internal::WireFormat::SkipField(
4491               input, tag, mutable_unknown_fields()));
4492         break;
4493       }
4494     }
4495   }
4496 success:
4497   // @@protoc_insertion_point(parse_success:opencv_caffe.PermuteParameter)
4498   return true;
4499 failure:
4500   // @@protoc_insertion_point(parse_failure:opencv_caffe.PermuteParameter)
4501   return false;
4502 #undef DO_
4503 }
4504
4505 void PermuteParameter::SerializeWithCachedSizes(
4506     ::google::protobuf::io::CodedOutputStream* output) const {
4507   // @@protoc_insertion_point(serialize_start:opencv_caffe.PermuteParameter)
4508   // repeated uint32 order = 1;
4509   for (int i = 0; i < this->order_size(); i++) {
4510     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
4511       1, this->order(i), output);
4512   }
4513
4514   if (_internal_metadata_.have_unknown_fields()) {
4515     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4516         unknown_fields(), output);
4517   }
4518   // @@protoc_insertion_point(serialize_end:opencv_caffe.PermuteParameter)
4519 }
4520
4521 ::google::protobuf::uint8* PermuteParameter::InternalSerializeWithCachedSizesToArray(
4522     bool deterministic, ::google::protobuf::uint8* target) const {
4523   (void)deterministic; // Unused
4524   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PermuteParameter)
4525   // repeated uint32 order = 1;
4526   for (int i = 0; i < this->order_size(); i++) {
4527     target = ::google::protobuf::internal::WireFormatLite::
4528       WriteUInt32ToArray(1, this->order(i), target);
4529   }
4530
4531   if (_internal_metadata_.have_unknown_fields()) {
4532     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4533         unknown_fields(), target);
4534   }
4535   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PermuteParameter)
4536   return target;
4537 }
4538
4539 size_t PermuteParameter::ByteSizeLong() const {
4540 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PermuteParameter)
4541   size_t total_size = 0;
4542
4543   // repeated uint32 order = 1;
4544   {
4545     size_t data_size = 0;
4546     unsigned int count = this->order_size();
4547     for (unsigned int i = 0; i < count; i++) {
4548       data_size += ::google::protobuf::internal::WireFormatLite::
4549         UInt32Size(this->order(i));
4550     }
4551     total_size += 1 *
4552                   ::google::protobuf::internal::FromIntSize(this->order_size());
4553     total_size += data_size;
4554   }
4555
4556   if (_internal_metadata_.have_unknown_fields()) {
4557     total_size +=
4558       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4559         unknown_fields());
4560   }
4561   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
4562   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4563   _cached_size_ = cached_size;
4564   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4565   return total_size;
4566 }
4567
4568 void PermuteParameter::MergeFrom(const ::google::protobuf::Message& from) {
4569 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PermuteParameter)
4570   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
4571   const PermuteParameter* source =
4572       ::google::protobuf::internal::DynamicCastToGenerated<const PermuteParameter>(
4573           &from);
4574   if (source == NULL) {
4575   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PermuteParameter)
4576     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4577   } else {
4578   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PermuteParameter)
4579     UnsafeMergeFrom(*source);
4580   }
4581 }
4582
4583 void PermuteParameter::MergeFrom(const PermuteParameter& from) {
4584 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PermuteParameter)
4585   if (GOOGLE_PREDICT_TRUE(&from != this)) {
4586     UnsafeMergeFrom(from);
4587   } else {
4588     MergeFromFail(__LINE__);
4589   }
4590 }
4591
4592 void PermuteParameter::UnsafeMergeFrom(const PermuteParameter& from) {
4593   GOOGLE_DCHECK(&from != this);
4594   order_.UnsafeMergeFrom(from.order_);
4595   if (from._internal_metadata_.have_unknown_fields()) {
4596     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
4597       from.unknown_fields(), &_internal_metadata_);
4598   }
4599 }
4600
4601 void PermuteParameter::CopyFrom(const ::google::protobuf::Message& from) {
4602 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PermuteParameter)
4603   if (&from == this) return;
4604   Clear();
4605   MergeFrom(from);
4606 }
4607
4608 void PermuteParameter::CopyFrom(const PermuteParameter& from) {
4609 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PermuteParameter)
4610   if (&from == this) return;
4611   Clear();
4612   UnsafeMergeFrom(from);
4613 }
4614
4615 bool PermuteParameter::IsInitialized() const {
4616
4617   return true;
4618 }
4619
4620 void PermuteParameter::Swap(PermuteParameter* other) {
4621   if (other == this) return;
4622   InternalSwap(other);
4623 }
4624 void PermuteParameter::InternalSwap(PermuteParameter* other) {
4625   order_.UnsafeArenaSwap(&other->order_);
4626   std::swap(_has_bits_[0], other->_has_bits_[0]);
4627   _internal_metadata_.Swap(&other->_internal_metadata_);
4628   std::swap(_cached_size_, other->_cached_size_);
4629 }
4630
4631 ::google::protobuf::Metadata PermuteParameter::GetMetadata() const {
4632   protobuf_AssignDescriptorsOnce();
4633   ::google::protobuf::Metadata metadata;
4634   metadata.descriptor = PermuteParameter_descriptor_;
4635   metadata.reflection = PermuteParameter_reflection_;
4636   return metadata;
4637 }
4638
4639 #if PROTOBUF_INLINE_NOT_IN_HEADERS
4640 // PermuteParameter
4641
4642 // repeated uint32 order = 1;
4643 int PermuteParameter::order_size() const {
4644   return order_.size();
4645 }
4646 void PermuteParameter::clear_order() {
4647   order_.Clear();
4648 }
4649 ::google::protobuf::uint32 PermuteParameter::order(int index) const {
4650   // @@protoc_insertion_point(field_get:opencv_caffe.PermuteParameter.order)
4651   return order_.Get(index);
4652 }
4653 void PermuteParameter::set_order(int index, ::google::protobuf::uint32 value) {
4654   order_.Set(index, value);
4655   // @@protoc_insertion_point(field_set:opencv_caffe.PermuteParameter.order)
4656 }
4657 void PermuteParameter::add_order(::google::protobuf::uint32 value) {
4658   order_.Add(value);
4659   // @@protoc_insertion_point(field_add:opencv_caffe.PermuteParameter.order)
4660 }
4661 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
4662 PermuteParameter::order() const {
4663   // @@protoc_insertion_point(field_list:opencv_caffe.PermuteParameter.order)
4664   return order_;
4665 }
4666 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
4667 PermuteParameter::mutable_order() {
4668   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PermuteParameter.order)
4669   return &order_;
4670 }
4671
4672 inline const PermuteParameter* PermuteParameter::internal_default_instance() {
4673   return &PermuteParameter_default_instance_.get();
4674 }
4675 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
4676
4677 // ===================================================================
4678
4679 #if !defined(_MSC_VER) || _MSC_VER >= 1900
4680 const int NormalizeBBoxParameter::kAcrossSpatialFieldNumber;
4681 const int NormalizeBBoxParameter::kScaleFillerFieldNumber;
4682 const int NormalizeBBoxParameter::kChannelSharedFieldNumber;
4683 const int NormalizeBBoxParameter::kEpsFieldNumber;
4684 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
4685
4686 NormalizeBBoxParameter::NormalizeBBoxParameter()
4687   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
4688   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4689   SharedCtor();
4690   // @@protoc_insertion_point(constructor:opencv_caffe.NormalizeBBoxParameter)
4691 }
4692
4693 void NormalizeBBoxParameter::InitAsDefaultInstance() {
4694   scale_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
4695       ::opencv_caffe::FillerParameter::internal_default_instance());
4696 }
4697
4698 NormalizeBBoxParameter::NormalizeBBoxParameter(const NormalizeBBoxParameter& from)
4699   : ::google::protobuf::Message(),
4700     _internal_metadata_(NULL) {
4701   SharedCtor();
4702   UnsafeMergeFrom(from);
4703   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NormalizeBBoxParameter)
4704 }
4705
4706 void NormalizeBBoxParameter::SharedCtor() {
4707   _cached_size_ = 0;
4708   scale_filler_ = NULL;
4709   across_spatial_ = true;
4710   channel_shared_ = true;
4711   eps_ = 1e-10f;
4712 }
4713
4714 NormalizeBBoxParameter::~NormalizeBBoxParameter() {
4715   // @@protoc_insertion_point(destructor:opencv_caffe.NormalizeBBoxParameter)
4716   SharedDtor();
4717 }
4718
4719 void NormalizeBBoxParameter::SharedDtor() {
4720   if (this != &NormalizeBBoxParameter_default_instance_.get()) {
4721     delete scale_filler_;
4722   }
4723 }
4724
4725 void NormalizeBBoxParameter::SetCachedSize(int size) const {
4726   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4727   _cached_size_ = size;
4728   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4729 }
4730 const ::google::protobuf::Descriptor* NormalizeBBoxParameter::descriptor() {
4731   protobuf_AssignDescriptorsOnce();
4732   return NormalizeBBoxParameter_descriptor_;
4733 }
4734
4735 const NormalizeBBoxParameter& NormalizeBBoxParameter::default_instance() {
4736   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
4737   return *internal_default_instance();
4738 }
4739
4740 ::google::protobuf::internal::ExplicitlyConstructed<NormalizeBBoxParameter> NormalizeBBoxParameter_default_instance_;
4741
4742 NormalizeBBoxParameter* NormalizeBBoxParameter::New(::google::protobuf::Arena* arena) const {
4743   NormalizeBBoxParameter* n = new NormalizeBBoxParameter;
4744   if (arena != NULL) {
4745     arena->Own(n);
4746   }
4747   return n;
4748 }
4749
4750 void NormalizeBBoxParameter::Clear() {
4751 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NormalizeBBoxParameter)
4752   if (_has_bits_[0 / 32] & 15u) {
4753     across_spatial_ = true;
4754     if (has_scale_filler()) {
4755       if (scale_filler_ != NULL) scale_filler_->::opencv_caffe::FillerParameter::Clear();
4756     }
4757     channel_shared_ = true;
4758     eps_ = 1e-10f;
4759   }
4760   _has_bits_.Clear();
4761   if (_internal_metadata_.have_unknown_fields()) {
4762     mutable_unknown_fields()->Clear();
4763   }
4764 }
4765
4766 bool NormalizeBBoxParameter::MergePartialFromCodedStream(
4767     ::google::protobuf::io::CodedInputStream* input) {
4768 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
4769   ::google::protobuf::uint32 tag;
4770   // @@protoc_insertion_point(parse_start:opencv_caffe.NormalizeBBoxParameter)
4771   for (;;) {
4772     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
4773     tag = p.first;
4774     if (!p.second) goto handle_unusual;
4775     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
4776       // optional bool across_spatial = 1 [default = true];
4777       case 1: {
4778         if (tag == 8) {
4779           set_has_across_spatial();
4780           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4781                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4782                  input, &across_spatial_)));
4783         } else {
4784           goto handle_unusual;
4785         }
4786         if (input->ExpectTag(18)) goto parse_scale_filler;
4787         break;
4788       }
4789
4790       // optional .opencv_caffe.FillerParameter scale_filler = 2;
4791       case 2: {
4792         if (tag == 18) {
4793          parse_scale_filler:
4794           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
4795                input, mutable_scale_filler()));
4796         } else {
4797           goto handle_unusual;
4798         }
4799         if (input->ExpectTag(24)) goto parse_channel_shared;
4800         break;
4801       }
4802
4803       // optional bool channel_shared = 3 [default = true];
4804       case 3: {
4805         if (tag == 24) {
4806          parse_channel_shared:
4807           set_has_channel_shared();
4808           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4809                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
4810                  input, &channel_shared_)));
4811         } else {
4812           goto handle_unusual;
4813         }
4814         if (input->ExpectTag(37)) goto parse_eps;
4815         break;
4816       }
4817
4818       // optional float eps = 4 [default = 1e-10];
4819       case 4: {
4820         if (tag == 37) {
4821          parse_eps:
4822           set_has_eps();
4823           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
4824                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
4825                  input, &eps_)));
4826         } else {
4827           goto handle_unusual;
4828         }
4829         if (input->ExpectAtEnd()) goto success;
4830         break;
4831       }
4832
4833       default: {
4834       handle_unusual:
4835         if (tag == 0 ||
4836             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
4837             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
4838           goto success;
4839         }
4840         DO_(::google::protobuf::internal::WireFormat::SkipField(
4841               input, tag, mutable_unknown_fields()));
4842         break;
4843       }
4844     }
4845   }
4846 success:
4847   // @@protoc_insertion_point(parse_success:opencv_caffe.NormalizeBBoxParameter)
4848   return true;
4849 failure:
4850   // @@protoc_insertion_point(parse_failure:opencv_caffe.NormalizeBBoxParameter)
4851   return false;
4852 #undef DO_
4853 }
4854
4855 void NormalizeBBoxParameter::SerializeWithCachedSizes(
4856     ::google::protobuf::io::CodedOutputStream* output) const {
4857   // @@protoc_insertion_point(serialize_start:opencv_caffe.NormalizeBBoxParameter)
4858   // optional bool across_spatial = 1 [default = true];
4859   if (has_across_spatial()) {
4860     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->across_spatial(), output);
4861   }
4862
4863   // optional .opencv_caffe.FillerParameter scale_filler = 2;
4864   if (has_scale_filler()) {
4865     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
4866       2, *this->scale_filler_, output);
4867   }
4868
4869   // optional bool channel_shared = 3 [default = true];
4870   if (has_channel_shared()) {
4871     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->channel_shared(), output);
4872   }
4873
4874   // optional float eps = 4 [default = 1e-10];
4875   if (has_eps()) {
4876     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->eps(), output);
4877   }
4878
4879   if (_internal_metadata_.have_unknown_fields()) {
4880     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
4881         unknown_fields(), output);
4882   }
4883   // @@protoc_insertion_point(serialize_end:opencv_caffe.NormalizeBBoxParameter)
4884 }
4885
4886 ::google::protobuf::uint8* NormalizeBBoxParameter::InternalSerializeWithCachedSizesToArray(
4887     bool deterministic, ::google::protobuf::uint8* target) const {
4888   (void)deterministic; // Unused
4889   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NormalizeBBoxParameter)
4890   // optional bool across_spatial = 1 [default = true];
4891   if (has_across_spatial()) {
4892     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->across_spatial(), target);
4893   }
4894
4895   // optional .opencv_caffe.FillerParameter scale_filler = 2;
4896   if (has_scale_filler()) {
4897     target = ::google::protobuf::internal::WireFormatLite::
4898       InternalWriteMessageNoVirtualToArray(
4899         2, *this->scale_filler_, false, target);
4900   }
4901
4902   // optional bool channel_shared = 3 [default = true];
4903   if (has_channel_shared()) {
4904     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->channel_shared(), target);
4905   }
4906
4907   // optional float eps = 4 [default = 1e-10];
4908   if (has_eps()) {
4909     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->eps(), target);
4910   }
4911
4912   if (_internal_metadata_.have_unknown_fields()) {
4913     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
4914         unknown_fields(), target);
4915   }
4916   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NormalizeBBoxParameter)
4917   return target;
4918 }
4919
4920 size_t NormalizeBBoxParameter::ByteSizeLong() const {
4921 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NormalizeBBoxParameter)
4922   size_t total_size = 0;
4923
4924   if (_has_bits_[0 / 32] & 15u) {
4925     // optional bool across_spatial = 1 [default = true];
4926     if (has_across_spatial()) {
4927       total_size += 1 + 1;
4928     }
4929
4930     // optional .opencv_caffe.FillerParameter scale_filler = 2;
4931     if (has_scale_filler()) {
4932       total_size += 1 +
4933         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
4934           *this->scale_filler_);
4935     }
4936
4937     // optional bool channel_shared = 3 [default = true];
4938     if (has_channel_shared()) {
4939       total_size += 1 + 1;
4940     }
4941
4942     // optional float eps = 4 [default = 1e-10];
4943     if (has_eps()) {
4944       total_size += 1 + 4;
4945     }
4946
4947   }
4948   if (_internal_metadata_.have_unknown_fields()) {
4949     total_size +=
4950       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
4951         unknown_fields());
4952   }
4953   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
4954   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
4955   _cached_size_ = cached_size;
4956   GOOGLE_SAFE_CONCURRENT_WRITES_END();
4957   return total_size;
4958 }
4959
4960 void NormalizeBBoxParameter::MergeFrom(const ::google::protobuf::Message& from) {
4961 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NormalizeBBoxParameter)
4962   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
4963   const NormalizeBBoxParameter* source =
4964       ::google::protobuf::internal::DynamicCastToGenerated<const NormalizeBBoxParameter>(
4965           &from);
4966   if (source == NULL) {
4967   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NormalizeBBoxParameter)
4968     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
4969   } else {
4970   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NormalizeBBoxParameter)
4971     UnsafeMergeFrom(*source);
4972   }
4973 }
4974
4975 void NormalizeBBoxParameter::MergeFrom(const NormalizeBBoxParameter& from) {
4976 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NormalizeBBoxParameter)
4977   if (GOOGLE_PREDICT_TRUE(&from != this)) {
4978     UnsafeMergeFrom(from);
4979   } else {
4980     MergeFromFail(__LINE__);
4981   }
4982 }
4983
4984 void NormalizeBBoxParameter::UnsafeMergeFrom(const NormalizeBBoxParameter& from) {
4985   GOOGLE_DCHECK(&from != this);
4986   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
4987     if (from.has_across_spatial()) {
4988       set_across_spatial(from.across_spatial());
4989     }
4990     if (from.has_scale_filler()) {
4991       mutable_scale_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.scale_filler());
4992     }
4993     if (from.has_channel_shared()) {
4994       set_channel_shared(from.channel_shared());
4995     }
4996     if (from.has_eps()) {
4997       set_eps(from.eps());
4998     }
4999   }
5000   if (from._internal_metadata_.have_unknown_fields()) {
5001     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
5002       from.unknown_fields(), &_internal_metadata_);
5003   }
5004 }
5005
5006 void NormalizeBBoxParameter::CopyFrom(const ::google::protobuf::Message& from) {
5007 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NormalizeBBoxParameter)
5008   if (&from == this) return;
5009   Clear();
5010   MergeFrom(from);
5011 }
5012
5013 void NormalizeBBoxParameter::CopyFrom(const NormalizeBBoxParameter& from) {
5014 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NormalizeBBoxParameter)
5015   if (&from == this) return;
5016   Clear();
5017   UnsafeMergeFrom(from);
5018 }
5019
5020 bool NormalizeBBoxParameter::IsInitialized() const {
5021
5022   return true;
5023 }
5024
5025 void NormalizeBBoxParameter::Swap(NormalizeBBoxParameter* other) {
5026   if (other == this) return;
5027   InternalSwap(other);
5028 }
5029 void NormalizeBBoxParameter::InternalSwap(NormalizeBBoxParameter* other) {
5030   std::swap(across_spatial_, other->across_spatial_);
5031   std::swap(scale_filler_, other->scale_filler_);
5032   std::swap(channel_shared_, other->channel_shared_);
5033   std::swap(eps_, other->eps_);
5034   std::swap(_has_bits_[0], other->_has_bits_[0]);
5035   _internal_metadata_.Swap(&other->_internal_metadata_);
5036   std::swap(_cached_size_, other->_cached_size_);
5037 }
5038
5039 ::google::protobuf::Metadata NormalizeBBoxParameter::GetMetadata() const {
5040   protobuf_AssignDescriptorsOnce();
5041   ::google::protobuf::Metadata metadata;
5042   metadata.descriptor = NormalizeBBoxParameter_descriptor_;
5043   metadata.reflection = NormalizeBBoxParameter_reflection_;
5044   return metadata;
5045 }
5046
5047 #if PROTOBUF_INLINE_NOT_IN_HEADERS
5048 // NormalizeBBoxParameter
5049
5050 // optional bool across_spatial = 1 [default = true];
5051 bool NormalizeBBoxParameter::has_across_spatial() const {
5052   return (_has_bits_[0] & 0x00000001u) != 0;
5053 }
5054 void NormalizeBBoxParameter::set_has_across_spatial() {
5055   _has_bits_[0] |= 0x00000001u;
5056 }
5057 void NormalizeBBoxParameter::clear_has_across_spatial() {
5058   _has_bits_[0] &= ~0x00000001u;
5059 }
5060 void NormalizeBBoxParameter::clear_across_spatial() {
5061   across_spatial_ = true;
5062   clear_has_across_spatial();
5063 }
5064 bool NormalizeBBoxParameter::across_spatial() const {
5065   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.across_spatial)
5066   return across_spatial_;
5067 }
5068 void NormalizeBBoxParameter::set_across_spatial(bool value) {
5069   set_has_across_spatial();
5070   across_spatial_ = value;
5071   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.across_spatial)
5072 }
5073
5074 // optional .opencv_caffe.FillerParameter scale_filler = 2;
5075 bool NormalizeBBoxParameter::has_scale_filler() const {
5076   return (_has_bits_[0] & 0x00000002u) != 0;
5077 }
5078 void NormalizeBBoxParameter::set_has_scale_filler() {
5079   _has_bits_[0] |= 0x00000002u;
5080 }
5081 void NormalizeBBoxParameter::clear_has_scale_filler() {
5082   _has_bits_[0] &= ~0x00000002u;
5083 }
5084 void NormalizeBBoxParameter::clear_scale_filler() {
5085   if (scale_filler_ != NULL) scale_filler_->::opencv_caffe::FillerParameter::Clear();
5086   clear_has_scale_filler();
5087 }
5088 const ::opencv_caffe::FillerParameter& NormalizeBBoxParameter::scale_filler() const {
5089   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5090   return scale_filler_ != NULL ? *scale_filler_
5091                          : *::opencv_caffe::FillerParameter::internal_default_instance();
5092 }
5093 ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::mutable_scale_filler() {
5094   set_has_scale_filler();
5095   if (scale_filler_ == NULL) {
5096     scale_filler_ = new ::opencv_caffe::FillerParameter;
5097   }
5098   // @@protoc_insertion_point(field_mutable:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5099   return scale_filler_;
5100 }
5101 ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::release_scale_filler() {
5102   // @@protoc_insertion_point(field_release:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5103   clear_has_scale_filler();
5104   ::opencv_caffe::FillerParameter* temp = scale_filler_;
5105   scale_filler_ = NULL;
5106   return temp;
5107 }
5108 void NormalizeBBoxParameter::set_allocated_scale_filler(::opencv_caffe::FillerParameter* scale_filler) {
5109   delete scale_filler_;
5110   scale_filler_ = scale_filler;
5111   if (scale_filler) {
5112     set_has_scale_filler();
5113   } else {
5114     clear_has_scale_filler();
5115   }
5116   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NormalizeBBoxParameter.scale_filler)
5117 }
5118
5119 // optional bool channel_shared = 3 [default = true];
5120 bool NormalizeBBoxParameter::has_channel_shared() const {
5121   return (_has_bits_[0] & 0x00000004u) != 0;
5122 }
5123 void NormalizeBBoxParameter::set_has_channel_shared() {
5124   _has_bits_[0] |= 0x00000004u;
5125 }
5126 void NormalizeBBoxParameter::clear_has_channel_shared() {
5127   _has_bits_[0] &= ~0x00000004u;
5128 }
5129 void NormalizeBBoxParameter::clear_channel_shared() {
5130   channel_shared_ = true;
5131   clear_has_channel_shared();
5132 }
5133 bool NormalizeBBoxParameter::channel_shared() const {
5134   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.channel_shared)
5135   return channel_shared_;
5136 }
5137 void NormalizeBBoxParameter::set_channel_shared(bool value) {
5138   set_has_channel_shared();
5139   channel_shared_ = value;
5140   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.channel_shared)
5141 }
5142
5143 // optional float eps = 4 [default = 1e-10];
5144 bool NormalizeBBoxParameter::has_eps() const {
5145   return (_has_bits_[0] & 0x00000008u) != 0;
5146 }
5147 void NormalizeBBoxParameter::set_has_eps() {
5148   _has_bits_[0] |= 0x00000008u;
5149 }
5150 void NormalizeBBoxParameter::clear_has_eps() {
5151   _has_bits_[0] &= ~0x00000008u;
5152 }
5153 void NormalizeBBoxParameter::clear_eps() {
5154   eps_ = 1e-10f;
5155   clear_has_eps();
5156 }
5157 float NormalizeBBoxParameter::eps() const {
5158   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.eps)
5159   return eps_;
5160 }
5161 void NormalizeBBoxParameter::set_eps(float value) {
5162   set_has_eps();
5163   eps_ = value;
5164   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.eps)
5165 }
5166
5167 inline const NormalizeBBoxParameter* NormalizeBBoxParameter::internal_default_instance() {
5168   return &NormalizeBBoxParameter_default_instance_.get();
5169 }
5170 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
5171
5172 // ===================================================================
5173
5174 const ::google::protobuf::EnumDescriptor* PriorBoxParameter_CodeType_descriptor() {
5175   protobuf_AssignDescriptorsOnce();
5176   return PriorBoxParameter_CodeType_descriptor_;
5177 }
5178 bool PriorBoxParameter_CodeType_IsValid(int value) {
5179   switch (value) {
5180     case 1:
5181     case 2:
5182       return true;
5183     default:
5184       return false;
5185   }
5186 }
5187
5188 #if !defined(_MSC_VER) || _MSC_VER >= 1900
5189 const PriorBoxParameter_CodeType PriorBoxParameter::CORNER;
5190 const PriorBoxParameter_CodeType PriorBoxParameter::CENTER_SIZE;
5191 const PriorBoxParameter_CodeType PriorBoxParameter::CodeType_MIN;
5192 const PriorBoxParameter_CodeType PriorBoxParameter::CodeType_MAX;
5193 const int PriorBoxParameter::CodeType_ARRAYSIZE;
5194 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
5195 #if !defined(_MSC_VER) || _MSC_VER >= 1900
5196 const int PriorBoxParameter::kMinSizeFieldNumber;
5197 const int PriorBoxParameter::kMaxSizeFieldNumber;
5198 const int PriorBoxParameter::kAspectRatioFieldNumber;
5199 const int PriorBoxParameter::kFlipFieldNumber;
5200 const int PriorBoxParameter::kClipFieldNumber;
5201 const int PriorBoxParameter::kVarianceFieldNumber;
5202 const int PriorBoxParameter::kImgSizeFieldNumber;
5203 const int PriorBoxParameter::kImgHFieldNumber;
5204 const int PriorBoxParameter::kImgWFieldNumber;
5205 const int PriorBoxParameter::kStepFieldNumber;
5206 const int PriorBoxParameter::kStepHFieldNumber;
5207 const int PriorBoxParameter::kStepWFieldNumber;
5208 const int PriorBoxParameter::kOffsetFieldNumber;
5209 const int PriorBoxParameter::kOffsetHFieldNumber;
5210 const int PriorBoxParameter::kOffsetWFieldNumber;
5211 const int PriorBoxParameter::kWidthFieldNumber;
5212 const int PriorBoxParameter::kHeightFieldNumber;
5213 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
5214
5215 PriorBoxParameter::PriorBoxParameter()
5216   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
5217   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
5218   SharedCtor();
5219   // @@protoc_insertion_point(constructor:opencv_caffe.PriorBoxParameter)
5220 }
5221
5222 void PriorBoxParameter::InitAsDefaultInstance() {
5223 }
5224
5225 PriorBoxParameter::PriorBoxParameter(const PriorBoxParameter& from)
5226   : ::google::protobuf::Message(),
5227     _internal_metadata_(NULL) {
5228   SharedCtor();
5229   UnsafeMergeFrom(from);
5230   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PriorBoxParameter)
5231 }
5232
5233 void PriorBoxParameter::SharedCtor() {
5234   _cached_size_ = 0;
5235   ::memset(&min_size_, 0, reinterpret_cast<char*>(&step_w_) -
5236     reinterpret_cast<char*>(&min_size_) + sizeof(step_w_));
5237   flip_ = true;
5238   clip_ = true;
5239   offset_ = 0.5f;
5240 }
5241
5242 PriorBoxParameter::~PriorBoxParameter() {
5243   // @@protoc_insertion_point(destructor:opencv_caffe.PriorBoxParameter)
5244   SharedDtor();
5245 }
5246
5247 void PriorBoxParameter::SharedDtor() {
5248 }
5249
5250 void PriorBoxParameter::SetCachedSize(int size) const {
5251   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
5252   _cached_size_ = size;
5253   GOOGLE_SAFE_CONCURRENT_WRITES_END();
5254 }
5255 const ::google::protobuf::Descriptor* PriorBoxParameter::descriptor() {
5256   protobuf_AssignDescriptorsOnce();
5257   return PriorBoxParameter_descriptor_;
5258 }
5259
5260 const PriorBoxParameter& PriorBoxParameter::default_instance() {
5261   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
5262   return *internal_default_instance();
5263 }
5264
5265 ::google::protobuf::internal::ExplicitlyConstructed<PriorBoxParameter> PriorBoxParameter_default_instance_;
5266
5267 PriorBoxParameter* PriorBoxParameter::New(::google::protobuf::Arena* arena) const {
5268   PriorBoxParameter* n = new PriorBoxParameter;
5269   if (arena != NULL) {
5270     arena->Own(n);
5271   }
5272   return n;
5273 }
5274
5275 void PriorBoxParameter::Clear() {
5276 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PriorBoxParameter)
5277 #if defined(__clang__)
5278 #define ZR_HELPER_(f) \
5279   _Pragma("clang diagnostic push") \
5280   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
5281   __builtin_offsetof(PriorBoxParameter, f) \
5282   _Pragma("clang diagnostic pop")
5283 #else
5284 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
5285   &reinterpret_cast<PriorBoxParameter*>(16)->f)
5286 #endif
5287
5288 #define ZR_(first, last) do {\
5289   ::memset(&(first), 0,\
5290            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
5291 } while (0)
5292
5293   if (_has_bits_[0 / 32] & 219u) {
5294     ZR_(min_size_, img_h_);
5295     flip_ = true;
5296     clip_ = true;
5297   }
5298   if (_has_bits_[8 / 32] & 7936u) {
5299     ZR_(img_w_, step_w_);
5300     offset_ = 0.5f;
5301   }
5302
5303 #undef ZR_HELPER_
5304 #undef ZR_
5305
5306   aspect_ratio_.Clear();
5307   variance_.Clear();
5308   offset_h_.Clear();
5309   offset_w_.Clear();
5310   width_.Clear();
5311   height_.Clear();
5312   _has_bits_.Clear();
5313   if (_internal_metadata_.have_unknown_fields()) {
5314     mutable_unknown_fields()->Clear();
5315   }
5316 }
5317
5318 bool PriorBoxParameter::MergePartialFromCodedStream(
5319     ::google::protobuf::io::CodedInputStream* input) {
5320 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
5321   ::google::protobuf::uint32 tag;
5322   // @@protoc_insertion_point(parse_start:opencv_caffe.PriorBoxParameter)
5323   for (;;) {
5324     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
5325     tag = p.first;
5326     if (!p.second) goto handle_unusual;
5327     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
5328       // optional float min_size = 1;
5329       case 1: {
5330         if (tag == 13) {
5331           set_has_min_size();
5332           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5333                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5334                  input, &min_size_)));
5335         } else {
5336           goto handle_unusual;
5337         }
5338         if (input->ExpectTag(21)) goto parse_max_size;
5339         break;
5340       }
5341
5342       // optional float max_size = 2;
5343       case 2: {
5344         if (tag == 21) {
5345          parse_max_size:
5346           set_has_max_size();
5347           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5348                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5349                  input, &max_size_)));
5350         } else {
5351           goto handle_unusual;
5352         }
5353         if (input->ExpectTag(29)) goto parse_aspect_ratio;
5354         break;
5355       }
5356
5357       // repeated float aspect_ratio = 3;
5358       case 3: {
5359         if (tag == 29) {
5360          parse_aspect_ratio:
5361           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5362                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5363                  1, 29, input, this->mutable_aspect_ratio())));
5364         } else if (tag == 26) {
5365           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5366                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5367                  input, this->mutable_aspect_ratio())));
5368         } else {
5369           goto handle_unusual;
5370         }
5371         if (input->ExpectTag(29)) goto parse_aspect_ratio;
5372         if (input->ExpectTag(32)) goto parse_flip;
5373         break;
5374       }
5375
5376       // optional bool flip = 4 [default = true];
5377       case 4: {
5378         if (tag == 32) {
5379          parse_flip:
5380           set_has_flip();
5381           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5382                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
5383                  input, &flip_)));
5384         } else {
5385           goto handle_unusual;
5386         }
5387         if (input->ExpectTag(40)) goto parse_clip;
5388         break;
5389       }
5390
5391       // optional bool clip = 5 [default = true];
5392       case 5: {
5393         if (tag == 40) {
5394          parse_clip:
5395           set_has_clip();
5396           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5397                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
5398                  input, &clip_)));
5399         } else {
5400           goto handle_unusual;
5401         }
5402         if (input->ExpectTag(53)) goto parse_variance;
5403         break;
5404       }
5405
5406       // repeated float variance = 6;
5407       case 6: {
5408         if (tag == 53) {
5409          parse_variance:
5410           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5411                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5412                  1, 53, input, this->mutable_variance())));
5413         } else if (tag == 50) {
5414           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5415                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5416                  input, this->mutable_variance())));
5417         } else {
5418           goto handle_unusual;
5419         }
5420         if (input->ExpectTag(53)) goto parse_variance;
5421         if (input->ExpectTag(56)) goto parse_img_size;
5422         break;
5423       }
5424
5425       // optional uint32 img_size = 7;
5426       case 7: {
5427         if (tag == 56) {
5428          parse_img_size:
5429           set_has_img_size();
5430           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5431                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
5432                  input, &img_size_)));
5433         } else {
5434           goto handle_unusual;
5435         }
5436         if (input->ExpectTag(64)) goto parse_img_h;
5437         break;
5438       }
5439
5440       // optional uint32 img_h = 8;
5441       case 8: {
5442         if (tag == 64) {
5443          parse_img_h:
5444           set_has_img_h();
5445           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5446                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
5447                  input, &img_h_)));
5448         } else {
5449           goto handle_unusual;
5450         }
5451         if (input->ExpectTag(72)) goto parse_img_w;
5452         break;
5453       }
5454
5455       // optional uint32 img_w = 9;
5456       case 9: {
5457         if (tag == 72) {
5458          parse_img_w:
5459           set_has_img_w();
5460           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5461                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
5462                  input, &img_w_)));
5463         } else {
5464           goto handle_unusual;
5465         }
5466         if (input->ExpectTag(85)) goto parse_step;
5467         break;
5468       }
5469
5470       // optional float step = 10;
5471       case 10: {
5472         if (tag == 85) {
5473          parse_step:
5474           set_has_step();
5475           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5476                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5477                  input, &step_)));
5478         } else {
5479           goto handle_unusual;
5480         }
5481         if (input->ExpectTag(93)) goto parse_step_h;
5482         break;
5483       }
5484
5485       // optional float step_h = 11;
5486       case 11: {
5487         if (tag == 93) {
5488          parse_step_h:
5489           set_has_step_h();
5490           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5491                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5492                  input, &step_h_)));
5493         } else {
5494           goto handle_unusual;
5495         }
5496         if (input->ExpectTag(101)) goto parse_step_w;
5497         break;
5498       }
5499
5500       // optional float step_w = 12;
5501       case 12: {
5502         if (tag == 101) {
5503          parse_step_w:
5504           set_has_step_w();
5505           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5506                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5507                  input, &step_w_)));
5508         } else {
5509           goto handle_unusual;
5510         }
5511         if (input->ExpectTag(109)) goto parse_offset;
5512         break;
5513       }
5514
5515       // optional float offset = 13 [default = 0.5];
5516       case 13: {
5517         if (tag == 109) {
5518          parse_offset:
5519           set_has_offset();
5520           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
5521                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5522                  input, &offset_)));
5523         } else {
5524           goto handle_unusual;
5525         }
5526         if (input->ExpectTag(117)) goto parse_offset_h;
5527         break;
5528       }
5529
5530       // repeated float offset_h = 14;
5531       case 14: {
5532         if (tag == 117) {
5533          parse_offset_h:
5534           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5535                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5536                  1, 117, input, this->mutable_offset_h())));
5537         } else if (tag == 114) {
5538           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5539                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5540                  input, this->mutable_offset_h())));
5541         } else {
5542           goto handle_unusual;
5543         }
5544         if (input->ExpectTag(117)) goto parse_offset_h;
5545         if (input->ExpectTag(125)) goto parse_offset_w;
5546         break;
5547       }
5548
5549       // repeated float offset_w = 15;
5550       case 15: {
5551         if (tag == 125) {
5552          parse_offset_w:
5553           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5554                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5555                  1, 125, input, this->mutable_offset_w())));
5556         } else if (tag == 122) {
5557           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5558                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5559                  input, this->mutable_offset_w())));
5560         } else {
5561           goto handle_unusual;
5562         }
5563         if (input->ExpectTag(125)) goto parse_offset_w;
5564         if (input->ExpectTag(133)) goto parse_width;
5565         break;
5566       }
5567
5568       // repeated float width = 16;
5569       case 16: {
5570         if (tag == 133) {
5571          parse_width:
5572           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5573                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5574                  2, 133, input, this->mutable_width())));
5575         } else if (tag == 130) {
5576           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5577                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5578                  input, this->mutable_width())));
5579         } else {
5580           goto handle_unusual;
5581         }
5582         if (input->ExpectTag(133)) goto parse_width;
5583         if (input->ExpectTag(141)) goto parse_height;
5584         break;
5585       }
5586
5587       // repeated float height = 17;
5588       case 17: {
5589         if (tag == 141) {
5590          parse_height:
5591           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
5592                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5593                  2, 141, input, this->mutable_height())));
5594         } else if (tag == 138) {
5595           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
5596                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
5597                  input, this->mutable_height())));
5598         } else {
5599           goto handle_unusual;
5600         }
5601         if (input->ExpectTag(141)) goto parse_height;
5602         if (input->ExpectAtEnd()) goto success;
5603         break;
5604       }
5605
5606       default: {
5607       handle_unusual:
5608         if (tag == 0 ||
5609             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
5610             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
5611           goto success;
5612         }
5613         DO_(::google::protobuf::internal::WireFormat::SkipField(
5614               input, tag, mutable_unknown_fields()));
5615         break;
5616       }
5617     }
5618   }
5619 success:
5620   // @@protoc_insertion_point(parse_success:opencv_caffe.PriorBoxParameter)
5621   return true;
5622 failure:
5623   // @@protoc_insertion_point(parse_failure:opencv_caffe.PriorBoxParameter)
5624   return false;
5625 #undef DO_
5626 }
5627
5628 void PriorBoxParameter::SerializeWithCachedSizes(
5629     ::google::protobuf::io::CodedOutputStream* output) const {
5630   // @@protoc_insertion_point(serialize_start:opencv_caffe.PriorBoxParameter)
5631   // optional float min_size = 1;
5632   if (has_min_size()) {
5633     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->min_size(), output);
5634   }
5635
5636   // optional float max_size = 2;
5637   if (has_max_size()) {
5638     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->max_size(), output);
5639   }
5640
5641   // repeated float aspect_ratio = 3;
5642   for (int i = 0; i < this->aspect_ratio_size(); i++) {
5643     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5644       3, this->aspect_ratio(i), output);
5645   }
5646
5647   // optional bool flip = 4 [default = true];
5648   if (has_flip()) {
5649     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->flip(), output);
5650   }
5651
5652   // optional bool clip = 5 [default = true];
5653   if (has_clip()) {
5654     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->clip(), output);
5655   }
5656
5657   // repeated float variance = 6;
5658   for (int i = 0; i < this->variance_size(); i++) {
5659     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5660       6, this->variance(i), output);
5661   }
5662
5663   // optional uint32 img_size = 7;
5664   if (has_img_size()) {
5665     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->img_size(), output);
5666   }
5667
5668   // optional uint32 img_h = 8;
5669   if (has_img_h()) {
5670     ::google::protobuf::internal::WireFormatLite::WriteUInt32(8, this->img_h(), output);
5671   }
5672
5673   // optional uint32 img_w = 9;
5674   if (has_img_w()) {
5675     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->img_w(), output);
5676   }
5677
5678   // optional float step = 10;
5679   if (has_step()) {
5680     ::google::protobuf::internal::WireFormatLite::WriteFloat(10, this->step(), output);
5681   }
5682
5683   // optional float step_h = 11;
5684   if (has_step_h()) {
5685     ::google::protobuf::internal::WireFormatLite::WriteFloat(11, this->step_h(), output);
5686   }
5687
5688   // optional float step_w = 12;
5689   if (has_step_w()) {
5690     ::google::protobuf::internal::WireFormatLite::WriteFloat(12, this->step_w(), output);
5691   }
5692
5693   // optional float offset = 13 [default = 0.5];
5694   if (has_offset()) {
5695     ::google::protobuf::internal::WireFormatLite::WriteFloat(13, this->offset(), output);
5696   }
5697
5698   // repeated float offset_h = 14;
5699   for (int i = 0; i < this->offset_h_size(); i++) {
5700     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5701       14, this->offset_h(i), output);
5702   }
5703
5704   // repeated float offset_w = 15;
5705   for (int i = 0; i < this->offset_w_size(); i++) {
5706     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5707       15, this->offset_w(i), output);
5708   }
5709
5710   // repeated float width = 16;
5711   for (int i = 0; i < this->width_size(); i++) {
5712     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5713       16, this->width(i), output);
5714   }
5715
5716   // repeated float height = 17;
5717   for (int i = 0; i < this->height_size(); i++) {
5718     ::google::protobuf::internal::WireFormatLite::WriteFloat(
5719       17, this->height(i), output);
5720   }
5721
5722   if (_internal_metadata_.have_unknown_fields()) {
5723     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
5724         unknown_fields(), output);
5725   }
5726   // @@protoc_insertion_point(serialize_end:opencv_caffe.PriorBoxParameter)
5727 }
5728
5729 ::google::protobuf::uint8* PriorBoxParameter::InternalSerializeWithCachedSizesToArray(
5730     bool deterministic, ::google::protobuf::uint8* target) const {
5731   (void)deterministic; // Unused
5732   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PriorBoxParameter)
5733   // optional float min_size = 1;
5734   if (has_min_size()) {
5735     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->min_size(), target);
5736   }
5737
5738   // optional float max_size = 2;
5739   if (has_max_size()) {
5740     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->max_size(), target);
5741   }
5742
5743   // repeated float aspect_ratio = 3;
5744   for (int i = 0; i < this->aspect_ratio_size(); i++) {
5745     target = ::google::protobuf::internal::WireFormatLite::
5746       WriteFloatToArray(3, this->aspect_ratio(i), target);
5747   }
5748
5749   // optional bool flip = 4 [default = true];
5750   if (has_flip()) {
5751     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->flip(), target);
5752   }
5753
5754   // optional bool clip = 5 [default = true];
5755   if (has_clip()) {
5756     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->clip(), target);
5757   }
5758
5759   // repeated float variance = 6;
5760   for (int i = 0; i < this->variance_size(); i++) {
5761     target = ::google::protobuf::internal::WireFormatLite::
5762       WriteFloatToArray(6, this->variance(i), target);
5763   }
5764
5765   // optional uint32 img_size = 7;
5766   if (has_img_size()) {
5767     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->img_size(), target);
5768   }
5769
5770   // optional uint32 img_h = 8;
5771   if (has_img_h()) {
5772     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(8, this->img_h(), target);
5773   }
5774
5775   // optional uint32 img_w = 9;
5776   if (has_img_w()) {
5777     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->img_w(), target);
5778   }
5779
5780   // optional float step = 10;
5781   if (has_step()) {
5782     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(10, this->step(), target);
5783   }
5784
5785   // optional float step_h = 11;
5786   if (has_step_h()) {
5787     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(11, this->step_h(), target);
5788   }
5789
5790   // optional float step_w = 12;
5791   if (has_step_w()) {
5792     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(12, this->step_w(), target);
5793   }
5794
5795   // optional float offset = 13 [default = 0.5];
5796   if (has_offset()) {
5797     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(13, this->offset(), target);
5798   }
5799
5800   // repeated float offset_h = 14;
5801   for (int i = 0; i < this->offset_h_size(); i++) {
5802     target = ::google::protobuf::internal::WireFormatLite::
5803       WriteFloatToArray(14, this->offset_h(i), target);
5804   }
5805
5806   // repeated float offset_w = 15;
5807   for (int i = 0; i < this->offset_w_size(); i++) {
5808     target = ::google::protobuf::internal::WireFormatLite::
5809       WriteFloatToArray(15, this->offset_w(i), target);
5810   }
5811
5812   // repeated float width = 16;
5813   for (int i = 0; i < this->width_size(); i++) {
5814     target = ::google::protobuf::internal::WireFormatLite::
5815       WriteFloatToArray(16, this->width(i), target);
5816   }
5817
5818   // repeated float height = 17;
5819   for (int i = 0; i < this->height_size(); i++) {
5820     target = ::google::protobuf::internal::WireFormatLite::
5821       WriteFloatToArray(17, this->height(i), target);
5822   }
5823
5824   if (_internal_metadata_.have_unknown_fields()) {
5825     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
5826         unknown_fields(), target);
5827   }
5828   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PriorBoxParameter)
5829   return target;
5830 }
5831
5832 size_t PriorBoxParameter::ByteSizeLong() const {
5833 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PriorBoxParameter)
5834   size_t total_size = 0;
5835
5836   if (_has_bits_[0 / 32] & 219u) {
5837     // optional float min_size = 1;
5838     if (has_min_size()) {
5839       total_size += 1 + 4;
5840     }
5841
5842     // optional float max_size = 2;
5843     if (has_max_size()) {
5844       total_size += 1 + 4;
5845     }
5846
5847     // optional bool flip = 4 [default = true];
5848     if (has_flip()) {
5849       total_size += 1 + 1;
5850     }
5851
5852     // optional bool clip = 5 [default = true];
5853     if (has_clip()) {
5854       total_size += 1 + 1;
5855     }
5856
5857     // optional uint32 img_size = 7;
5858     if (has_img_size()) {
5859       total_size += 1 +
5860         ::google::protobuf::internal::WireFormatLite::UInt32Size(
5861           this->img_size());
5862     }
5863
5864     // optional uint32 img_h = 8;
5865     if (has_img_h()) {
5866       total_size += 1 +
5867         ::google::protobuf::internal::WireFormatLite::UInt32Size(
5868           this->img_h());
5869     }
5870
5871   }
5872   if (_has_bits_[8 / 32] & 7936u) {
5873     // optional uint32 img_w = 9;
5874     if (has_img_w()) {
5875       total_size += 1 +
5876         ::google::protobuf::internal::WireFormatLite::UInt32Size(
5877           this->img_w());
5878     }
5879
5880     // optional float step = 10;
5881     if (has_step()) {
5882       total_size += 1 + 4;
5883     }
5884
5885     // optional float step_h = 11;
5886     if (has_step_h()) {
5887       total_size += 1 + 4;
5888     }
5889
5890     // optional float step_w = 12;
5891     if (has_step_w()) {
5892       total_size += 1 + 4;
5893     }
5894
5895     // optional float offset = 13 [default = 0.5];
5896     if (has_offset()) {
5897       total_size += 1 + 4;
5898     }
5899
5900   }
5901   // repeated float aspect_ratio = 3;
5902   {
5903     size_t data_size = 0;
5904     unsigned int count = this->aspect_ratio_size();
5905     data_size = 4UL * count;
5906     total_size += 1 *
5907                   ::google::protobuf::internal::FromIntSize(this->aspect_ratio_size());
5908     total_size += data_size;
5909   }
5910
5911   // repeated float variance = 6;
5912   {
5913     size_t data_size = 0;
5914     unsigned int count = this->variance_size();
5915     data_size = 4UL * count;
5916     total_size += 1 *
5917                   ::google::protobuf::internal::FromIntSize(this->variance_size());
5918     total_size += data_size;
5919   }
5920
5921   // repeated float offset_h = 14;
5922   {
5923     size_t data_size = 0;
5924     unsigned int count = this->offset_h_size();
5925     data_size = 4UL * count;
5926     total_size += 1 *
5927                   ::google::protobuf::internal::FromIntSize(this->offset_h_size());
5928     total_size += data_size;
5929   }
5930
5931   // repeated float offset_w = 15;
5932   {
5933     size_t data_size = 0;
5934     unsigned int count = this->offset_w_size();
5935     data_size = 4UL * count;
5936     total_size += 1 *
5937                   ::google::protobuf::internal::FromIntSize(this->offset_w_size());
5938     total_size += data_size;
5939   }
5940
5941   // repeated float width = 16;
5942   {
5943     size_t data_size = 0;
5944     unsigned int count = this->width_size();
5945     data_size = 4UL * count;
5946     total_size += 2 *
5947                   ::google::protobuf::internal::FromIntSize(this->width_size());
5948     total_size += data_size;
5949   }
5950
5951   // repeated float height = 17;
5952   {
5953     size_t data_size = 0;
5954     unsigned int count = this->height_size();
5955     data_size = 4UL * count;
5956     total_size += 2 *
5957                   ::google::protobuf::internal::FromIntSize(this->height_size());
5958     total_size += data_size;
5959   }
5960
5961   if (_internal_metadata_.have_unknown_fields()) {
5962     total_size +=
5963       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
5964         unknown_fields());
5965   }
5966   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
5967   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
5968   _cached_size_ = cached_size;
5969   GOOGLE_SAFE_CONCURRENT_WRITES_END();
5970   return total_size;
5971 }
5972
5973 void PriorBoxParameter::MergeFrom(const ::google::protobuf::Message& from) {
5974 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PriorBoxParameter)
5975   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
5976   const PriorBoxParameter* source =
5977       ::google::protobuf::internal::DynamicCastToGenerated<const PriorBoxParameter>(
5978           &from);
5979   if (source == NULL) {
5980   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PriorBoxParameter)
5981     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
5982   } else {
5983   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PriorBoxParameter)
5984     UnsafeMergeFrom(*source);
5985   }
5986 }
5987
5988 void PriorBoxParameter::MergeFrom(const PriorBoxParameter& from) {
5989 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PriorBoxParameter)
5990   if (GOOGLE_PREDICT_TRUE(&from != this)) {
5991     UnsafeMergeFrom(from);
5992   } else {
5993     MergeFromFail(__LINE__);
5994   }
5995 }
5996
5997 void PriorBoxParameter::UnsafeMergeFrom(const PriorBoxParameter& from) {
5998   GOOGLE_DCHECK(&from != this);
5999   aspect_ratio_.UnsafeMergeFrom(from.aspect_ratio_);
6000   variance_.UnsafeMergeFrom(from.variance_);
6001   offset_h_.UnsafeMergeFrom(from.offset_h_);
6002   offset_w_.UnsafeMergeFrom(from.offset_w_);
6003   width_.UnsafeMergeFrom(from.width_);
6004   height_.UnsafeMergeFrom(from.height_);
6005   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
6006     if (from.has_min_size()) {
6007       set_min_size(from.min_size());
6008     }
6009     if (from.has_max_size()) {
6010       set_max_size(from.max_size());
6011     }
6012     if (from.has_flip()) {
6013       set_flip(from.flip());
6014     }
6015     if (from.has_clip()) {
6016       set_clip(from.clip());
6017     }
6018     if (from.has_img_size()) {
6019       set_img_size(from.img_size());
6020     }
6021     if (from.has_img_h()) {
6022       set_img_h(from.img_h());
6023     }
6024   }
6025   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
6026     if (from.has_img_w()) {
6027       set_img_w(from.img_w());
6028     }
6029     if (from.has_step()) {
6030       set_step(from.step());
6031     }
6032     if (from.has_step_h()) {
6033       set_step_h(from.step_h());
6034     }
6035     if (from.has_step_w()) {
6036       set_step_w(from.step_w());
6037     }
6038     if (from.has_offset()) {
6039       set_offset(from.offset());
6040     }
6041   }
6042   if (from._internal_metadata_.have_unknown_fields()) {
6043     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
6044       from.unknown_fields(), &_internal_metadata_);
6045   }
6046 }
6047
6048 void PriorBoxParameter::CopyFrom(const ::google::protobuf::Message& from) {
6049 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PriorBoxParameter)
6050   if (&from == this) return;
6051   Clear();
6052   MergeFrom(from);
6053 }
6054
6055 void PriorBoxParameter::CopyFrom(const PriorBoxParameter& from) {
6056 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PriorBoxParameter)
6057   if (&from == this) return;
6058   Clear();
6059   UnsafeMergeFrom(from);
6060 }
6061
6062 bool PriorBoxParameter::IsInitialized() const {
6063
6064   return true;
6065 }
6066
6067 void PriorBoxParameter::Swap(PriorBoxParameter* other) {
6068   if (other == this) return;
6069   InternalSwap(other);
6070 }
6071 void PriorBoxParameter::InternalSwap(PriorBoxParameter* other) {
6072   std::swap(min_size_, other->min_size_);
6073   std::swap(max_size_, other->max_size_);
6074   aspect_ratio_.UnsafeArenaSwap(&other->aspect_ratio_);
6075   std::swap(flip_, other->flip_);
6076   std::swap(clip_, other->clip_);
6077   variance_.UnsafeArenaSwap(&other->variance_);
6078   std::swap(img_size_, other->img_size_);
6079   std::swap(img_h_, other->img_h_);
6080   std::swap(img_w_, other->img_w_);
6081   std::swap(step_, other->step_);
6082   std::swap(step_h_, other->step_h_);
6083   std::swap(step_w_, other->step_w_);
6084   std::swap(offset_, other->offset_);
6085   offset_h_.UnsafeArenaSwap(&other->offset_h_);
6086   offset_w_.UnsafeArenaSwap(&other->offset_w_);
6087   width_.UnsafeArenaSwap(&other->width_);
6088   height_.UnsafeArenaSwap(&other->height_);
6089   std::swap(_has_bits_[0], other->_has_bits_[0]);
6090   _internal_metadata_.Swap(&other->_internal_metadata_);
6091   std::swap(_cached_size_, other->_cached_size_);
6092 }
6093
6094 ::google::protobuf::Metadata PriorBoxParameter::GetMetadata() const {
6095   protobuf_AssignDescriptorsOnce();
6096   ::google::protobuf::Metadata metadata;
6097   metadata.descriptor = PriorBoxParameter_descriptor_;
6098   metadata.reflection = PriorBoxParameter_reflection_;
6099   return metadata;
6100 }
6101
6102 #if PROTOBUF_INLINE_NOT_IN_HEADERS
6103 // PriorBoxParameter
6104
6105 // optional float min_size = 1;
6106 bool PriorBoxParameter::has_min_size() const {
6107   return (_has_bits_[0] & 0x00000001u) != 0;
6108 }
6109 void PriorBoxParameter::set_has_min_size() {
6110   _has_bits_[0] |= 0x00000001u;
6111 }
6112 void PriorBoxParameter::clear_has_min_size() {
6113   _has_bits_[0] &= ~0x00000001u;
6114 }
6115 void PriorBoxParameter::clear_min_size() {
6116   min_size_ = 0;
6117   clear_has_min_size();
6118 }
6119 float PriorBoxParameter::min_size() const {
6120   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.min_size)
6121   return min_size_;
6122 }
6123 void PriorBoxParameter::set_min_size(float value) {
6124   set_has_min_size();
6125   min_size_ = value;
6126   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.min_size)
6127 }
6128
6129 // optional float max_size = 2;
6130 bool PriorBoxParameter::has_max_size() const {
6131   return (_has_bits_[0] & 0x00000002u) != 0;
6132 }
6133 void PriorBoxParameter::set_has_max_size() {
6134   _has_bits_[0] |= 0x00000002u;
6135 }
6136 void PriorBoxParameter::clear_has_max_size() {
6137   _has_bits_[0] &= ~0x00000002u;
6138 }
6139 void PriorBoxParameter::clear_max_size() {
6140   max_size_ = 0;
6141   clear_has_max_size();
6142 }
6143 float PriorBoxParameter::max_size() const {
6144   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.max_size)
6145   return max_size_;
6146 }
6147 void PriorBoxParameter::set_max_size(float value) {
6148   set_has_max_size();
6149   max_size_ = value;
6150   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.max_size)
6151 }
6152
6153 // repeated float aspect_ratio = 3;
6154 int PriorBoxParameter::aspect_ratio_size() const {
6155   return aspect_ratio_.size();
6156 }
6157 void PriorBoxParameter::clear_aspect_ratio() {
6158   aspect_ratio_.Clear();
6159 }
6160 float PriorBoxParameter::aspect_ratio(int index) const {
6161   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.aspect_ratio)
6162   return aspect_ratio_.Get(index);
6163 }
6164 void PriorBoxParameter::set_aspect_ratio(int index, float value) {
6165   aspect_ratio_.Set(index, value);
6166   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.aspect_ratio)
6167 }
6168 void PriorBoxParameter::add_aspect_ratio(float value) {
6169   aspect_ratio_.Add(value);
6170   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.aspect_ratio)
6171 }
6172 const ::google::protobuf::RepeatedField< float >&
6173 PriorBoxParameter::aspect_ratio() const {
6174   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
6175   return aspect_ratio_;
6176 }
6177 ::google::protobuf::RepeatedField< float >*
6178 PriorBoxParameter::mutable_aspect_ratio() {
6179   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
6180   return &aspect_ratio_;
6181 }
6182
6183 // optional bool flip = 4 [default = true];
6184 bool PriorBoxParameter::has_flip() const {
6185   return (_has_bits_[0] & 0x00000008u) != 0;
6186 }
6187 void PriorBoxParameter::set_has_flip() {
6188   _has_bits_[0] |= 0x00000008u;
6189 }
6190 void PriorBoxParameter::clear_has_flip() {
6191   _has_bits_[0] &= ~0x00000008u;
6192 }
6193 void PriorBoxParameter::clear_flip() {
6194   flip_ = true;
6195   clear_has_flip();
6196 }
6197 bool PriorBoxParameter::flip() const {
6198   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.flip)
6199   return flip_;
6200 }
6201 void PriorBoxParameter::set_flip(bool value) {
6202   set_has_flip();
6203   flip_ = value;
6204   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.flip)
6205 }
6206
6207 // optional bool clip = 5 [default = true];
6208 bool PriorBoxParameter::has_clip() const {
6209   return (_has_bits_[0] & 0x00000010u) != 0;
6210 }
6211 void PriorBoxParameter::set_has_clip() {
6212   _has_bits_[0] |= 0x00000010u;
6213 }
6214 void PriorBoxParameter::clear_has_clip() {
6215   _has_bits_[0] &= ~0x00000010u;
6216 }
6217 void PriorBoxParameter::clear_clip() {
6218   clip_ = true;
6219   clear_has_clip();
6220 }
6221 bool PriorBoxParameter::clip() const {
6222   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.clip)
6223   return clip_;
6224 }
6225 void PriorBoxParameter::set_clip(bool value) {
6226   set_has_clip();
6227   clip_ = value;
6228   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.clip)
6229 }
6230
6231 // repeated float variance = 6;
6232 int PriorBoxParameter::variance_size() const {
6233   return variance_.size();
6234 }
6235 void PriorBoxParameter::clear_variance() {
6236   variance_.Clear();
6237 }
6238 float PriorBoxParameter::variance(int index) const {
6239   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.variance)
6240   return variance_.Get(index);
6241 }
6242 void PriorBoxParameter::set_variance(int index, float value) {
6243   variance_.Set(index, value);
6244   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.variance)
6245 }
6246 void PriorBoxParameter::add_variance(float value) {
6247   variance_.Add(value);
6248   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.variance)
6249 }
6250 const ::google::protobuf::RepeatedField< float >&
6251 PriorBoxParameter::variance() const {
6252   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.variance)
6253   return variance_;
6254 }
6255 ::google::protobuf::RepeatedField< float >*
6256 PriorBoxParameter::mutable_variance() {
6257   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.variance)
6258   return &variance_;
6259 }
6260
6261 // optional uint32 img_size = 7;
6262 bool PriorBoxParameter::has_img_size() const {
6263   return (_has_bits_[0] & 0x00000040u) != 0;
6264 }
6265 void PriorBoxParameter::set_has_img_size() {
6266   _has_bits_[0] |= 0x00000040u;
6267 }
6268 void PriorBoxParameter::clear_has_img_size() {
6269   _has_bits_[0] &= ~0x00000040u;
6270 }
6271 void PriorBoxParameter::clear_img_size() {
6272   img_size_ = 0u;
6273   clear_has_img_size();
6274 }
6275 ::google::protobuf::uint32 PriorBoxParameter::img_size() const {
6276   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_size)
6277   return img_size_;
6278 }
6279 void PriorBoxParameter::set_img_size(::google::protobuf::uint32 value) {
6280   set_has_img_size();
6281   img_size_ = value;
6282   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_size)
6283 }
6284
6285 // optional uint32 img_h = 8;
6286 bool PriorBoxParameter::has_img_h() const {
6287   return (_has_bits_[0] & 0x00000080u) != 0;
6288 }
6289 void PriorBoxParameter::set_has_img_h() {
6290   _has_bits_[0] |= 0x00000080u;
6291 }
6292 void PriorBoxParameter::clear_has_img_h() {
6293   _has_bits_[0] &= ~0x00000080u;
6294 }
6295 void PriorBoxParameter::clear_img_h() {
6296   img_h_ = 0u;
6297   clear_has_img_h();
6298 }
6299 ::google::protobuf::uint32 PriorBoxParameter::img_h() const {
6300   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_h)
6301   return img_h_;
6302 }
6303 void PriorBoxParameter::set_img_h(::google::protobuf::uint32 value) {
6304   set_has_img_h();
6305   img_h_ = value;
6306   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_h)
6307 }
6308
6309 // optional uint32 img_w = 9;
6310 bool PriorBoxParameter::has_img_w() const {
6311   return (_has_bits_[0] & 0x00000100u) != 0;
6312 }
6313 void PriorBoxParameter::set_has_img_w() {
6314   _has_bits_[0] |= 0x00000100u;
6315 }
6316 void PriorBoxParameter::clear_has_img_w() {
6317   _has_bits_[0] &= ~0x00000100u;
6318 }
6319 void PriorBoxParameter::clear_img_w() {
6320   img_w_ = 0u;
6321   clear_has_img_w();
6322 }
6323 ::google::protobuf::uint32 PriorBoxParameter::img_w() const {
6324   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_w)
6325   return img_w_;
6326 }
6327 void PriorBoxParameter::set_img_w(::google::protobuf::uint32 value) {
6328   set_has_img_w();
6329   img_w_ = value;
6330   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_w)
6331 }
6332
6333 // optional float step = 10;
6334 bool PriorBoxParameter::has_step() const {
6335   return (_has_bits_[0] & 0x00000200u) != 0;
6336 }
6337 void PriorBoxParameter::set_has_step() {
6338   _has_bits_[0] |= 0x00000200u;
6339 }
6340 void PriorBoxParameter::clear_has_step() {
6341   _has_bits_[0] &= ~0x00000200u;
6342 }
6343 void PriorBoxParameter::clear_step() {
6344   step_ = 0;
6345   clear_has_step();
6346 }
6347 float PriorBoxParameter::step() const {
6348   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step)
6349   return step_;
6350 }
6351 void PriorBoxParameter::set_step(float value) {
6352   set_has_step();
6353   step_ = value;
6354   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step)
6355 }
6356
6357 // optional float step_h = 11;
6358 bool PriorBoxParameter::has_step_h() const {
6359   return (_has_bits_[0] & 0x00000400u) != 0;
6360 }
6361 void PriorBoxParameter::set_has_step_h() {
6362   _has_bits_[0] |= 0x00000400u;
6363 }
6364 void PriorBoxParameter::clear_has_step_h() {
6365   _has_bits_[0] &= ~0x00000400u;
6366 }
6367 void PriorBoxParameter::clear_step_h() {
6368   step_h_ = 0;
6369   clear_has_step_h();
6370 }
6371 float PriorBoxParameter::step_h() const {
6372   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_h)
6373   return step_h_;
6374 }
6375 void PriorBoxParameter::set_step_h(float value) {
6376   set_has_step_h();
6377   step_h_ = value;
6378   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_h)
6379 }
6380
6381 // optional float step_w = 12;
6382 bool PriorBoxParameter::has_step_w() const {
6383   return (_has_bits_[0] & 0x00000800u) != 0;
6384 }
6385 void PriorBoxParameter::set_has_step_w() {
6386   _has_bits_[0] |= 0x00000800u;
6387 }
6388 void PriorBoxParameter::clear_has_step_w() {
6389   _has_bits_[0] &= ~0x00000800u;
6390 }
6391 void PriorBoxParameter::clear_step_w() {
6392   step_w_ = 0;
6393   clear_has_step_w();
6394 }
6395 float PriorBoxParameter::step_w() const {
6396   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_w)
6397   return step_w_;
6398 }
6399 void PriorBoxParameter::set_step_w(float value) {
6400   set_has_step_w();
6401   step_w_ = value;
6402   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_w)
6403 }
6404
6405 // optional float offset = 13 [default = 0.5];
6406 bool PriorBoxParameter::has_offset() const {
6407   return (_has_bits_[0] & 0x00001000u) != 0;
6408 }
6409 void PriorBoxParameter::set_has_offset() {
6410   _has_bits_[0] |= 0x00001000u;
6411 }
6412 void PriorBoxParameter::clear_has_offset() {
6413   _has_bits_[0] &= ~0x00001000u;
6414 }
6415 void PriorBoxParameter::clear_offset() {
6416   offset_ = 0.5f;
6417   clear_has_offset();
6418 }
6419 float PriorBoxParameter::offset() const {
6420   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset)
6421   return offset_;
6422 }
6423 void PriorBoxParameter::set_offset(float value) {
6424   set_has_offset();
6425   offset_ = value;
6426   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset)
6427 }
6428
6429 // repeated float offset_h = 14;
6430 int PriorBoxParameter::offset_h_size() const {
6431   return offset_h_.size();
6432 }
6433 void PriorBoxParameter::clear_offset_h() {
6434   offset_h_.Clear();
6435 }
6436 float PriorBoxParameter::offset_h(int index) const {
6437   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_h)
6438   return offset_h_.Get(index);
6439 }
6440 void PriorBoxParameter::set_offset_h(int index, float value) {
6441   offset_h_.Set(index, value);
6442   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_h)
6443 }
6444 void PriorBoxParameter::add_offset_h(float value) {
6445   offset_h_.Add(value);
6446   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_h)
6447 }
6448 const ::google::protobuf::RepeatedField< float >&
6449 PriorBoxParameter::offset_h() const {
6450   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_h)
6451   return offset_h_;
6452 }
6453 ::google::protobuf::RepeatedField< float >*
6454 PriorBoxParameter::mutable_offset_h() {
6455   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_h)
6456   return &offset_h_;
6457 }
6458
6459 // repeated float offset_w = 15;
6460 int PriorBoxParameter::offset_w_size() const {
6461   return offset_w_.size();
6462 }
6463 void PriorBoxParameter::clear_offset_w() {
6464   offset_w_.Clear();
6465 }
6466 float PriorBoxParameter::offset_w(int index) const {
6467   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_w)
6468   return offset_w_.Get(index);
6469 }
6470 void PriorBoxParameter::set_offset_w(int index, float value) {
6471   offset_w_.Set(index, value);
6472   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_w)
6473 }
6474 void PriorBoxParameter::add_offset_w(float value) {
6475   offset_w_.Add(value);
6476   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_w)
6477 }
6478 const ::google::protobuf::RepeatedField< float >&
6479 PriorBoxParameter::offset_w() const {
6480   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_w)
6481   return offset_w_;
6482 }
6483 ::google::protobuf::RepeatedField< float >*
6484 PriorBoxParameter::mutable_offset_w() {
6485   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_w)
6486   return &offset_w_;
6487 }
6488
6489 // repeated float width = 16;
6490 int PriorBoxParameter::width_size() const {
6491   return width_.size();
6492 }
6493 void PriorBoxParameter::clear_width() {
6494   width_.Clear();
6495 }
6496 float PriorBoxParameter::width(int index) const {
6497   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.width)
6498   return width_.Get(index);
6499 }
6500 void PriorBoxParameter::set_width(int index, float value) {
6501   width_.Set(index, value);
6502   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.width)
6503 }
6504 void PriorBoxParameter::add_width(float value) {
6505   width_.Add(value);
6506   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.width)
6507 }
6508 const ::google::protobuf::RepeatedField< float >&
6509 PriorBoxParameter::width() const {
6510   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.width)
6511   return width_;
6512 }
6513 ::google::protobuf::RepeatedField< float >*
6514 PriorBoxParameter::mutable_width() {
6515   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.width)
6516   return &width_;
6517 }
6518
6519 // repeated float height = 17;
6520 int PriorBoxParameter::height_size() const {
6521   return height_.size();
6522 }
6523 void PriorBoxParameter::clear_height() {
6524   height_.Clear();
6525 }
6526 float PriorBoxParameter::height(int index) const {
6527   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.height)
6528   return height_.Get(index);
6529 }
6530 void PriorBoxParameter::set_height(int index, float value) {
6531   height_.Set(index, value);
6532   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.height)
6533 }
6534 void PriorBoxParameter::add_height(float value) {
6535   height_.Add(value);
6536   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.height)
6537 }
6538 const ::google::protobuf::RepeatedField< float >&
6539 PriorBoxParameter::height() const {
6540   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.height)
6541   return height_;
6542 }
6543 ::google::protobuf::RepeatedField< float >*
6544 PriorBoxParameter::mutable_height() {
6545   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.height)
6546   return &height_;
6547 }
6548
6549 inline const PriorBoxParameter* PriorBoxParameter::internal_default_instance() {
6550   return &PriorBoxParameter_default_instance_.get();
6551 }
6552 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
6553
6554 // ===================================================================
6555
6556 #if !defined(_MSC_VER) || _MSC_VER >= 1900
6557 const int DetectionOutputParameter::kNumClassesFieldNumber;
6558 const int DetectionOutputParameter::kShareLocationFieldNumber;
6559 const int DetectionOutputParameter::kBackgroundLabelIdFieldNumber;
6560 const int DetectionOutputParameter::kNmsParamFieldNumber;
6561 const int DetectionOutputParameter::kSaveOutputParamFieldNumber;
6562 const int DetectionOutputParameter::kCodeTypeFieldNumber;
6563 const int DetectionOutputParameter::kVarianceEncodedInTargetFieldNumber;
6564 const int DetectionOutputParameter::kKeepTopKFieldNumber;
6565 const int DetectionOutputParameter::kConfidenceThresholdFieldNumber;
6566 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
6567
6568 DetectionOutputParameter::DetectionOutputParameter()
6569   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
6570   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
6571   SharedCtor();
6572   // @@protoc_insertion_point(constructor:opencv_caffe.DetectionOutputParameter)
6573 }
6574
6575 void DetectionOutputParameter::InitAsDefaultInstance() {
6576   nms_param_ = const_cast< ::opencv_caffe::NonMaximumSuppressionParameter*>(
6577       ::opencv_caffe::NonMaximumSuppressionParameter::internal_default_instance());
6578   save_output_param_ = const_cast< ::opencv_caffe::SaveOutputParameter*>(
6579       ::opencv_caffe::SaveOutputParameter::internal_default_instance());
6580 }
6581
6582 DetectionOutputParameter::DetectionOutputParameter(const DetectionOutputParameter& from)
6583   : ::google::protobuf::Message(),
6584     _internal_metadata_(NULL) {
6585   SharedCtor();
6586   UnsafeMergeFrom(from);
6587   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DetectionOutputParameter)
6588 }
6589
6590 void DetectionOutputParameter::SharedCtor() {
6591   _cached_size_ = 0;
6592   nms_param_ = NULL;
6593   save_output_param_ = NULL;
6594   ::memset(&num_classes_, 0, reinterpret_cast<char*>(&confidence_threshold_) -
6595     reinterpret_cast<char*>(&num_classes_) + sizeof(confidence_threshold_));
6596   keep_top_k_ = -1;
6597   share_location_ = true;
6598   code_type_ = 1;
6599 }
6600
6601 DetectionOutputParameter::~DetectionOutputParameter() {
6602   // @@protoc_insertion_point(destructor:opencv_caffe.DetectionOutputParameter)
6603   SharedDtor();
6604 }
6605
6606 void DetectionOutputParameter::SharedDtor() {
6607   if (this != &DetectionOutputParameter_default_instance_.get()) {
6608     delete nms_param_;
6609     delete save_output_param_;
6610   }
6611 }
6612
6613 void DetectionOutputParameter::SetCachedSize(int size) const {
6614   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
6615   _cached_size_ = size;
6616   GOOGLE_SAFE_CONCURRENT_WRITES_END();
6617 }
6618 const ::google::protobuf::Descriptor* DetectionOutputParameter::descriptor() {
6619   protobuf_AssignDescriptorsOnce();
6620   return DetectionOutputParameter_descriptor_;
6621 }
6622
6623 const DetectionOutputParameter& DetectionOutputParameter::default_instance() {
6624   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
6625   return *internal_default_instance();
6626 }
6627
6628 ::google::protobuf::internal::ExplicitlyConstructed<DetectionOutputParameter> DetectionOutputParameter_default_instance_;
6629
6630 DetectionOutputParameter* DetectionOutputParameter::New(::google::protobuf::Arena* arena) const {
6631   DetectionOutputParameter* n = new DetectionOutputParameter;
6632   if (arena != NULL) {
6633     arena->Own(n);
6634   }
6635   return n;
6636 }
6637
6638 void DetectionOutputParameter::Clear() {
6639 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DetectionOutputParameter)
6640 #if defined(__clang__)
6641 #define ZR_HELPER_(f) \
6642   _Pragma("clang diagnostic push") \
6643   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
6644   __builtin_offsetof(DetectionOutputParameter, f) \
6645   _Pragma("clang diagnostic pop")
6646 #else
6647 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
6648   &reinterpret_cast<DetectionOutputParameter*>(16)->f)
6649 #endif
6650
6651 #define ZR_(first, last) do {\
6652   ::memset(&(first), 0,\
6653            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
6654 } while (0)
6655
6656   if (_has_bits_[0 / 32] & 255u) {
6657     ZR_(num_classes_, variance_encoded_in_target_);
6658     share_location_ = true;
6659     if (has_nms_param()) {
6660       if (nms_param_ != NULL) nms_param_->::opencv_caffe::NonMaximumSuppressionParameter::Clear();
6661     }
6662     if (has_save_output_param()) {
6663       if (save_output_param_ != NULL) save_output_param_->::opencv_caffe::SaveOutputParameter::Clear();
6664     }
6665     code_type_ = 1;
6666     keep_top_k_ = -1;
6667   }
6668   confidence_threshold_ = 0;
6669
6670 #undef ZR_HELPER_
6671 #undef ZR_
6672
6673   _has_bits_.Clear();
6674   if (_internal_metadata_.have_unknown_fields()) {
6675     mutable_unknown_fields()->Clear();
6676   }
6677 }
6678
6679 bool DetectionOutputParameter::MergePartialFromCodedStream(
6680     ::google::protobuf::io::CodedInputStream* input) {
6681 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
6682   ::google::protobuf::uint32 tag;
6683   // @@protoc_insertion_point(parse_start:opencv_caffe.DetectionOutputParameter)
6684   for (;;) {
6685     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
6686     tag = p.first;
6687     if (!p.second) goto handle_unusual;
6688     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
6689       // optional uint32 num_classes = 1;
6690       case 1: {
6691         if (tag == 8) {
6692           set_has_num_classes();
6693           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6694                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
6695                  input, &num_classes_)));
6696         } else {
6697           goto handle_unusual;
6698         }
6699         if (input->ExpectTag(16)) goto parse_share_location;
6700         break;
6701       }
6702
6703       // optional bool share_location = 2 [default = true];
6704       case 2: {
6705         if (tag == 16) {
6706          parse_share_location:
6707           set_has_share_location();
6708           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6709                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
6710                  input, &share_location_)));
6711         } else {
6712           goto handle_unusual;
6713         }
6714         if (input->ExpectTag(24)) goto parse_background_label_id;
6715         break;
6716       }
6717
6718       // optional int32 background_label_id = 3 [default = 0];
6719       case 3: {
6720         if (tag == 24) {
6721          parse_background_label_id:
6722           set_has_background_label_id();
6723           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6724                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
6725                  input, &background_label_id_)));
6726         } else {
6727           goto handle_unusual;
6728         }
6729         if (input->ExpectTag(34)) goto parse_nms_param;
6730         break;
6731       }
6732
6733       // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
6734       case 4: {
6735         if (tag == 34) {
6736          parse_nms_param:
6737           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
6738                input, mutable_nms_param()));
6739         } else {
6740           goto handle_unusual;
6741         }
6742         if (input->ExpectTag(42)) goto parse_save_output_param;
6743         break;
6744       }
6745
6746       // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
6747       case 5: {
6748         if (tag == 42) {
6749          parse_save_output_param:
6750           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
6751                input, mutable_save_output_param()));
6752         } else {
6753           goto handle_unusual;
6754         }
6755         if (input->ExpectTag(48)) goto parse_code_type;
6756         break;
6757       }
6758
6759       // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
6760       case 6: {
6761         if (tag == 48) {
6762          parse_code_type:
6763           int value;
6764           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6765                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
6766                  input, &value)));
6767           if (::opencv_caffe::PriorBoxParameter_CodeType_IsValid(value)) {
6768             set_code_type(static_cast< ::opencv_caffe::PriorBoxParameter_CodeType >(value));
6769           } else {
6770             mutable_unknown_fields()->AddVarint(6, value);
6771           }
6772         } else {
6773           goto handle_unusual;
6774         }
6775         if (input->ExpectTag(56)) goto parse_keep_top_k;
6776         break;
6777       }
6778
6779       // optional int32 keep_top_k = 7 [default = -1];
6780       case 7: {
6781         if (tag == 56) {
6782          parse_keep_top_k:
6783           set_has_keep_top_k();
6784           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6785                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
6786                  input, &keep_top_k_)));
6787         } else {
6788           goto handle_unusual;
6789         }
6790         if (input->ExpectTag(64)) goto parse_variance_encoded_in_target;
6791         break;
6792       }
6793
6794       // optional bool variance_encoded_in_target = 8 [default = false];
6795       case 8: {
6796         if (tag == 64) {
6797          parse_variance_encoded_in_target:
6798           set_has_variance_encoded_in_target();
6799           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6800                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
6801                  input, &variance_encoded_in_target_)));
6802         } else {
6803           goto handle_unusual;
6804         }
6805         if (input->ExpectTag(77)) goto parse_confidence_threshold;
6806         break;
6807       }
6808
6809       // optional float confidence_threshold = 9;
6810       case 9: {
6811         if (tag == 77) {
6812          parse_confidence_threshold:
6813           set_has_confidence_threshold();
6814           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
6815                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
6816                  input, &confidence_threshold_)));
6817         } else {
6818           goto handle_unusual;
6819         }
6820         if (input->ExpectAtEnd()) goto success;
6821         break;
6822       }
6823
6824       default: {
6825       handle_unusual:
6826         if (tag == 0 ||
6827             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
6828             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
6829           goto success;
6830         }
6831         DO_(::google::protobuf::internal::WireFormat::SkipField(
6832               input, tag, mutable_unknown_fields()));
6833         break;
6834       }
6835     }
6836   }
6837 success:
6838   // @@protoc_insertion_point(parse_success:opencv_caffe.DetectionOutputParameter)
6839   return true;
6840 failure:
6841   // @@protoc_insertion_point(parse_failure:opencv_caffe.DetectionOutputParameter)
6842   return false;
6843 #undef DO_
6844 }
6845
6846 void DetectionOutputParameter::SerializeWithCachedSizes(
6847     ::google::protobuf::io::CodedOutputStream* output) const {
6848   // @@protoc_insertion_point(serialize_start:opencv_caffe.DetectionOutputParameter)
6849   // optional uint32 num_classes = 1;
6850   if (has_num_classes()) {
6851     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_classes(), output);
6852   }
6853
6854   // optional bool share_location = 2 [default = true];
6855   if (has_share_location()) {
6856     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->share_location(), output);
6857   }
6858
6859   // optional int32 background_label_id = 3 [default = 0];
6860   if (has_background_label_id()) {
6861     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->background_label_id(), output);
6862   }
6863
6864   // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
6865   if (has_nms_param()) {
6866     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
6867       4, *this->nms_param_, output);
6868   }
6869
6870   // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
6871   if (has_save_output_param()) {
6872     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
6873       5, *this->save_output_param_, output);
6874   }
6875
6876   // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
6877   if (has_code_type()) {
6878     ::google::protobuf::internal::WireFormatLite::WriteEnum(
6879       6, this->code_type(), output);
6880   }
6881
6882   // optional int32 keep_top_k = 7 [default = -1];
6883   if (has_keep_top_k()) {
6884     ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->keep_top_k(), output);
6885   }
6886
6887   // optional bool variance_encoded_in_target = 8 [default = false];
6888   if (has_variance_encoded_in_target()) {
6889     ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->variance_encoded_in_target(), output);
6890   }
6891
6892   // optional float confidence_threshold = 9;
6893   if (has_confidence_threshold()) {
6894     ::google::protobuf::internal::WireFormatLite::WriteFloat(9, this->confidence_threshold(), output);
6895   }
6896
6897   if (_internal_metadata_.have_unknown_fields()) {
6898     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
6899         unknown_fields(), output);
6900   }
6901   // @@protoc_insertion_point(serialize_end:opencv_caffe.DetectionOutputParameter)
6902 }
6903
6904 ::google::protobuf::uint8* DetectionOutputParameter::InternalSerializeWithCachedSizesToArray(
6905     bool deterministic, ::google::protobuf::uint8* target) const {
6906   (void)deterministic; // Unused
6907   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DetectionOutputParameter)
6908   // optional uint32 num_classes = 1;
6909   if (has_num_classes()) {
6910     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_classes(), target);
6911   }
6912
6913   // optional bool share_location = 2 [default = true];
6914   if (has_share_location()) {
6915     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->share_location(), target);
6916   }
6917
6918   // optional int32 background_label_id = 3 [default = 0];
6919   if (has_background_label_id()) {
6920     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->background_label_id(), target);
6921   }
6922
6923   // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
6924   if (has_nms_param()) {
6925     target = ::google::protobuf::internal::WireFormatLite::
6926       InternalWriteMessageNoVirtualToArray(
6927         4, *this->nms_param_, false, target);
6928   }
6929
6930   // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
6931   if (has_save_output_param()) {
6932     target = ::google::protobuf::internal::WireFormatLite::
6933       InternalWriteMessageNoVirtualToArray(
6934         5, *this->save_output_param_, false, target);
6935   }
6936
6937   // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
6938   if (has_code_type()) {
6939     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
6940       6, this->code_type(), target);
6941   }
6942
6943   // optional int32 keep_top_k = 7 [default = -1];
6944   if (has_keep_top_k()) {
6945     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->keep_top_k(), target);
6946   }
6947
6948   // optional bool variance_encoded_in_target = 8 [default = false];
6949   if (has_variance_encoded_in_target()) {
6950     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->variance_encoded_in_target(), target);
6951   }
6952
6953   // optional float confidence_threshold = 9;
6954   if (has_confidence_threshold()) {
6955     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(9, this->confidence_threshold(), target);
6956   }
6957
6958   if (_internal_metadata_.have_unknown_fields()) {
6959     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
6960         unknown_fields(), target);
6961   }
6962   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DetectionOutputParameter)
6963   return target;
6964 }
6965
6966 size_t DetectionOutputParameter::ByteSizeLong() const {
6967 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DetectionOutputParameter)
6968   size_t total_size = 0;
6969
6970   if (_has_bits_[0 / 32] & 255u) {
6971     // optional uint32 num_classes = 1;
6972     if (has_num_classes()) {
6973       total_size += 1 +
6974         ::google::protobuf::internal::WireFormatLite::UInt32Size(
6975           this->num_classes());
6976     }
6977
6978     // optional bool share_location = 2 [default = true];
6979     if (has_share_location()) {
6980       total_size += 1 + 1;
6981     }
6982
6983     // optional int32 background_label_id = 3 [default = 0];
6984     if (has_background_label_id()) {
6985       total_size += 1 +
6986         ::google::protobuf::internal::WireFormatLite::Int32Size(
6987           this->background_label_id());
6988     }
6989
6990     // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
6991     if (has_nms_param()) {
6992       total_size += 1 +
6993         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
6994           *this->nms_param_);
6995     }
6996
6997     // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
6998     if (has_save_output_param()) {
6999       total_size += 1 +
7000         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
7001           *this->save_output_param_);
7002     }
7003
7004     // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
7005     if (has_code_type()) {
7006       total_size += 1 +
7007         ::google::protobuf::internal::WireFormatLite::EnumSize(this->code_type());
7008     }
7009
7010     // optional bool variance_encoded_in_target = 8 [default = false];
7011     if (has_variance_encoded_in_target()) {
7012       total_size += 1 + 1;
7013     }
7014
7015     // optional int32 keep_top_k = 7 [default = -1];
7016     if (has_keep_top_k()) {
7017       total_size += 1 +
7018         ::google::protobuf::internal::WireFormatLite::Int32Size(
7019           this->keep_top_k());
7020     }
7021
7022   }
7023   // optional float confidence_threshold = 9;
7024   if (has_confidence_threshold()) {
7025     total_size += 1 + 4;
7026   }
7027
7028   if (_internal_metadata_.have_unknown_fields()) {
7029     total_size +=
7030       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
7031         unknown_fields());
7032   }
7033   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
7034   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
7035   _cached_size_ = cached_size;
7036   GOOGLE_SAFE_CONCURRENT_WRITES_END();
7037   return total_size;
7038 }
7039
7040 void DetectionOutputParameter::MergeFrom(const ::google::protobuf::Message& from) {
7041 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DetectionOutputParameter)
7042   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
7043   const DetectionOutputParameter* source =
7044       ::google::protobuf::internal::DynamicCastToGenerated<const DetectionOutputParameter>(
7045           &from);
7046   if (source == NULL) {
7047   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DetectionOutputParameter)
7048     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
7049   } else {
7050   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DetectionOutputParameter)
7051     UnsafeMergeFrom(*source);
7052   }
7053 }
7054
7055 void DetectionOutputParameter::MergeFrom(const DetectionOutputParameter& from) {
7056 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DetectionOutputParameter)
7057   if (GOOGLE_PREDICT_TRUE(&from != this)) {
7058     UnsafeMergeFrom(from);
7059   } else {
7060     MergeFromFail(__LINE__);
7061   }
7062 }
7063
7064 void DetectionOutputParameter::UnsafeMergeFrom(const DetectionOutputParameter& from) {
7065   GOOGLE_DCHECK(&from != this);
7066   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
7067     if (from.has_num_classes()) {
7068       set_num_classes(from.num_classes());
7069     }
7070     if (from.has_share_location()) {
7071       set_share_location(from.share_location());
7072     }
7073     if (from.has_background_label_id()) {
7074       set_background_label_id(from.background_label_id());
7075     }
7076     if (from.has_nms_param()) {
7077       mutable_nms_param()->::opencv_caffe::NonMaximumSuppressionParameter::MergeFrom(from.nms_param());
7078     }
7079     if (from.has_save_output_param()) {
7080       mutable_save_output_param()->::opencv_caffe::SaveOutputParameter::MergeFrom(from.save_output_param());
7081     }
7082     if (from.has_code_type()) {
7083       set_code_type(from.code_type());
7084     }
7085     if (from.has_variance_encoded_in_target()) {
7086       set_variance_encoded_in_target(from.variance_encoded_in_target());
7087     }
7088     if (from.has_keep_top_k()) {
7089       set_keep_top_k(from.keep_top_k());
7090     }
7091   }
7092   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
7093     if (from.has_confidence_threshold()) {
7094       set_confidence_threshold(from.confidence_threshold());
7095     }
7096   }
7097   if (from._internal_metadata_.have_unknown_fields()) {
7098     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
7099       from.unknown_fields(), &_internal_metadata_);
7100   }
7101 }
7102
7103 void DetectionOutputParameter::CopyFrom(const ::google::protobuf::Message& from) {
7104 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DetectionOutputParameter)
7105   if (&from == this) return;
7106   Clear();
7107   MergeFrom(from);
7108 }
7109
7110 void DetectionOutputParameter::CopyFrom(const DetectionOutputParameter& from) {
7111 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DetectionOutputParameter)
7112   if (&from == this) return;
7113   Clear();
7114   UnsafeMergeFrom(from);
7115 }
7116
7117 bool DetectionOutputParameter::IsInitialized() const {
7118
7119   return true;
7120 }
7121
7122 void DetectionOutputParameter::Swap(DetectionOutputParameter* other) {
7123   if (other == this) return;
7124   InternalSwap(other);
7125 }
7126 void DetectionOutputParameter::InternalSwap(DetectionOutputParameter* other) {
7127   std::swap(num_classes_, other->num_classes_);
7128   std::swap(share_location_, other->share_location_);
7129   std::swap(background_label_id_, other->background_label_id_);
7130   std::swap(nms_param_, other->nms_param_);
7131   std::swap(save_output_param_, other->save_output_param_);
7132   std::swap(code_type_, other->code_type_);
7133   std::swap(variance_encoded_in_target_, other->variance_encoded_in_target_);
7134   std::swap(keep_top_k_, other->keep_top_k_);
7135   std::swap(confidence_threshold_, other->confidence_threshold_);
7136   std::swap(_has_bits_[0], other->_has_bits_[0]);
7137   _internal_metadata_.Swap(&other->_internal_metadata_);
7138   std::swap(_cached_size_, other->_cached_size_);
7139 }
7140
7141 ::google::protobuf::Metadata DetectionOutputParameter::GetMetadata() const {
7142   protobuf_AssignDescriptorsOnce();
7143   ::google::protobuf::Metadata metadata;
7144   metadata.descriptor = DetectionOutputParameter_descriptor_;
7145   metadata.reflection = DetectionOutputParameter_reflection_;
7146   return metadata;
7147 }
7148
7149 #if PROTOBUF_INLINE_NOT_IN_HEADERS
7150 // DetectionOutputParameter
7151
7152 // optional uint32 num_classes = 1;
7153 bool DetectionOutputParameter::has_num_classes() const {
7154   return (_has_bits_[0] & 0x00000001u) != 0;
7155 }
7156 void DetectionOutputParameter::set_has_num_classes() {
7157   _has_bits_[0] |= 0x00000001u;
7158 }
7159 void DetectionOutputParameter::clear_has_num_classes() {
7160   _has_bits_[0] &= ~0x00000001u;
7161 }
7162 void DetectionOutputParameter::clear_num_classes() {
7163   num_classes_ = 0u;
7164   clear_has_num_classes();
7165 }
7166 ::google::protobuf::uint32 DetectionOutputParameter::num_classes() const {
7167   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.num_classes)
7168   return num_classes_;
7169 }
7170 void DetectionOutputParameter::set_num_classes(::google::protobuf::uint32 value) {
7171   set_has_num_classes();
7172   num_classes_ = value;
7173   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.num_classes)
7174 }
7175
7176 // optional bool share_location = 2 [default = true];
7177 bool DetectionOutputParameter::has_share_location() const {
7178   return (_has_bits_[0] & 0x00000002u) != 0;
7179 }
7180 void DetectionOutputParameter::set_has_share_location() {
7181   _has_bits_[0] |= 0x00000002u;
7182 }
7183 void DetectionOutputParameter::clear_has_share_location() {
7184   _has_bits_[0] &= ~0x00000002u;
7185 }
7186 void DetectionOutputParameter::clear_share_location() {
7187   share_location_ = true;
7188   clear_has_share_location();
7189 }
7190 bool DetectionOutputParameter::share_location() const {
7191   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.share_location)
7192   return share_location_;
7193 }
7194 void DetectionOutputParameter::set_share_location(bool value) {
7195   set_has_share_location();
7196   share_location_ = value;
7197   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.share_location)
7198 }
7199
7200 // optional int32 background_label_id = 3 [default = 0];
7201 bool DetectionOutputParameter::has_background_label_id() const {
7202   return (_has_bits_[0] & 0x00000004u) != 0;
7203 }
7204 void DetectionOutputParameter::set_has_background_label_id() {
7205   _has_bits_[0] |= 0x00000004u;
7206 }
7207 void DetectionOutputParameter::clear_has_background_label_id() {
7208   _has_bits_[0] &= ~0x00000004u;
7209 }
7210 void DetectionOutputParameter::clear_background_label_id() {
7211   background_label_id_ = 0;
7212   clear_has_background_label_id();
7213 }
7214 ::google::protobuf::int32 DetectionOutputParameter::background_label_id() const {
7215   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.background_label_id)
7216   return background_label_id_;
7217 }
7218 void DetectionOutputParameter::set_background_label_id(::google::protobuf::int32 value) {
7219   set_has_background_label_id();
7220   background_label_id_ = value;
7221   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.background_label_id)
7222 }
7223
7224 // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
7225 bool DetectionOutputParameter::has_nms_param() const {
7226   return (_has_bits_[0] & 0x00000008u) != 0;
7227 }
7228 void DetectionOutputParameter::set_has_nms_param() {
7229   _has_bits_[0] |= 0x00000008u;
7230 }
7231 void DetectionOutputParameter::clear_has_nms_param() {
7232   _has_bits_[0] &= ~0x00000008u;
7233 }
7234 void DetectionOutputParameter::clear_nms_param() {
7235   if (nms_param_ != NULL) nms_param_->::opencv_caffe::NonMaximumSuppressionParameter::Clear();
7236   clear_has_nms_param();
7237 }
7238 const ::opencv_caffe::NonMaximumSuppressionParameter& DetectionOutputParameter::nms_param() const {
7239   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.nms_param)
7240   return nms_param_ != NULL ? *nms_param_
7241                          : *::opencv_caffe::NonMaximumSuppressionParameter::internal_default_instance();
7242 }
7243 ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::mutable_nms_param() {
7244   set_has_nms_param();
7245   if (nms_param_ == NULL) {
7246     nms_param_ = new ::opencv_caffe::NonMaximumSuppressionParameter;
7247   }
7248   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.nms_param)
7249   return nms_param_;
7250 }
7251 ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::release_nms_param() {
7252   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.nms_param)
7253   clear_has_nms_param();
7254   ::opencv_caffe::NonMaximumSuppressionParameter* temp = nms_param_;
7255   nms_param_ = NULL;
7256   return temp;
7257 }
7258 void DetectionOutputParameter::set_allocated_nms_param(::opencv_caffe::NonMaximumSuppressionParameter* nms_param) {
7259   delete nms_param_;
7260   nms_param_ = nms_param;
7261   if (nms_param) {
7262     set_has_nms_param();
7263   } else {
7264     clear_has_nms_param();
7265   }
7266   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.nms_param)
7267 }
7268
7269 // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
7270 bool DetectionOutputParameter::has_save_output_param() const {
7271   return (_has_bits_[0] & 0x00000010u) != 0;
7272 }
7273 void DetectionOutputParameter::set_has_save_output_param() {
7274   _has_bits_[0] |= 0x00000010u;
7275 }
7276 void DetectionOutputParameter::clear_has_save_output_param() {
7277   _has_bits_[0] &= ~0x00000010u;
7278 }
7279 void DetectionOutputParameter::clear_save_output_param() {
7280   if (save_output_param_ != NULL) save_output_param_->::opencv_caffe::SaveOutputParameter::Clear();
7281   clear_has_save_output_param();
7282 }
7283 const ::opencv_caffe::SaveOutputParameter& DetectionOutputParameter::save_output_param() const {
7284   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.save_output_param)
7285   return save_output_param_ != NULL ? *save_output_param_
7286                          : *::opencv_caffe::SaveOutputParameter::internal_default_instance();
7287 }
7288 ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::mutable_save_output_param() {
7289   set_has_save_output_param();
7290   if (save_output_param_ == NULL) {
7291     save_output_param_ = new ::opencv_caffe::SaveOutputParameter;
7292   }
7293   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.save_output_param)
7294   return save_output_param_;
7295 }
7296 ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::release_save_output_param() {
7297   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.save_output_param)
7298   clear_has_save_output_param();
7299   ::opencv_caffe::SaveOutputParameter* temp = save_output_param_;
7300   save_output_param_ = NULL;
7301   return temp;
7302 }
7303 void DetectionOutputParameter::set_allocated_save_output_param(::opencv_caffe::SaveOutputParameter* save_output_param) {
7304   delete save_output_param_;
7305   save_output_param_ = save_output_param;
7306   if (save_output_param) {
7307     set_has_save_output_param();
7308   } else {
7309     clear_has_save_output_param();
7310   }
7311   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.save_output_param)
7312 }
7313
7314 // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
7315 bool DetectionOutputParameter::has_code_type() const {
7316   return (_has_bits_[0] & 0x00000020u) != 0;
7317 }
7318 void DetectionOutputParameter::set_has_code_type() {
7319   _has_bits_[0] |= 0x00000020u;
7320 }
7321 void DetectionOutputParameter::clear_has_code_type() {
7322   _has_bits_[0] &= ~0x00000020u;
7323 }
7324 void DetectionOutputParameter::clear_code_type() {
7325   code_type_ = 1;
7326   clear_has_code_type();
7327 }
7328 ::opencv_caffe::PriorBoxParameter_CodeType DetectionOutputParameter::code_type() const {
7329   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.code_type)
7330   return static_cast< ::opencv_caffe::PriorBoxParameter_CodeType >(code_type_);
7331 }
7332 void DetectionOutputParameter::set_code_type(::opencv_caffe::PriorBoxParameter_CodeType value) {
7333   assert(::opencv_caffe::PriorBoxParameter_CodeType_IsValid(value));
7334   set_has_code_type();
7335   code_type_ = value;
7336   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.code_type)
7337 }
7338
7339 // optional bool variance_encoded_in_target = 8 [default = false];
7340 bool DetectionOutputParameter::has_variance_encoded_in_target() const {
7341   return (_has_bits_[0] & 0x00000040u) != 0;
7342 }
7343 void DetectionOutputParameter::set_has_variance_encoded_in_target() {
7344   _has_bits_[0] |= 0x00000040u;
7345 }
7346 void DetectionOutputParameter::clear_has_variance_encoded_in_target() {
7347   _has_bits_[0] &= ~0x00000040u;
7348 }
7349 void DetectionOutputParameter::clear_variance_encoded_in_target() {
7350   variance_encoded_in_target_ = false;
7351   clear_has_variance_encoded_in_target();
7352 }
7353 bool DetectionOutputParameter::variance_encoded_in_target() const {
7354   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
7355   return variance_encoded_in_target_;
7356 }
7357 void DetectionOutputParameter::set_variance_encoded_in_target(bool value) {
7358   set_has_variance_encoded_in_target();
7359   variance_encoded_in_target_ = value;
7360   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
7361 }
7362
7363 // optional int32 keep_top_k = 7 [default = -1];
7364 bool DetectionOutputParameter::has_keep_top_k() const {
7365   return (_has_bits_[0] & 0x00000080u) != 0;
7366 }
7367 void DetectionOutputParameter::set_has_keep_top_k() {
7368   _has_bits_[0] |= 0x00000080u;
7369 }
7370 void DetectionOutputParameter::clear_has_keep_top_k() {
7371   _has_bits_[0] &= ~0x00000080u;
7372 }
7373 void DetectionOutputParameter::clear_keep_top_k() {
7374   keep_top_k_ = -1;
7375   clear_has_keep_top_k();
7376 }
7377 ::google::protobuf::int32 DetectionOutputParameter::keep_top_k() const {
7378   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.keep_top_k)
7379   return keep_top_k_;
7380 }
7381 void DetectionOutputParameter::set_keep_top_k(::google::protobuf::int32 value) {
7382   set_has_keep_top_k();
7383   keep_top_k_ = value;
7384   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.keep_top_k)
7385 }
7386
7387 // optional float confidence_threshold = 9;
7388 bool DetectionOutputParameter::has_confidence_threshold() const {
7389   return (_has_bits_[0] & 0x00000100u) != 0;
7390 }
7391 void DetectionOutputParameter::set_has_confidence_threshold() {
7392   _has_bits_[0] |= 0x00000100u;
7393 }
7394 void DetectionOutputParameter::clear_has_confidence_threshold() {
7395   _has_bits_[0] &= ~0x00000100u;
7396 }
7397 void DetectionOutputParameter::clear_confidence_threshold() {
7398   confidence_threshold_ = 0;
7399   clear_has_confidence_threshold();
7400 }
7401 float DetectionOutputParameter::confidence_threshold() const {
7402   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.confidence_threshold)
7403   return confidence_threshold_;
7404 }
7405 void DetectionOutputParameter::set_confidence_threshold(float value) {
7406   set_has_confidence_threshold();
7407   confidence_threshold_ = value;
7408   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.confidence_threshold)
7409 }
7410
7411 inline const DetectionOutputParameter* DetectionOutputParameter::internal_default_instance() {
7412   return &DetectionOutputParameter_default_instance_.get();
7413 }
7414 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
7415
7416 // ===================================================================
7417
7418 #if !defined(_MSC_VER) || _MSC_VER >= 1900
7419 const int Datum::kChannelsFieldNumber;
7420 const int Datum::kHeightFieldNumber;
7421 const int Datum::kWidthFieldNumber;
7422 const int Datum::kDataFieldNumber;
7423 const int Datum::kLabelFieldNumber;
7424 const int Datum::kFloatDataFieldNumber;
7425 const int Datum::kEncodedFieldNumber;
7426 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
7427
7428 Datum::Datum()
7429   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
7430   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
7431   SharedCtor();
7432   // @@protoc_insertion_point(constructor:opencv_caffe.Datum)
7433 }
7434
7435 void Datum::InitAsDefaultInstance() {
7436 }
7437
7438 Datum::Datum(const Datum& from)
7439   : ::google::protobuf::Message(),
7440     _internal_metadata_(NULL) {
7441   SharedCtor();
7442   UnsafeMergeFrom(from);
7443   // @@protoc_insertion_point(copy_constructor:opencv_caffe.Datum)
7444 }
7445
7446 void Datum::SharedCtor() {
7447   _cached_size_ = 0;
7448   data_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
7449   ::memset(&channels_, 0, reinterpret_cast<char*>(&encoded_) -
7450     reinterpret_cast<char*>(&channels_) + sizeof(encoded_));
7451 }
7452
7453 Datum::~Datum() {
7454   // @@protoc_insertion_point(destructor:opencv_caffe.Datum)
7455   SharedDtor();
7456 }
7457
7458 void Datum::SharedDtor() {
7459   data_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
7460 }
7461
7462 void Datum::SetCachedSize(int size) const {
7463   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
7464   _cached_size_ = size;
7465   GOOGLE_SAFE_CONCURRENT_WRITES_END();
7466 }
7467 const ::google::protobuf::Descriptor* Datum::descriptor() {
7468   protobuf_AssignDescriptorsOnce();
7469   return Datum_descriptor_;
7470 }
7471
7472 const Datum& Datum::default_instance() {
7473   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
7474   return *internal_default_instance();
7475 }
7476
7477 ::google::protobuf::internal::ExplicitlyConstructed<Datum> Datum_default_instance_;
7478
7479 Datum* Datum::New(::google::protobuf::Arena* arena) const {
7480   Datum* n = new Datum;
7481   if (arena != NULL) {
7482     arena->Own(n);
7483   }
7484   return n;
7485 }
7486
7487 void Datum::Clear() {
7488 // @@protoc_insertion_point(message_clear_start:opencv_caffe.Datum)
7489 #if defined(__clang__)
7490 #define ZR_HELPER_(f) \
7491   _Pragma("clang diagnostic push") \
7492   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
7493   __builtin_offsetof(Datum, f) \
7494   _Pragma("clang diagnostic pop")
7495 #else
7496 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
7497   &reinterpret_cast<Datum*>(16)->f)
7498 #endif
7499
7500 #define ZR_(first, last) do {\
7501   ::memset(&(first), 0,\
7502            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
7503 } while (0)
7504
7505   if (_has_bits_[0 / 32] & 95u) {
7506     ZR_(channels_, encoded_);
7507     if (has_data()) {
7508       data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
7509     }
7510   }
7511
7512 #undef ZR_HELPER_
7513 #undef ZR_
7514
7515   float_data_.Clear();
7516   _has_bits_.Clear();
7517   if (_internal_metadata_.have_unknown_fields()) {
7518     mutable_unknown_fields()->Clear();
7519   }
7520 }
7521
7522 bool Datum::MergePartialFromCodedStream(
7523     ::google::protobuf::io::CodedInputStream* input) {
7524 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
7525   ::google::protobuf::uint32 tag;
7526   // @@protoc_insertion_point(parse_start:opencv_caffe.Datum)
7527   for (;;) {
7528     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
7529     tag = p.first;
7530     if (!p.second) goto handle_unusual;
7531     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
7532       // optional int32 channels = 1;
7533       case 1: {
7534         if (tag == 8) {
7535           set_has_channels();
7536           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7537                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7538                  input, &channels_)));
7539         } else {
7540           goto handle_unusual;
7541         }
7542         if (input->ExpectTag(16)) goto parse_height;
7543         break;
7544       }
7545
7546       // optional int32 height = 2;
7547       case 2: {
7548         if (tag == 16) {
7549          parse_height:
7550           set_has_height();
7551           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7552                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7553                  input, &height_)));
7554         } else {
7555           goto handle_unusual;
7556         }
7557         if (input->ExpectTag(24)) goto parse_width;
7558         break;
7559       }
7560
7561       // optional int32 width = 3;
7562       case 3: {
7563         if (tag == 24) {
7564          parse_width:
7565           set_has_width();
7566           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7567                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7568                  input, &width_)));
7569         } else {
7570           goto handle_unusual;
7571         }
7572         if (input->ExpectTag(34)) goto parse_data;
7573         break;
7574       }
7575
7576       // optional bytes data = 4;
7577       case 4: {
7578         if (tag == 34) {
7579          parse_data:
7580           DO_(::google::protobuf::internal::WireFormatLite::ReadBytes(
7581                 input, this->mutable_data()));
7582         } else {
7583           goto handle_unusual;
7584         }
7585         if (input->ExpectTag(40)) goto parse_label;
7586         break;
7587       }
7588
7589       // optional int32 label = 5;
7590       case 5: {
7591         if (tag == 40) {
7592          parse_label:
7593           set_has_label();
7594           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7595                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
7596                  input, &label_)));
7597         } else {
7598           goto handle_unusual;
7599         }
7600         if (input->ExpectTag(53)) goto parse_float_data;
7601         break;
7602       }
7603
7604       // repeated float float_data = 6;
7605       case 6: {
7606         if (tag == 53) {
7607          parse_float_data:
7608           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
7609                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
7610                  1, 53, input, this->mutable_float_data())));
7611         } else if (tag == 50) {
7612           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
7613                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
7614                  input, this->mutable_float_data())));
7615         } else {
7616           goto handle_unusual;
7617         }
7618         if (input->ExpectTag(53)) goto parse_float_data;
7619         if (input->ExpectTag(56)) goto parse_encoded;
7620         break;
7621       }
7622
7623       // optional bool encoded = 7 [default = false];
7624       case 7: {
7625         if (tag == 56) {
7626          parse_encoded:
7627           set_has_encoded();
7628           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
7629                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
7630                  input, &encoded_)));
7631         } else {
7632           goto handle_unusual;
7633         }
7634         if (input->ExpectAtEnd()) goto success;
7635         break;
7636       }
7637
7638       default: {
7639       handle_unusual:
7640         if (tag == 0 ||
7641             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
7642             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
7643           goto success;
7644         }
7645         DO_(::google::protobuf::internal::WireFormat::SkipField(
7646               input, tag, mutable_unknown_fields()));
7647         break;
7648       }
7649     }
7650   }
7651 success:
7652   // @@protoc_insertion_point(parse_success:opencv_caffe.Datum)
7653   return true;
7654 failure:
7655   // @@protoc_insertion_point(parse_failure:opencv_caffe.Datum)
7656   return false;
7657 #undef DO_
7658 }
7659
7660 void Datum::SerializeWithCachedSizes(
7661     ::google::protobuf::io::CodedOutputStream* output) const {
7662   // @@protoc_insertion_point(serialize_start:opencv_caffe.Datum)
7663   // optional int32 channels = 1;
7664   if (has_channels()) {
7665     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->channels(), output);
7666   }
7667
7668   // optional int32 height = 2;
7669   if (has_height()) {
7670     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->height(), output);
7671   }
7672
7673   // optional int32 width = 3;
7674   if (has_width()) {
7675     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->width(), output);
7676   }
7677
7678   // optional bytes data = 4;
7679   if (has_data()) {
7680     ::google::protobuf::internal::WireFormatLite::WriteBytesMaybeAliased(
7681       4, this->data(), output);
7682   }
7683
7684   // optional int32 label = 5;
7685   if (has_label()) {
7686     ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->label(), output);
7687   }
7688
7689   // repeated float float_data = 6;
7690   for (int i = 0; i < this->float_data_size(); i++) {
7691     ::google::protobuf::internal::WireFormatLite::WriteFloat(
7692       6, this->float_data(i), output);
7693   }
7694
7695   // optional bool encoded = 7 [default = false];
7696   if (has_encoded()) {
7697     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->encoded(), output);
7698   }
7699
7700   if (_internal_metadata_.have_unknown_fields()) {
7701     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
7702         unknown_fields(), output);
7703   }
7704   // @@protoc_insertion_point(serialize_end:opencv_caffe.Datum)
7705 }
7706
7707 ::google::protobuf::uint8* Datum::InternalSerializeWithCachedSizesToArray(
7708     bool deterministic, ::google::protobuf::uint8* target) const {
7709   (void)deterministic; // Unused
7710   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.Datum)
7711   // optional int32 channels = 1;
7712   if (has_channels()) {
7713     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->channels(), target);
7714   }
7715
7716   // optional int32 height = 2;
7717   if (has_height()) {
7718     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->height(), target);
7719   }
7720
7721   // optional int32 width = 3;
7722   if (has_width()) {
7723     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->width(), target);
7724   }
7725
7726   // optional bytes data = 4;
7727   if (has_data()) {
7728     target =
7729       ::google::protobuf::internal::WireFormatLite::WriteBytesToArray(
7730         4, this->data(), target);
7731   }
7732
7733   // optional int32 label = 5;
7734   if (has_label()) {
7735     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->label(), target);
7736   }
7737
7738   // repeated float float_data = 6;
7739   for (int i = 0; i < this->float_data_size(); i++) {
7740     target = ::google::protobuf::internal::WireFormatLite::
7741       WriteFloatToArray(6, this->float_data(i), target);
7742   }
7743
7744   // optional bool encoded = 7 [default = false];
7745   if (has_encoded()) {
7746     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->encoded(), target);
7747   }
7748
7749   if (_internal_metadata_.have_unknown_fields()) {
7750     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
7751         unknown_fields(), target);
7752   }
7753   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.Datum)
7754   return target;
7755 }
7756
7757 size_t Datum::ByteSizeLong() const {
7758 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.Datum)
7759   size_t total_size = 0;
7760
7761   if (_has_bits_[0 / 32] & 95u) {
7762     // optional int32 channels = 1;
7763     if (has_channels()) {
7764       total_size += 1 +
7765         ::google::protobuf::internal::WireFormatLite::Int32Size(
7766           this->channels());
7767     }
7768
7769     // optional int32 height = 2;
7770     if (has_height()) {
7771       total_size += 1 +
7772         ::google::protobuf::internal::WireFormatLite::Int32Size(
7773           this->height());
7774     }
7775
7776     // optional int32 width = 3;
7777     if (has_width()) {
7778       total_size += 1 +
7779         ::google::protobuf::internal::WireFormatLite::Int32Size(
7780           this->width());
7781     }
7782
7783     // optional bytes data = 4;
7784     if (has_data()) {
7785       total_size += 1 +
7786         ::google::protobuf::internal::WireFormatLite::BytesSize(
7787           this->data());
7788     }
7789
7790     // optional int32 label = 5;
7791     if (has_label()) {
7792       total_size += 1 +
7793         ::google::protobuf::internal::WireFormatLite::Int32Size(
7794           this->label());
7795     }
7796
7797     // optional bool encoded = 7 [default = false];
7798     if (has_encoded()) {
7799       total_size += 1 + 1;
7800     }
7801
7802   }
7803   // repeated float float_data = 6;
7804   {
7805     size_t data_size = 0;
7806     unsigned int count = this->float_data_size();
7807     data_size = 4UL * count;
7808     total_size += 1 *
7809                   ::google::protobuf::internal::FromIntSize(this->float_data_size());
7810     total_size += data_size;
7811   }
7812
7813   if (_internal_metadata_.have_unknown_fields()) {
7814     total_size +=
7815       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
7816         unknown_fields());
7817   }
7818   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
7819   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
7820   _cached_size_ = cached_size;
7821   GOOGLE_SAFE_CONCURRENT_WRITES_END();
7822   return total_size;
7823 }
7824
7825 void Datum::MergeFrom(const ::google::protobuf::Message& from) {
7826 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.Datum)
7827   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
7828   const Datum* source =
7829       ::google::protobuf::internal::DynamicCastToGenerated<const Datum>(
7830           &from);
7831   if (source == NULL) {
7832   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.Datum)
7833     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
7834   } else {
7835   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.Datum)
7836     UnsafeMergeFrom(*source);
7837   }
7838 }
7839
7840 void Datum::MergeFrom(const Datum& from) {
7841 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.Datum)
7842   if (GOOGLE_PREDICT_TRUE(&from != this)) {
7843     UnsafeMergeFrom(from);
7844   } else {
7845     MergeFromFail(__LINE__);
7846   }
7847 }
7848
7849 void Datum::UnsafeMergeFrom(const Datum& from) {
7850   GOOGLE_DCHECK(&from != this);
7851   float_data_.UnsafeMergeFrom(from.float_data_);
7852   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
7853     if (from.has_channels()) {
7854       set_channels(from.channels());
7855     }
7856     if (from.has_height()) {
7857       set_height(from.height());
7858     }
7859     if (from.has_width()) {
7860       set_width(from.width());
7861     }
7862     if (from.has_data()) {
7863       set_has_data();
7864       data_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.data_);
7865     }
7866     if (from.has_label()) {
7867       set_label(from.label());
7868     }
7869     if (from.has_encoded()) {
7870       set_encoded(from.encoded());
7871     }
7872   }
7873   if (from._internal_metadata_.have_unknown_fields()) {
7874     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
7875       from.unknown_fields(), &_internal_metadata_);
7876   }
7877 }
7878
7879 void Datum::CopyFrom(const ::google::protobuf::Message& from) {
7880 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.Datum)
7881   if (&from == this) return;
7882   Clear();
7883   MergeFrom(from);
7884 }
7885
7886 void Datum::CopyFrom(const Datum& from) {
7887 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.Datum)
7888   if (&from == this) return;
7889   Clear();
7890   UnsafeMergeFrom(from);
7891 }
7892
7893 bool Datum::IsInitialized() const {
7894
7895   return true;
7896 }
7897
7898 void Datum::Swap(Datum* other) {
7899   if (other == this) return;
7900   InternalSwap(other);
7901 }
7902 void Datum::InternalSwap(Datum* other) {
7903   std::swap(channels_, other->channels_);
7904   std::swap(height_, other->height_);
7905   std::swap(width_, other->width_);
7906   data_.Swap(&other->data_);
7907   std::swap(label_, other->label_);
7908   float_data_.UnsafeArenaSwap(&other->float_data_);
7909   std::swap(encoded_, other->encoded_);
7910   std::swap(_has_bits_[0], other->_has_bits_[0]);
7911   _internal_metadata_.Swap(&other->_internal_metadata_);
7912   std::swap(_cached_size_, other->_cached_size_);
7913 }
7914
7915 ::google::protobuf::Metadata Datum::GetMetadata() const {
7916   protobuf_AssignDescriptorsOnce();
7917   ::google::protobuf::Metadata metadata;
7918   metadata.descriptor = Datum_descriptor_;
7919   metadata.reflection = Datum_reflection_;
7920   return metadata;
7921 }
7922
7923 #if PROTOBUF_INLINE_NOT_IN_HEADERS
7924 // Datum
7925
7926 // optional int32 channels = 1;
7927 bool Datum::has_channels() const {
7928   return (_has_bits_[0] & 0x00000001u) != 0;
7929 }
7930 void Datum::set_has_channels() {
7931   _has_bits_[0] |= 0x00000001u;
7932 }
7933 void Datum::clear_has_channels() {
7934   _has_bits_[0] &= ~0x00000001u;
7935 }
7936 void Datum::clear_channels() {
7937   channels_ = 0;
7938   clear_has_channels();
7939 }
7940 ::google::protobuf::int32 Datum::channels() const {
7941   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.channels)
7942   return channels_;
7943 }
7944 void Datum::set_channels(::google::protobuf::int32 value) {
7945   set_has_channels();
7946   channels_ = value;
7947   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.channels)
7948 }
7949
7950 // optional int32 height = 2;
7951 bool Datum::has_height() const {
7952   return (_has_bits_[0] & 0x00000002u) != 0;
7953 }
7954 void Datum::set_has_height() {
7955   _has_bits_[0] |= 0x00000002u;
7956 }
7957 void Datum::clear_has_height() {
7958   _has_bits_[0] &= ~0x00000002u;
7959 }
7960 void Datum::clear_height() {
7961   height_ = 0;
7962   clear_has_height();
7963 }
7964 ::google::protobuf::int32 Datum::height() const {
7965   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.height)
7966   return height_;
7967 }
7968 void Datum::set_height(::google::protobuf::int32 value) {
7969   set_has_height();
7970   height_ = value;
7971   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.height)
7972 }
7973
7974 // optional int32 width = 3;
7975 bool Datum::has_width() const {
7976   return (_has_bits_[0] & 0x00000004u) != 0;
7977 }
7978 void Datum::set_has_width() {
7979   _has_bits_[0] |= 0x00000004u;
7980 }
7981 void Datum::clear_has_width() {
7982   _has_bits_[0] &= ~0x00000004u;
7983 }
7984 void Datum::clear_width() {
7985   width_ = 0;
7986   clear_has_width();
7987 }
7988 ::google::protobuf::int32 Datum::width() const {
7989   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.width)
7990   return width_;
7991 }
7992 void Datum::set_width(::google::protobuf::int32 value) {
7993   set_has_width();
7994   width_ = value;
7995   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.width)
7996 }
7997
7998 // optional bytes data = 4;
7999 bool Datum::has_data() const {
8000   return (_has_bits_[0] & 0x00000008u) != 0;
8001 }
8002 void Datum::set_has_data() {
8003   _has_bits_[0] |= 0x00000008u;
8004 }
8005 void Datum::clear_has_data() {
8006   _has_bits_[0] &= ~0x00000008u;
8007 }
8008 void Datum::clear_data() {
8009   data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8010   clear_has_data();
8011 }
8012 const ::std::string& Datum::data() const {
8013   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.data)
8014   return data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8015 }
8016 void Datum::set_data(const ::std::string& value) {
8017   set_has_data();
8018   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
8019   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.data)
8020 }
8021 void Datum::set_data(const char* value) {
8022   set_has_data();
8023   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
8024   // @@protoc_insertion_point(field_set_char:opencv_caffe.Datum.data)
8025 }
8026 void Datum::set_data(const void* value, size_t size) {
8027   set_has_data();
8028   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
8029       ::std::string(reinterpret_cast<const char*>(value), size));
8030   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.Datum.data)
8031 }
8032 ::std::string* Datum::mutable_data() {
8033   set_has_data();
8034   // @@protoc_insertion_point(field_mutable:opencv_caffe.Datum.data)
8035   return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8036 }
8037 ::std::string* Datum::release_data() {
8038   // @@protoc_insertion_point(field_release:opencv_caffe.Datum.data)
8039   clear_has_data();
8040   return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8041 }
8042 void Datum::set_allocated_data(::std::string* data) {
8043   if (data != NULL) {
8044     set_has_data();
8045   } else {
8046     clear_has_data();
8047   }
8048   data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
8049   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.Datum.data)
8050 }
8051
8052 // optional int32 label = 5;
8053 bool Datum::has_label() const {
8054   return (_has_bits_[0] & 0x00000010u) != 0;
8055 }
8056 void Datum::set_has_label() {
8057   _has_bits_[0] |= 0x00000010u;
8058 }
8059 void Datum::clear_has_label() {
8060   _has_bits_[0] &= ~0x00000010u;
8061 }
8062 void Datum::clear_label() {
8063   label_ = 0;
8064   clear_has_label();
8065 }
8066 ::google::protobuf::int32 Datum::label() const {
8067   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.label)
8068   return label_;
8069 }
8070 void Datum::set_label(::google::protobuf::int32 value) {
8071   set_has_label();
8072   label_ = value;
8073   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.label)
8074 }
8075
8076 // repeated float float_data = 6;
8077 int Datum::float_data_size() const {
8078   return float_data_.size();
8079 }
8080 void Datum::clear_float_data() {
8081   float_data_.Clear();
8082 }
8083 float Datum::float_data(int index) const {
8084   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.float_data)
8085   return float_data_.Get(index);
8086 }
8087 void Datum::set_float_data(int index, float value) {
8088   float_data_.Set(index, value);
8089   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.float_data)
8090 }
8091 void Datum::add_float_data(float value) {
8092   float_data_.Add(value);
8093   // @@protoc_insertion_point(field_add:opencv_caffe.Datum.float_data)
8094 }
8095 const ::google::protobuf::RepeatedField< float >&
8096 Datum::float_data() const {
8097   // @@protoc_insertion_point(field_list:opencv_caffe.Datum.float_data)
8098   return float_data_;
8099 }
8100 ::google::protobuf::RepeatedField< float >*
8101 Datum::mutable_float_data() {
8102   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.Datum.float_data)
8103   return &float_data_;
8104 }
8105
8106 // optional bool encoded = 7 [default = false];
8107 bool Datum::has_encoded() const {
8108   return (_has_bits_[0] & 0x00000040u) != 0;
8109 }
8110 void Datum::set_has_encoded() {
8111   _has_bits_[0] |= 0x00000040u;
8112 }
8113 void Datum::clear_has_encoded() {
8114   _has_bits_[0] &= ~0x00000040u;
8115 }
8116 void Datum::clear_encoded() {
8117   encoded_ = false;
8118   clear_has_encoded();
8119 }
8120 bool Datum::encoded() const {
8121   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.encoded)
8122   return encoded_;
8123 }
8124 void Datum::set_encoded(bool value) {
8125   set_has_encoded();
8126   encoded_ = value;
8127   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.encoded)
8128 }
8129
8130 inline const Datum* Datum::internal_default_instance() {
8131   return &Datum_default_instance_.get();
8132 }
8133 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
8134
8135 // ===================================================================
8136
8137 const ::google::protobuf::EnumDescriptor* FillerParameter_VarianceNorm_descriptor() {
8138   protobuf_AssignDescriptorsOnce();
8139   return FillerParameter_VarianceNorm_descriptor_;
8140 }
8141 bool FillerParameter_VarianceNorm_IsValid(int value) {
8142   switch (value) {
8143     case 0:
8144     case 1:
8145     case 2:
8146       return true;
8147     default:
8148       return false;
8149   }
8150 }
8151
8152 #if !defined(_MSC_VER) || _MSC_VER >= 1900
8153 const FillerParameter_VarianceNorm FillerParameter::FAN_IN;
8154 const FillerParameter_VarianceNorm FillerParameter::FAN_OUT;
8155 const FillerParameter_VarianceNorm FillerParameter::AVERAGE;
8156 const FillerParameter_VarianceNorm FillerParameter::VarianceNorm_MIN;
8157 const FillerParameter_VarianceNorm FillerParameter::VarianceNorm_MAX;
8158 const int FillerParameter::VarianceNorm_ARRAYSIZE;
8159 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
8160 ::std::string* FillerParameter::_default_type_ = NULL;
8161 #if !defined(_MSC_VER) || _MSC_VER >= 1900
8162 const int FillerParameter::kTypeFieldNumber;
8163 const int FillerParameter::kValueFieldNumber;
8164 const int FillerParameter::kMinFieldNumber;
8165 const int FillerParameter::kMaxFieldNumber;
8166 const int FillerParameter::kMeanFieldNumber;
8167 const int FillerParameter::kStdFieldNumber;
8168 const int FillerParameter::kSparseFieldNumber;
8169 const int FillerParameter::kVarianceNormFieldNumber;
8170 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
8171
8172 FillerParameter::FillerParameter()
8173   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
8174   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
8175   SharedCtor();
8176   // @@protoc_insertion_point(constructor:opencv_caffe.FillerParameter)
8177 }
8178
8179 void FillerParameter::InitAsDefaultInstance() {
8180 }
8181
8182 FillerParameter::FillerParameter(const FillerParameter& from)
8183   : ::google::protobuf::Message(),
8184     _internal_metadata_(NULL) {
8185   SharedCtor();
8186   UnsafeMergeFrom(from);
8187   // @@protoc_insertion_point(copy_constructor:opencv_caffe.FillerParameter)
8188 }
8189
8190 void FillerParameter::SharedCtor() {
8191   _cached_size_ = 0;
8192   type_.UnsafeSetDefault(_default_type_);
8193   ::memset(&value_, 0, reinterpret_cast<char*>(&variance_norm_) -
8194     reinterpret_cast<char*>(&value_) + sizeof(variance_norm_));
8195   sparse_ = -1;
8196   max_ = 1;
8197   std_ = 1;
8198 }
8199
8200 FillerParameter::~FillerParameter() {
8201   // @@protoc_insertion_point(destructor:opencv_caffe.FillerParameter)
8202   SharedDtor();
8203 }
8204
8205 void FillerParameter::SharedDtor() {
8206   type_.DestroyNoArena(_default_type_);
8207 }
8208
8209 void FillerParameter::SetCachedSize(int size) const {
8210   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
8211   _cached_size_ = size;
8212   GOOGLE_SAFE_CONCURRENT_WRITES_END();
8213 }
8214 const ::google::protobuf::Descriptor* FillerParameter::descriptor() {
8215   protobuf_AssignDescriptorsOnce();
8216   return FillerParameter_descriptor_;
8217 }
8218
8219 const FillerParameter& FillerParameter::default_instance() {
8220   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
8221   return *internal_default_instance();
8222 }
8223
8224 ::google::protobuf::internal::ExplicitlyConstructed<FillerParameter> FillerParameter_default_instance_;
8225
8226 FillerParameter* FillerParameter::New(::google::protobuf::Arena* arena) const {
8227   FillerParameter* n = new FillerParameter;
8228   if (arena != NULL) {
8229     arena->Own(n);
8230   }
8231   return n;
8232 }
8233
8234 void FillerParameter::Clear() {
8235 // @@protoc_insertion_point(message_clear_start:opencv_caffe.FillerParameter)
8236 #if defined(__clang__)
8237 #define ZR_HELPER_(f) \
8238   _Pragma("clang diagnostic push") \
8239   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
8240   __builtin_offsetof(FillerParameter, f) \
8241   _Pragma("clang diagnostic pop")
8242 #else
8243 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
8244   &reinterpret_cast<FillerParameter*>(16)->f)
8245 #endif
8246
8247 #define ZR_(first, last) do {\
8248   ::memset(&(first), 0,\
8249            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
8250 } while (0)
8251
8252   if (_has_bits_[0 / 32] & 255u) {
8253     ZR_(value_, variance_norm_);
8254     if (has_type()) {
8255       type_.ClearToDefaultNoArena(_default_type_);
8256     }
8257     max_ = 1;
8258     std_ = 1;
8259     sparse_ = -1;
8260   }
8261
8262 #undef ZR_HELPER_
8263 #undef ZR_
8264
8265   _has_bits_.Clear();
8266   if (_internal_metadata_.have_unknown_fields()) {
8267     mutable_unknown_fields()->Clear();
8268   }
8269 }
8270
8271 bool FillerParameter::MergePartialFromCodedStream(
8272     ::google::protobuf::io::CodedInputStream* input) {
8273 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
8274   ::google::protobuf::uint32 tag;
8275   // @@protoc_insertion_point(parse_start:opencv_caffe.FillerParameter)
8276   for (;;) {
8277     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
8278     tag = p.first;
8279     if (!p.second) goto handle_unusual;
8280     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
8281       // optional string type = 1 [default = "constant"];
8282       case 1: {
8283         if (tag == 10) {
8284           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
8285                 input, this->mutable_type()));
8286           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
8287             this->type().data(), this->type().length(),
8288             ::google::protobuf::internal::WireFormat::PARSE,
8289             "opencv_caffe.FillerParameter.type");
8290         } else {
8291           goto handle_unusual;
8292         }
8293         if (input->ExpectTag(21)) goto parse_value;
8294         break;
8295       }
8296
8297       // optional float value = 2 [default = 0];
8298       case 2: {
8299         if (tag == 21) {
8300          parse_value:
8301           set_has_value();
8302           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8303                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8304                  input, &value_)));
8305         } else {
8306           goto handle_unusual;
8307         }
8308         if (input->ExpectTag(29)) goto parse_min;
8309         break;
8310       }
8311
8312       // optional float min = 3 [default = 0];
8313       case 3: {
8314         if (tag == 29) {
8315          parse_min:
8316           set_has_min();
8317           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8318                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8319                  input, &min_)));
8320         } else {
8321           goto handle_unusual;
8322         }
8323         if (input->ExpectTag(37)) goto parse_max;
8324         break;
8325       }
8326
8327       // optional float max = 4 [default = 1];
8328       case 4: {
8329         if (tag == 37) {
8330          parse_max:
8331           set_has_max();
8332           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8333                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8334                  input, &max_)));
8335         } else {
8336           goto handle_unusual;
8337         }
8338         if (input->ExpectTag(45)) goto parse_mean;
8339         break;
8340       }
8341
8342       // optional float mean = 5 [default = 0];
8343       case 5: {
8344         if (tag == 45) {
8345          parse_mean:
8346           set_has_mean();
8347           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8348                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8349                  input, &mean_)));
8350         } else {
8351           goto handle_unusual;
8352         }
8353         if (input->ExpectTag(53)) goto parse_std;
8354         break;
8355       }
8356
8357       // optional float std = 6 [default = 1];
8358       case 6: {
8359         if (tag == 53) {
8360          parse_std:
8361           set_has_std();
8362           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8363                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
8364                  input, &std_)));
8365         } else {
8366           goto handle_unusual;
8367         }
8368         if (input->ExpectTag(56)) goto parse_sparse;
8369         break;
8370       }
8371
8372       // optional int32 sparse = 7 [default = -1];
8373       case 7: {
8374         if (tag == 56) {
8375          parse_sparse:
8376           set_has_sparse();
8377           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8378                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
8379                  input, &sparse_)));
8380         } else {
8381           goto handle_unusual;
8382         }
8383         if (input->ExpectTag(64)) goto parse_variance_norm;
8384         break;
8385       }
8386
8387       // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8388       case 8: {
8389         if (tag == 64) {
8390          parse_variance_norm:
8391           int value;
8392           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
8393                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
8394                  input, &value)));
8395           if (::opencv_caffe::FillerParameter_VarianceNorm_IsValid(value)) {
8396             set_variance_norm(static_cast< ::opencv_caffe::FillerParameter_VarianceNorm >(value));
8397           } else {
8398             mutable_unknown_fields()->AddVarint(8, value);
8399           }
8400         } else {
8401           goto handle_unusual;
8402         }
8403         if (input->ExpectAtEnd()) goto success;
8404         break;
8405       }
8406
8407       default: {
8408       handle_unusual:
8409         if (tag == 0 ||
8410             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
8411             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
8412           goto success;
8413         }
8414         DO_(::google::protobuf::internal::WireFormat::SkipField(
8415               input, tag, mutable_unknown_fields()));
8416         break;
8417       }
8418     }
8419   }
8420 success:
8421   // @@protoc_insertion_point(parse_success:opencv_caffe.FillerParameter)
8422   return true;
8423 failure:
8424   // @@protoc_insertion_point(parse_failure:opencv_caffe.FillerParameter)
8425   return false;
8426 #undef DO_
8427 }
8428
8429 void FillerParameter::SerializeWithCachedSizes(
8430     ::google::protobuf::io::CodedOutputStream* output) const {
8431   // @@protoc_insertion_point(serialize_start:opencv_caffe.FillerParameter)
8432   // optional string type = 1 [default = "constant"];
8433   if (has_type()) {
8434     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
8435       this->type().data(), this->type().length(),
8436       ::google::protobuf::internal::WireFormat::SERIALIZE,
8437       "opencv_caffe.FillerParameter.type");
8438     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
8439       1, this->type(), output);
8440   }
8441
8442   // optional float value = 2 [default = 0];
8443   if (has_value()) {
8444     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->value(), output);
8445   }
8446
8447   // optional float min = 3 [default = 0];
8448   if (has_min()) {
8449     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->min(), output);
8450   }
8451
8452   // optional float max = 4 [default = 1];
8453   if (has_max()) {
8454     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->max(), output);
8455   }
8456
8457   // optional float mean = 5 [default = 0];
8458   if (has_mean()) {
8459     ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->mean(), output);
8460   }
8461
8462   // optional float std = 6 [default = 1];
8463   if (has_std()) {
8464     ::google::protobuf::internal::WireFormatLite::WriteFloat(6, this->std(), output);
8465   }
8466
8467   // optional int32 sparse = 7 [default = -1];
8468   if (has_sparse()) {
8469     ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->sparse(), output);
8470   }
8471
8472   // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8473   if (has_variance_norm()) {
8474     ::google::protobuf::internal::WireFormatLite::WriteEnum(
8475       8, this->variance_norm(), output);
8476   }
8477
8478   if (_internal_metadata_.have_unknown_fields()) {
8479     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
8480         unknown_fields(), output);
8481   }
8482   // @@protoc_insertion_point(serialize_end:opencv_caffe.FillerParameter)
8483 }
8484
8485 ::google::protobuf::uint8* FillerParameter::InternalSerializeWithCachedSizesToArray(
8486     bool deterministic, ::google::protobuf::uint8* target) const {
8487   (void)deterministic; // Unused
8488   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.FillerParameter)
8489   // optional string type = 1 [default = "constant"];
8490   if (has_type()) {
8491     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
8492       this->type().data(), this->type().length(),
8493       ::google::protobuf::internal::WireFormat::SERIALIZE,
8494       "opencv_caffe.FillerParameter.type");
8495     target =
8496       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
8497         1, this->type(), target);
8498   }
8499
8500   // optional float value = 2 [default = 0];
8501   if (has_value()) {
8502     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->value(), target);
8503   }
8504
8505   // optional float min = 3 [default = 0];
8506   if (has_min()) {
8507     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->min(), target);
8508   }
8509
8510   // optional float max = 4 [default = 1];
8511   if (has_max()) {
8512     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->max(), target);
8513   }
8514
8515   // optional float mean = 5 [default = 0];
8516   if (has_mean()) {
8517     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->mean(), target);
8518   }
8519
8520   // optional float std = 6 [default = 1];
8521   if (has_std()) {
8522     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(6, this->std(), target);
8523   }
8524
8525   // optional int32 sparse = 7 [default = -1];
8526   if (has_sparse()) {
8527     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->sparse(), target);
8528   }
8529
8530   // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8531   if (has_variance_norm()) {
8532     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
8533       8, this->variance_norm(), target);
8534   }
8535
8536   if (_internal_metadata_.have_unknown_fields()) {
8537     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
8538         unknown_fields(), target);
8539   }
8540   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.FillerParameter)
8541   return target;
8542 }
8543
8544 size_t FillerParameter::ByteSizeLong() const {
8545 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.FillerParameter)
8546   size_t total_size = 0;
8547
8548   if (_has_bits_[0 / 32] & 255u) {
8549     // optional string type = 1 [default = "constant"];
8550     if (has_type()) {
8551       total_size += 1 +
8552         ::google::protobuf::internal::WireFormatLite::StringSize(
8553           this->type());
8554     }
8555
8556     // optional float value = 2 [default = 0];
8557     if (has_value()) {
8558       total_size += 1 + 4;
8559     }
8560
8561     // optional float min = 3 [default = 0];
8562     if (has_min()) {
8563       total_size += 1 + 4;
8564     }
8565
8566     // optional float max = 4 [default = 1];
8567     if (has_max()) {
8568       total_size += 1 + 4;
8569     }
8570
8571     // optional float mean = 5 [default = 0];
8572     if (has_mean()) {
8573       total_size += 1 + 4;
8574     }
8575
8576     // optional float std = 6 [default = 1];
8577     if (has_std()) {
8578       total_size += 1 + 4;
8579     }
8580
8581     // optional int32 sparse = 7 [default = -1];
8582     if (has_sparse()) {
8583       total_size += 1 +
8584         ::google::protobuf::internal::WireFormatLite::Int32Size(
8585           this->sparse());
8586     }
8587
8588     // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8589     if (has_variance_norm()) {
8590       total_size += 1 +
8591         ::google::protobuf::internal::WireFormatLite::EnumSize(this->variance_norm());
8592     }
8593
8594   }
8595   if (_internal_metadata_.have_unknown_fields()) {
8596     total_size +=
8597       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
8598         unknown_fields());
8599   }
8600   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
8601   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
8602   _cached_size_ = cached_size;
8603   GOOGLE_SAFE_CONCURRENT_WRITES_END();
8604   return total_size;
8605 }
8606
8607 void FillerParameter::MergeFrom(const ::google::protobuf::Message& from) {
8608 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.FillerParameter)
8609   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
8610   const FillerParameter* source =
8611       ::google::protobuf::internal::DynamicCastToGenerated<const FillerParameter>(
8612           &from);
8613   if (source == NULL) {
8614   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.FillerParameter)
8615     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
8616   } else {
8617   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.FillerParameter)
8618     UnsafeMergeFrom(*source);
8619   }
8620 }
8621
8622 void FillerParameter::MergeFrom(const FillerParameter& from) {
8623 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.FillerParameter)
8624   if (GOOGLE_PREDICT_TRUE(&from != this)) {
8625     UnsafeMergeFrom(from);
8626   } else {
8627     MergeFromFail(__LINE__);
8628   }
8629 }
8630
8631 void FillerParameter::UnsafeMergeFrom(const FillerParameter& from) {
8632   GOOGLE_DCHECK(&from != this);
8633   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
8634     if (from.has_type()) {
8635       set_has_type();
8636       type_.AssignWithDefault(_default_type_, from.type_);
8637     }
8638     if (from.has_value()) {
8639       set_value(from.value());
8640     }
8641     if (from.has_min()) {
8642       set_min(from.min());
8643     }
8644     if (from.has_max()) {
8645       set_max(from.max());
8646     }
8647     if (from.has_mean()) {
8648       set_mean(from.mean());
8649     }
8650     if (from.has_std()) {
8651       set_std(from.std());
8652     }
8653     if (from.has_sparse()) {
8654       set_sparse(from.sparse());
8655     }
8656     if (from.has_variance_norm()) {
8657       set_variance_norm(from.variance_norm());
8658     }
8659   }
8660   if (from._internal_metadata_.have_unknown_fields()) {
8661     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
8662       from.unknown_fields(), &_internal_metadata_);
8663   }
8664 }
8665
8666 void FillerParameter::CopyFrom(const ::google::protobuf::Message& from) {
8667 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.FillerParameter)
8668   if (&from == this) return;
8669   Clear();
8670   MergeFrom(from);
8671 }
8672
8673 void FillerParameter::CopyFrom(const FillerParameter& from) {
8674 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.FillerParameter)
8675   if (&from == this) return;
8676   Clear();
8677   UnsafeMergeFrom(from);
8678 }
8679
8680 bool FillerParameter::IsInitialized() const {
8681
8682   return true;
8683 }
8684
8685 void FillerParameter::Swap(FillerParameter* other) {
8686   if (other == this) return;
8687   InternalSwap(other);
8688 }
8689 void FillerParameter::InternalSwap(FillerParameter* other) {
8690   type_.Swap(&other->type_);
8691   std::swap(value_, other->value_);
8692   std::swap(min_, other->min_);
8693   std::swap(max_, other->max_);
8694   std::swap(mean_, other->mean_);
8695   std::swap(std_, other->std_);
8696   std::swap(sparse_, other->sparse_);
8697   std::swap(variance_norm_, other->variance_norm_);
8698   std::swap(_has_bits_[0], other->_has_bits_[0]);
8699   _internal_metadata_.Swap(&other->_internal_metadata_);
8700   std::swap(_cached_size_, other->_cached_size_);
8701 }
8702
8703 ::google::protobuf::Metadata FillerParameter::GetMetadata() const {
8704   protobuf_AssignDescriptorsOnce();
8705   ::google::protobuf::Metadata metadata;
8706   metadata.descriptor = FillerParameter_descriptor_;
8707   metadata.reflection = FillerParameter_reflection_;
8708   return metadata;
8709 }
8710
8711 #if PROTOBUF_INLINE_NOT_IN_HEADERS
8712 // FillerParameter
8713
8714 // optional string type = 1 [default = "constant"];
8715 bool FillerParameter::has_type() const {
8716   return (_has_bits_[0] & 0x00000001u) != 0;
8717 }
8718 void FillerParameter::set_has_type() {
8719   _has_bits_[0] |= 0x00000001u;
8720 }
8721 void FillerParameter::clear_has_type() {
8722   _has_bits_[0] &= ~0x00000001u;
8723 }
8724 void FillerParameter::clear_type() {
8725   type_.ClearToDefaultNoArena(_default_type_);
8726   clear_has_type();
8727 }
8728 const ::std::string& FillerParameter::type() const {
8729   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.type)
8730   return type_.GetNoArena(_default_type_);
8731 }
8732 void FillerParameter::set_type(const ::std::string& value) {
8733   set_has_type();
8734   type_.SetNoArena(_default_type_, value);
8735   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.type)
8736 }
8737 void FillerParameter::set_type(const char* value) {
8738   set_has_type();
8739   type_.SetNoArena(_default_type_, ::std::string(value));
8740   // @@protoc_insertion_point(field_set_char:opencv_caffe.FillerParameter.type)
8741 }
8742 void FillerParameter::set_type(const char* value, size_t size) {
8743   set_has_type();
8744   type_.SetNoArena(_default_type_,
8745       ::std::string(reinterpret_cast<const char*>(value), size));
8746   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.FillerParameter.type)
8747 }
8748 ::std::string* FillerParameter::mutable_type() {
8749   set_has_type();
8750   // @@protoc_insertion_point(field_mutable:opencv_caffe.FillerParameter.type)
8751   return type_.MutableNoArena(_default_type_);
8752 }
8753 ::std::string* FillerParameter::release_type() {
8754   // @@protoc_insertion_point(field_release:opencv_caffe.FillerParameter.type)
8755   clear_has_type();
8756   return type_.ReleaseNoArena(_default_type_);
8757 }
8758 void FillerParameter::set_allocated_type(::std::string* type) {
8759   if (type != NULL) {
8760     set_has_type();
8761   } else {
8762     clear_has_type();
8763   }
8764   type_.SetAllocatedNoArena(_default_type_, type);
8765   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.FillerParameter.type)
8766 }
8767
8768 // optional float value = 2 [default = 0];
8769 bool FillerParameter::has_value() const {
8770   return (_has_bits_[0] & 0x00000002u) != 0;
8771 }
8772 void FillerParameter::set_has_value() {
8773   _has_bits_[0] |= 0x00000002u;
8774 }
8775 void FillerParameter::clear_has_value() {
8776   _has_bits_[0] &= ~0x00000002u;
8777 }
8778 void FillerParameter::clear_value() {
8779   value_ = 0;
8780   clear_has_value();
8781 }
8782 float FillerParameter::value() const {
8783   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.value)
8784   return value_;
8785 }
8786 void FillerParameter::set_value(float value) {
8787   set_has_value();
8788   value_ = value;
8789   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.value)
8790 }
8791
8792 // optional float min = 3 [default = 0];
8793 bool FillerParameter::has_min() const {
8794   return (_has_bits_[0] & 0x00000004u) != 0;
8795 }
8796 void FillerParameter::set_has_min() {
8797   _has_bits_[0] |= 0x00000004u;
8798 }
8799 void FillerParameter::clear_has_min() {
8800   _has_bits_[0] &= ~0x00000004u;
8801 }
8802 void FillerParameter::clear_min() {
8803   min_ = 0;
8804   clear_has_min();
8805 }
8806 float FillerParameter::min() const {
8807   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.min)
8808   return min_;
8809 }
8810 void FillerParameter::set_min(float value) {
8811   set_has_min();
8812   min_ = value;
8813   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.min)
8814 }
8815
8816 // optional float max = 4 [default = 1];
8817 bool FillerParameter::has_max() const {
8818   return (_has_bits_[0] & 0x00000008u) != 0;
8819 }
8820 void FillerParameter::set_has_max() {
8821   _has_bits_[0] |= 0x00000008u;
8822 }
8823 void FillerParameter::clear_has_max() {
8824   _has_bits_[0] &= ~0x00000008u;
8825 }
8826 void FillerParameter::clear_max() {
8827   max_ = 1;
8828   clear_has_max();
8829 }
8830 float FillerParameter::max() const {
8831   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.max)
8832   return max_;
8833 }
8834 void FillerParameter::set_max(float value) {
8835   set_has_max();
8836   max_ = value;
8837   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.max)
8838 }
8839
8840 // optional float mean = 5 [default = 0];
8841 bool FillerParameter::has_mean() const {
8842   return (_has_bits_[0] & 0x00000010u) != 0;
8843 }
8844 void FillerParameter::set_has_mean() {
8845   _has_bits_[0] |= 0x00000010u;
8846 }
8847 void FillerParameter::clear_has_mean() {
8848   _has_bits_[0] &= ~0x00000010u;
8849 }
8850 void FillerParameter::clear_mean() {
8851   mean_ = 0;
8852   clear_has_mean();
8853 }
8854 float FillerParameter::mean() const {
8855   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.mean)
8856   return mean_;
8857 }
8858 void FillerParameter::set_mean(float value) {
8859   set_has_mean();
8860   mean_ = value;
8861   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.mean)
8862 }
8863
8864 // optional float std = 6 [default = 1];
8865 bool FillerParameter::has_std() const {
8866   return (_has_bits_[0] & 0x00000020u) != 0;
8867 }
8868 void FillerParameter::set_has_std() {
8869   _has_bits_[0] |= 0x00000020u;
8870 }
8871 void FillerParameter::clear_has_std() {
8872   _has_bits_[0] &= ~0x00000020u;
8873 }
8874 void FillerParameter::clear_std() {
8875   std_ = 1;
8876   clear_has_std();
8877 }
8878 float FillerParameter::std() const {
8879   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.std)
8880   return std_;
8881 }
8882 void FillerParameter::set_std(float value) {
8883   set_has_std();
8884   std_ = value;
8885   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.std)
8886 }
8887
8888 // optional int32 sparse = 7 [default = -1];
8889 bool FillerParameter::has_sparse() const {
8890   return (_has_bits_[0] & 0x00000040u) != 0;
8891 }
8892 void FillerParameter::set_has_sparse() {
8893   _has_bits_[0] |= 0x00000040u;
8894 }
8895 void FillerParameter::clear_has_sparse() {
8896   _has_bits_[0] &= ~0x00000040u;
8897 }
8898 void FillerParameter::clear_sparse() {
8899   sparse_ = -1;
8900   clear_has_sparse();
8901 }
8902 ::google::protobuf::int32 FillerParameter::sparse() const {
8903   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.sparse)
8904   return sparse_;
8905 }
8906 void FillerParameter::set_sparse(::google::protobuf::int32 value) {
8907   set_has_sparse();
8908   sparse_ = value;
8909   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.sparse)
8910 }
8911
8912 // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
8913 bool FillerParameter::has_variance_norm() const {
8914   return (_has_bits_[0] & 0x00000080u) != 0;
8915 }
8916 void FillerParameter::set_has_variance_norm() {
8917   _has_bits_[0] |= 0x00000080u;
8918 }
8919 void FillerParameter::clear_has_variance_norm() {
8920   _has_bits_[0] &= ~0x00000080u;
8921 }
8922 void FillerParameter::clear_variance_norm() {
8923   variance_norm_ = 0;
8924   clear_has_variance_norm();
8925 }
8926 ::opencv_caffe::FillerParameter_VarianceNorm FillerParameter::variance_norm() const {
8927   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.variance_norm)
8928   return static_cast< ::opencv_caffe::FillerParameter_VarianceNorm >(variance_norm_);
8929 }
8930 void FillerParameter::set_variance_norm(::opencv_caffe::FillerParameter_VarianceNorm value) {
8931   assert(::opencv_caffe::FillerParameter_VarianceNorm_IsValid(value));
8932   set_has_variance_norm();
8933   variance_norm_ = value;
8934   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.variance_norm)
8935 }
8936
8937 inline const FillerParameter* FillerParameter::internal_default_instance() {
8938   return &FillerParameter_default_instance_.get();
8939 }
8940 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
8941
8942 // ===================================================================
8943
8944 #if !defined(_MSC_VER) || _MSC_VER >= 1900
8945 const int NetParameter::kNameFieldNumber;
8946 const int NetParameter::kInputFieldNumber;
8947 const int NetParameter::kInputShapeFieldNumber;
8948 const int NetParameter::kInputDimFieldNumber;
8949 const int NetParameter::kForceBackwardFieldNumber;
8950 const int NetParameter::kStateFieldNumber;
8951 const int NetParameter::kDebugInfoFieldNumber;
8952 const int NetParameter::kLayerFieldNumber;
8953 const int NetParameter::kLayersFieldNumber;
8954 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
8955
8956 NetParameter::NetParameter()
8957   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
8958   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
8959   SharedCtor();
8960   // @@protoc_insertion_point(constructor:opencv_caffe.NetParameter)
8961 }
8962
8963 void NetParameter::InitAsDefaultInstance() {
8964   state_ = const_cast< ::opencv_caffe::NetState*>(
8965       ::opencv_caffe::NetState::internal_default_instance());
8966 }
8967
8968 NetParameter::NetParameter(const NetParameter& from)
8969   : ::google::protobuf::Message(),
8970     _internal_metadata_(NULL) {
8971   SharedCtor();
8972   UnsafeMergeFrom(from);
8973   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NetParameter)
8974 }
8975
8976 void NetParameter::SharedCtor() {
8977   _cached_size_ = 0;
8978   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8979   state_ = NULL;
8980   ::memset(&force_backward_, 0, reinterpret_cast<char*>(&debug_info_) -
8981     reinterpret_cast<char*>(&force_backward_) + sizeof(debug_info_));
8982 }
8983
8984 NetParameter::~NetParameter() {
8985   // @@protoc_insertion_point(destructor:opencv_caffe.NetParameter)
8986   SharedDtor();
8987 }
8988
8989 void NetParameter::SharedDtor() {
8990   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
8991   if (this != &NetParameter_default_instance_.get()) {
8992     delete state_;
8993   }
8994 }
8995
8996 void NetParameter::SetCachedSize(int size) const {
8997   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
8998   _cached_size_ = size;
8999   GOOGLE_SAFE_CONCURRENT_WRITES_END();
9000 }
9001 const ::google::protobuf::Descriptor* NetParameter::descriptor() {
9002   protobuf_AssignDescriptorsOnce();
9003   return NetParameter_descriptor_;
9004 }
9005
9006 const NetParameter& NetParameter::default_instance() {
9007   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
9008   return *internal_default_instance();
9009 }
9010
9011 ::google::protobuf::internal::ExplicitlyConstructed<NetParameter> NetParameter_default_instance_;
9012
9013 NetParameter* NetParameter::New(::google::protobuf::Arena* arena) const {
9014   NetParameter* n = new NetParameter;
9015   if (arena != NULL) {
9016     arena->Own(n);
9017   }
9018   return n;
9019 }
9020
9021 void NetParameter::Clear() {
9022 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NetParameter)
9023 #if defined(__clang__)
9024 #define ZR_HELPER_(f) \
9025   _Pragma("clang diagnostic push") \
9026   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
9027   __builtin_offsetof(NetParameter, f) \
9028   _Pragma("clang diagnostic pop")
9029 #else
9030 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
9031   &reinterpret_cast<NetParameter*>(16)->f)
9032 #endif
9033
9034 #define ZR_(first, last) do {\
9035   ::memset(&(first), 0,\
9036            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
9037 } while (0)
9038
9039   if (_has_bits_[0 / 32] & 113u) {
9040     ZR_(force_backward_, debug_info_);
9041     if (has_name()) {
9042       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9043     }
9044     if (has_state()) {
9045       if (state_ != NULL) state_->::opencv_caffe::NetState::Clear();
9046     }
9047   }
9048
9049 #undef ZR_HELPER_
9050 #undef ZR_
9051
9052   input_.Clear();
9053   input_shape_.Clear();
9054   input_dim_.Clear();
9055   layer_.Clear();
9056   layers_.Clear();
9057   _has_bits_.Clear();
9058   if (_internal_metadata_.have_unknown_fields()) {
9059     mutable_unknown_fields()->Clear();
9060   }
9061 }
9062
9063 bool NetParameter::MergePartialFromCodedStream(
9064     ::google::protobuf::io::CodedInputStream* input) {
9065 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
9066   ::google::protobuf::uint32 tag;
9067   // @@protoc_insertion_point(parse_start:opencv_caffe.NetParameter)
9068   for (;;) {
9069     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
9070     tag = p.first;
9071     if (!p.second) goto handle_unusual;
9072     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
9073       // optional string name = 1;
9074       case 1: {
9075         if (tag == 10) {
9076           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
9077                 input, this->mutable_name()));
9078           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9079             this->name().data(), this->name().length(),
9080             ::google::protobuf::internal::WireFormat::PARSE,
9081             "opencv_caffe.NetParameter.name");
9082         } else {
9083           goto handle_unusual;
9084         }
9085         if (input->ExpectTag(18)) goto parse_layers;
9086         break;
9087       }
9088
9089       // repeated .opencv_caffe.V1LayerParameter layers = 2;
9090       case 2: {
9091         if (tag == 18) {
9092          parse_layers:
9093           DO_(input->IncrementRecursionDepth());
9094          parse_loop_layers:
9095           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
9096                 input, add_layers()));
9097         } else {
9098           goto handle_unusual;
9099         }
9100         if (input->ExpectTag(18)) goto parse_loop_layers;
9101         input->UnsafeDecrementRecursionDepth();
9102         if (input->ExpectTag(26)) goto parse_input;
9103         break;
9104       }
9105
9106       // repeated string input = 3;
9107       case 3: {
9108         if (tag == 26) {
9109          parse_input:
9110           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
9111                 input, this->add_input()));
9112           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9113             this->input(this->input_size() - 1).data(),
9114             this->input(this->input_size() - 1).length(),
9115             ::google::protobuf::internal::WireFormat::PARSE,
9116             "opencv_caffe.NetParameter.input");
9117         } else {
9118           goto handle_unusual;
9119         }
9120         if (input->ExpectTag(26)) goto parse_input;
9121         if (input->ExpectTag(32)) goto parse_input_dim;
9122         break;
9123       }
9124
9125       // repeated int32 input_dim = 4;
9126       case 4: {
9127         if (tag == 32) {
9128          parse_input_dim:
9129           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
9130                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
9131                  1, 32, input, this->mutable_input_dim())));
9132         } else if (tag == 34) {
9133           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
9134                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
9135                  input, this->mutable_input_dim())));
9136         } else {
9137           goto handle_unusual;
9138         }
9139         if (input->ExpectTag(32)) goto parse_input_dim;
9140         if (input->ExpectTag(40)) goto parse_force_backward;
9141         break;
9142       }
9143
9144       // optional bool force_backward = 5 [default = false];
9145       case 5: {
9146         if (tag == 40) {
9147          parse_force_backward:
9148           set_has_force_backward();
9149           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
9150                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
9151                  input, &force_backward_)));
9152         } else {
9153           goto handle_unusual;
9154         }
9155         if (input->ExpectTag(50)) goto parse_state;
9156         break;
9157       }
9158
9159       // optional .opencv_caffe.NetState state = 6;
9160       case 6: {
9161         if (tag == 50) {
9162          parse_state:
9163           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
9164                input, mutable_state()));
9165         } else {
9166           goto handle_unusual;
9167         }
9168         if (input->ExpectTag(56)) goto parse_debug_info;
9169         break;
9170       }
9171
9172       // optional bool debug_info = 7 [default = false];
9173       case 7: {
9174         if (tag == 56) {
9175          parse_debug_info:
9176           set_has_debug_info();
9177           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
9178                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
9179                  input, &debug_info_)));
9180         } else {
9181           goto handle_unusual;
9182         }
9183         if (input->ExpectTag(66)) goto parse_input_shape;
9184         break;
9185       }
9186
9187       // repeated .opencv_caffe.BlobShape input_shape = 8;
9188       case 8: {
9189         if (tag == 66) {
9190          parse_input_shape:
9191           DO_(input->IncrementRecursionDepth());
9192          parse_loop_input_shape:
9193           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
9194                 input, add_input_shape()));
9195         } else {
9196           goto handle_unusual;
9197         }
9198         if (input->ExpectTag(66)) goto parse_loop_input_shape;
9199         if (input->ExpectTag(802)) goto parse_loop_layer;
9200         input->UnsafeDecrementRecursionDepth();
9201         break;
9202       }
9203
9204       // repeated .opencv_caffe.LayerParameter layer = 100;
9205       case 100: {
9206         if (tag == 802) {
9207           DO_(input->IncrementRecursionDepth());
9208          parse_loop_layer:
9209           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
9210                 input, add_layer()));
9211         } else {
9212           goto handle_unusual;
9213         }
9214         if (input->ExpectTag(802)) goto parse_loop_layer;
9215         input->UnsafeDecrementRecursionDepth();
9216         if (input->ExpectAtEnd()) goto success;
9217         break;
9218       }
9219
9220       default: {
9221       handle_unusual:
9222         if (tag == 0 ||
9223             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
9224             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
9225           goto success;
9226         }
9227         DO_(::google::protobuf::internal::WireFormat::SkipField(
9228               input, tag, mutable_unknown_fields()));
9229         break;
9230       }
9231     }
9232   }
9233 success:
9234   // @@protoc_insertion_point(parse_success:opencv_caffe.NetParameter)
9235   return true;
9236 failure:
9237   // @@protoc_insertion_point(parse_failure:opencv_caffe.NetParameter)
9238   return false;
9239 #undef DO_
9240 }
9241
9242 void NetParameter::SerializeWithCachedSizes(
9243     ::google::protobuf::io::CodedOutputStream* output) const {
9244   // @@protoc_insertion_point(serialize_start:opencv_caffe.NetParameter)
9245   // optional string name = 1;
9246   if (has_name()) {
9247     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9248       this->name().data(), this->name().length(),
9249       ::google::protobuf::internal::WireFormat::SERIALIZE,
9250       "opencv_caffe.NetParameter.name");
9251     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
9252       1, this->name(), output);
9253   }
9254
9255   // repeated .opencv_caffe.V1LayerParameter layers = 2;
9256   for (unsigned int i = 0, n = this->layers_size(); i < n; i++) {
9257     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9258       2, this->layers(i), output);
9259   }
9260
9261   // repeated string input = 3;
9262   for (int i = 0; i < this->input_size(); i++) {
9263     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9264       this->input(i).data(), this->input(i).length(),
9265       ::google::protobuf::internal::WireFormat::SERIALIZE,
9266       "opencv_caffe.NetParameter.input");
9267     ::google::protobuf::internal::WireFormatLite::WriteString(
9268       3, this->input(i), output);
9269   }
9270
9271   // repeated int32 input_dim = 4;
9272   for (int i = 0; i < this->input_dim_size(); i++) {
9273     ::google::protobuf::internal::WireFormatLite::WriteInt32(
9274       4, this->input_dim(i), output);
9275   }
9276
9277   // optional bool force_backward = 5 [default = false];
9278   if (has_force_backward()) {
9279     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->force_backward(), output);
9280   }
9281
9282   // optional .opencv_caffe.NetState state = 6;
9283   if (has_state()) {
9284     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9285       6, *this->state_, output);
9286   }
9287
9288   // optional bool debug_info = 7 [default = false];
9289   if (has_debug_info()) {
9290     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->debug_info(), output);
9291   }
9292
9293   // repeated .opencv_caffe.BlobShape input_shape = 8;
9294   for (unsigned int i = 0, n = this->input_shape_size(); i < n; i++) {
9295     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9296       8, this->input_shape(i), output);
9297   }
9298
9299   // repeated .opencv_caffe.LayerParameter layer = 100;
9300   for (unsigned int i = 0, n = this->layer_size(); i < n; i++) {
9301     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
9302       100, this->layer(i), output);
9303   }
9304
9305   if (_internal_metadata_.have_unknown_fields()) {
9306     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
9307         unknown_fields(), output);
9308   }
9309   // @@protoc_insertion_point(serialize_end:opencv_caffe.NetParameter)
9310 }
9311
9312 ::google::protobuf::uint8* NetParameter::InternalSerializeWithCachedSizesToArray(
9313     bool deterministic, ::google::protobuf::uint8* target) const {
9314   (void)deterministic; // Unused
9315   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NetParameter)
9316   // optional string name = 1;
9317   if (has_name()) {
9318     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9319       this->name().data(), this->name().length(),
9320       ::google::protobuf::internal::WireFormat::SERIALIZE,
9321       "opencv_caffe.NetParameter.name");
9322     target =
9323       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
9324         1, this->name(), target);
9325   }
9326
9327   // repeated .opencv_caffe.V1LayerParameter layers = 2;
9328   for (unsigned int i = 0, n = this->layers_size(); i < n; i++) {
9329     target = ::google::protobuf::internal::WireFormatLite::
9330       InternalWriteMessageNoVirtualToArray(
9331         2, this->layers(i), false, target);
9332   }
9333
9334   // repeated string input = 3;
9335   for (int i = 0; i < this->input_size(); i++) {
9336     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
9337       this->input(i).data(), this->input(i).length(),
9338       ::google::protobuf::internal::WireFormat::SERIALIZE,
9339       "opencv_caffe.NetParameter.input");
9340     target = ::google::protobuf::internal::WireFormatLite::
9341       WriteStringToArray(3, this->input(i), target);
9342   }
9343
9344   // repeated int32 input_dim = 4;
9345   for (int i = 0; i < this->input_dim_size(); i++) {
9346     target = ::google::protobuf::internal::WireFormatLite::
9347       WriteInt32ToArray(4, this->input_dim(i), target);
9348   }
9349
9350   // optional bool force_backward = 5 [default = false];
9351   if (has_force_backward()) {
9352     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->force_backward(), target);
9353   }
9354
9355   // optional .opencv_caffe.NetState state = 6;
9356   if (has_state()) {
9357     target = ::google::protobuf::internal::WireFormatLite::
9358       InternalWriteMessageNoVirtualToArray(
9359         6, *this->state_, false, target);
9360   }
9361
9362   // optional bool debug_info = 7 [default = false];
9363   if (has_debug_info()) {
9364     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->debug_info(), target);
9365   }
9366
9367   // repeated .opencv_caffe.BlobShape input_shape = 8;
9368   for (unsigned int i = 0, n = this->input_shape_size(); i < n; i++) {
9369     target = ::google::protobuf::internal::WireFormatLite::
9370       InternalWriteMessageNoVirtualToArray(
9371         8, this->input_shape(i), false, target);
9372   }
9373
9374   // repeated .opencv_caffe.LayerParameter layer = 100;
9375   for (unsigned int i = 0, n = this->layer_size(); i < n; i++) {
9376     target = ::google::protobuf::internal::WireFormatLite::
9377       InternalWriteMessageNoVirtualToArray(
9378         100, this->layer(i), false, target);
9379   }
9380
9381   if (_internal_metadata_.have_unknown_fields()) {
9382     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
9383         unknown_fields(), target);
9384   }
9385   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NetParameter)
9386   return target;
9387 }
9388
9389 size_t NetParameter::ByteSizeLong() const {
9390 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NetParameter)
9391   size_t total_size = 0;
9392
9393   if (_has_bits_[0 / 32] & 113u) {
9394     // optional string name = 1;
9395     if (has_name()) {
9396       total_size += 1 +
9397         ::google::protobuf::internal::WireFormatLite::StringSize(
9398           this->name());
9399     }
9400
9401     // optional bool force_backward = 5 [default = false];
9402     if (has_force_backward()) {
9403       total_size += 1 + 1;
9404     }
9405
9406     // optional .opencv_caffe.NetState state = 6;
9407     if (has_state()) {
9408       total_size += 1 +
9409         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9410           *this->state_);
9411     }
9412
9413     // optional bool debug_info = 7 [default = false];
9414     if (has_debug_info()) {
9415       total_size += 1 + 1;
9416     }
9417
9418   }
9419   // repeated string input = 3;
9420   total_size += 1 *
9421       ::google::protobuf::internal::FromIntSize(this->input_size());
9422   for (int i = 0; i < this->input_size(); i++) {
9423     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
9424       this->input(i));
9425   }
9426
9427   // repeated .opencv_caffe.BlobShape input_shape = 8;
9428   {
9429     unsigned int count = this->input_shape_size();
9430     total_size += 1UL * count;
9431     for (unsigned int i = 0; i < count; i++) {
9432       total_size +=
9433         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9434           this->input_shape(i));
9435     }
9436   }
9437
9438   // repeated int32 input_dim = 4;
9439   {
9440     size_t data_size = 0;
9441     unsigned int count = this->input_dim_size();
9442     for (unsigned int i = 0; i < count; i++) {
9443       data_size += ::google::protobuf::internal::WireFormatLite::
9444         Int32Size(this->input_dim(i));
9445     }
9446     total_size += 1 *
9447                   ::google::protobuf::internal::FromIntSize(this->input_dim_size());
9448     total_size += data_size;
9449   }
9450
9451   // repeated .opencv_caffe.LayerParameter layer = 100;
9452   {
9453     unsigned int count = this->layer_size();
9454     total_size += 2UL * count;
9455     for (unsigned int i = 0; i < count; i++) {
9456       total_size +=
9457         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9458           this->layer(i));
9459     }
9460   }
9461
9462   // repeated .opencv_caffe.V1LayerParameter layers = 2;
9463   {
9464     unsigned int count = this->layers_size();
9465     total_size += 1UL * count;
9466     for (unsigned int i = 0; i < count; i++) {
9467       total_size +=
9468         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
9469           this->layers(i));
9470     }
9471   }
9472
9473   if (_internal_metadata_.have_unknown_fields()) {
9474     total_size +=
9475       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
9476         unknown_fields());
9477   }
9478   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
9479   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
9480   _cached_size_ = cached_size;
9481   GOOGLE_SAFE_CONCURRENT_WRITES_END();
9482   return total_size;
9483 }
9484
9485 void NetParameter::MergeFrom(const ::google::protobuf::Message& from) {
9486 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NetParameter)
9487   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
9488   const NetParameter* source =
9489       ::google::protobuf::internal::DynamicCastToGenerated<const NetParameter>(
9490           &from);
9491   if (source == NULL) {
9492   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NetParameter)
9493     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
9494   } else {
9495   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NetParameter)
9496     UnsafeMergeFrom(*source);
9497   }
9498 }
9499
9500 void NetParameter::MergeFrom(const NetParameter& from) {
9501 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NetParameter)
9502   if (GOOGLE_PREDICT_TRUE(&from != this)) {
9503     UnsafeMergeFrom(from);
9504   } else {
9505     MergeFromFail(__LINE__);
9506   }
9507 }
9508
9509 void NetParameter::UnsafeMergeFrom(const NetParameter& from) {
9510   GOOGLE_DCHECK(&from != this);
9511   input_.UnsafeMergeFrom(from.input_);
9512   input_shape_.MergeFrom(from.input_shape_);
9513   input_dim_.UnsafeMergeFrom(from.input_dim_);
9514   layer_.MergeFrom(from.layer_);
9515   layers_.MergeFrom(from.layers_);
9516   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
9517     if (from.has_name()) {
9518       set_has_name();
9519       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
9520     }
9521     if (from.has_force_backward()) {
9522       set_force_backward(from.force_backward());
9523     }
9524     if (from.has_state()) {
9525       mutable_state()->::opencv_caffe::NetState::MergeFrom(from.state());
9526     }
9527     if (from.has_debug_info()) {
9528       set_debug_info(from.debug_info());
9529     }
9530   }
9531   if (from._internal_metadata_.have_unknown_fields()) {
9532     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
9533       from.unknown_fields(), &_internal_metadata_);
9534   }
9535 }
9536
9537 void NetParameter::CopyFrom(const ::google::protobuf::Message& from) {
9538 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NetParameter)
9539   if (&from == this) return;
9540   Clear();
9541   MergeFrom(from);
9542 }
9543
9544 void NetParameter::CopyFrom(const NetParameter& from) {
9545 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NetParameter)
9546   if (&from == this) return;
9547   Clear();
9548   UnsafeMergeFrom(from);
9549 }
9550
9551 bool NetParameter::IsInitialized() const {
9552
9553   return true;
9554 }
9555
9556 void NetParameter::Swap(NetParameter* other) {
9557   if (other == this) return;
9558   InternalSwap(other);
9559 }
9560 void NetParameter::InternalSwap(NetParameter* other) {
9561   name_.Swap(&other->name_);
9562   input_.UnsafeArenaSwap(&other->input_);
9563   input_shape_.UnsafeArenaSwap(&other->input_shape_);
9564   input_dim_.UnsafeArenaSwap(&other->input_dim_);
9565   std::swap(force_backward_, other->force_backward_);
9566   std::swap(state_, other->state_);
9567   std::swap(debug_info_, other->debug_info_);
9568   layer_.UnsafeArenaSwap(&other->layer_);
9569   layers_.UnsafeArenaSwap(&other->layers_);
9570   std::swap(_has_bits_[0], other->_has_bits_[0]);
9571   _internal_metadata_.Swap(&other->_internal_metadata_);
9572   std::swap(_cached_size_, other->_cached_size_);
9573 }
9574
9575 ::google::protobuf::Metadata NetParameter::GetMetadata() const {
9576   protobuf_AssignDescriptorsOnce();
9577   ::google::protobuf::Metadata metadata;
9578   metadata.descriptor = NetParameter_descriptor_;
9579   metadata.reflection = NetParameter_reflection_;
9580   return metadata;
9581 }
9582
9583 #if PROTOBUF_INLINE_NOT_IN_HEADERS
9584 // NetParameter
9585
9586 // optional string name = 1;
9587 bool NetParameter::has_name() const {
9588   return (_has_bits_[0] & 0x00000001u) != 0;
9589 }
9590 void NetParameter::set_has_name() {
9591   _has_bits_[0] |= 0x00000001u;
9592 }
9593 void NetParameter::clear_has_name() {
9594   _has_bits_[0] &= ~0x00000001u;
9595 }
9596 void NetParameter::clear_name() {
9597   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9598   clear_has_name();
9599 }
9600 const ::std::string& NetParameter::name() const {
9601   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.name)
9602   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9603 }
9604 void NetParameter::set_name(const ::std::string& value) {
9605   set_has_name();
9606   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
9607   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.name)
9608 }
9609 void NetParameter::set_name(const char* value) {
9610   set_has_name();
9611   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
9612   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.name)
9613 }
9614 void NetParameter::set_name(const char* value, size_t size) {
9615   set_has_name();
9616   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
9617       ::std::string(reinterpret_cast<const char*>(value), size));
9618   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.name)
9619 }
9620 ::std::string* NetParameter::mutable_name() {
9621   set_has_name();
9622   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.name)
9623   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9624 }
9625 ::std::string* NetParameter::release_name() {
9626   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.name)
9627   clear_has_name();
9628   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
9629 }
9630 void NetParameter::set_allocated_name(::std::string* name) {
9631   if (name != NULL) {
9632     set_has_name();
9633   } else {
9634     clear_has_name();
9635   }
9636   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
9637   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.name)
9638 }
9639
9640 // repeated string input = 3;
9641 int NetParameter::input_size() const {
9642   return input_.size();
9643 }
9644 void NetParameter::clear_input() {
9645   input_.Clear();
9646 }
9647 const ::std::string& NetParameter::input(int index) const {
9648   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input)
9649   return input_.Get(index);
9650 }
9651 ::std::string* NetParameter::mutable_input(int index) {
9652   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input)
9653   return input_.Mutable(index);
9654 }
9655 void NetParameter::set_input(int index, const ::std::string& value) {
9656   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input)
9657   input_.Mutable(index)->assign(value);
9658 }
9659 void NetParameter::set_input(int index, const char* value) {
9660   input_.Mutable(index)->assign(value);
9661   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.input)
9662 }
9663 void NetParameter::set_input(int index, const char* value, size_t size) {
9664   input_.Mutable(index)->assign(
9665     reinterpret_cast<const char*>(value), size);
9666   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.input)
9667 }
9668 ::std::string* NetParameter::add_input() {
9669   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetParameter.input)
9670   return input_.Add();
9671 }
9672 void NetParameter::add_input(const ::std::string& value) {
9673   input_.Add()->assign(value);
9674   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input)
9675 }
9676 void NetParameter::add_input(const char* value) {
9677   input_.Add()->assign(value);
9678   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetParameter.input)
9679 }
9680 void NetParameter::add_input(const char* value, size_t size) {
9681   input_.Add()->assign(reinterpret_cast<const char*>(value), size);
9682   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetParameter.input)
9683 }
9684 const ::google::protobuf::RepeatedPtrField< ::std::string>&
9685 NetParameter::input() const {
9686   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input)
9687   return input_;
9688 }
9689 ::google::protobuf::RepeatedPtrField< ::std::string>*
9690 NetParameter::mutable_input() {
9691   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input)
9692   return &input_;
9693 }
9694
9695 // repeated .opencv_caffe.BlobShape input_shape = 8;
9696 int NetParameter::input_shape_size() const {
9697   return input_shape_.size();
9698 }
9699 void NetParameter::clear_input_shape() {
9700   input_shape_.Clear();
9701 }
9702 const ::opencv_caffe::BlobShape& NetParameter::input_shape(int index) const {
9703   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_shape)
9704   return input_shape_.Get(index);
9705 }
9706 ::opencv_caffe::BlobShape* NetParameter::mutable_input_shape(int index) {
9707   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input_shape)
9708   return input_shape_.Mutable(index);
9709 }
9710 ::opencv_caffe::BlobShape* NetParameter::add_input_shape() {
9711   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_shape)
9712   return input_shape_.Add();
9713 }
9714 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
9715 NetParameter::mutable_input_shape() {
9716   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_shape)
9717   return &input_shape_;
9718 }
9719 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
9720 NetParameter::input_shape() const {
9721   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_shape)
9722   return input_shape_;
9723 }
9724
9725 // repeated int32 input_dim = 4;
9726 int NetParameter::input_dim_size() const {
9727   return input_dim_.size();
9728 }
9729 void NetParameter::clear_input_dim() {
9730   input_dim_.Clear();
9731 }
9732 ::google::protobuf::int32 NetParameter::input_dim(int index) const {
9733   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_dim)
9734   return input_dim_.Get(index);
9735 }
9736 void NetParameter::set_input_dim(int index, ::google::protobuf::int32 value) {
9737   input_dim_.Set(index, value);
9738   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input_dim)
9739 }
9740 void NetParameter::add_input_dim(::google::protobuf::int32 value) {
9741   input_dim_.Add(value);
9742   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_dim)
9743 }
9744 const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
9745 NetParameter::input_dim() const {
9746   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_dim)
9747   return input_dim_;
9748 }
9749 ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
9750 NetParameter::mutable_input_dim() {
9751   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_dim)
9752   return &input_dim_;
9753 }
9754
9755 // optional bool force_backward = 5 [default = false];
9756 bool NetParameter::has_force_backward() const {
9757   return (_has_bits_[0] & 0x00000010u) != 0;
9758 }
9759 void NetParameter::set_has_force_backward() {
9760   _has_bits_[0] |= 0x00000010u;
9761 }
9762 void NetParameter::clear_has_force_backward() {
9763   _has_bits_[0] &= ~0x00000010u;
9764 }
9765 void NetParameter::clear_force_backward() {
9766   force_backward_ = false;
9767   clear_has_force_backward();
9768 }
9769 bool NetParameter::force_backward() const {
9770   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.force_backward)
9771   return force_backward_;
9772 }
9773 void NetParameter::set_force_backward(bool value) {
9774   set_has_force_backward();
9775   force_backward_ = value;
9776   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.force_backward)
9777 }
9778
9779 // optional .opencv_caffe.NetState state = 6;
9780 bool NetParameter::has_state() const {
9781   return (_has_bits_[0] & 0x00000020u) != 0;
9782 }
9783 void NetParameter::set_has_state() {
9784   _has_bits_[0] |= 0x00000020u;
9785 }
9786 void NetParameter::clear_has_state() {
9787   _has_bits_[0] &= ~0x00000020u;
9788 }
9789 void NetParameter::clear_state() {
9790   if (state_ != NULL) state_->::opencv_caffe::NetState::Clear();
9791   clear_has_state();
9792 }
9793 const ::opencv_caffe::NetState& NetParameter::state() const {
9794   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.state)
9795   return state_ != NULL ? *state_
9796                          : *::opencv_caffe::NetState::internal_default_instance();
9797 }
9798 ::opencv_caffe::NetState* NetParameter::mutable_state() {
9799   set_has_state();
9800   if (state_ == NULL) {
9801     state_ = new ::opencv_caffe::NetState;
9802   }
9803   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.state)
9804   return state_;
9805 }
9806 ::opencv_caffe::NetState* NetParameter::release_state() {
9807   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.state)
9808   clear_has_state();
9809   ::opencv_caffe::NetState* temp = state_;
9810   state_ = NULL;
9811   return temp;
9812 }
9813 void NetParameter::set_allocated_state(::opencv_caffe::NetState* state) {
9814   delete state_;
9815   state_ = state;
9816   if (state) {
9817     set_has_state();
9818   } else {
9819     clear_has_state();
9820   }
9821   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.state)
9822 }
9823
9824 // optional bool debug_info = 7 [default = false];
9825 bool NetParameter::has_debug_info() const {
9826   return (_has_bits_[0] & 0x00000040u) != 0;
9827 }
9828 void NetParameter::set_has_debug_info() {
9829   _has_bits_[0] |= 0x00000040u;
9830 }
9831 void NetParameter::clear_has_debug_info() {
9832   _has_bits_[0] &= ~0x00000040u;
9833 }
9834 void NetParameter::clear_debug_info() {
9835   debug_info_ = false;
9836   clear_has_debug_info();
9837 }
9838 bool NetParameter::debug_info() const {
9839   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.debug_info)
9840   return debug_info_;
9841 }
9842 void NetParameter::set_debug_info(bool value) {
9843   set_has_debug_info();
9844   debug_info_ = value;
9845   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.debug_info)
9846 }
9847
9848 // repeated .opencv_caffe.LayerParameter layer = 100;
9849 int NetParameter::layer_size() const {
9850   return layer_.size();
9851 }
9852 void NetParameter::clear_layer() {
9853   layer_.Clear();
9854 }
9855 const ::opencv_caffe::LayerParameter& NetParameter::layer(int index) const {
9856   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layer)
9857   return layer_.Get(index);
9858 }
9859 ::opencv_caffe::LayerParameter* NetParameter::mutable_layer(int index) {
9860   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layer)
9861   return layer_.Mutable(index);
9862 }
9863 ::opencv_caffe::LayerParameter* NetParameter::add_layer() {
9864   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layer)
9865   return layer_.Add();
9866 }
9867 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >*
9868 NetParameter::mutable_layer() {
9869   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layer)
9870   return &layer_;
9871 }
9872 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >&
9873 NetParameter::layer() const {
9874   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layer)
9875   return layer_;
9876 }
9877
9878 // repeated .opencv_caffe.V1LayerParameter layers = 2;
9879 int NetParameter::layers_size() const {
9880   return layers_.size();
9881 }
9882 void NetParameter::clear_layers() {
9883   layers_.Clear();
9884 }
9885 const ::opencv_caffe::V1LayerParameter& NetParameter::layers(int index) const {
9886   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layers)
9887   return layers_.Get(index);
9888 }
9889 ::opencv_caffe::V1LayerParameter* NetParameter::mutable_layers(int index) {
9890   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layers)
9891   return layers_.Mutable(index);
9892 }
9893 ::opencv_caffe::V1LayerParameter* NetParameter::add_layers() {
9894   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layers)
9895   return layers_.Add();
9896 }
9897 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >*
9898 NetParameter::mutable_layers() {
9899   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layers)
9900   return &layers_;
9901 }
9902 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >&
9903 NetParameter::layers() const {
9904   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layers)
9905   return layers_;
9906 }
9907
9908 inline const NetParameter* NetParameter::internal_default_instance() {
9909   return &NetParameter_default_instance_.get();
9910 }
9911 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
9912
9913 // ===================================================================
9914
9915 const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor() {
9916   protobuf_AssignDescriptorsOnce();
9917   return SolverParameter_SnapshotFormat_descriptor_;
9918 }
9919 bool SolverParameter_SnapshotFormat_IsValid(int value) {
9920   switch (value) {
9921     case 0:
9922     case 1:
9923       return true;
9924     default:
9925       return false;
9926   }
9927 }
9928
9929 #if !defined(_MSC_VER) || _MSC_VER >= 1900
9930 const SolverParameter_SnapshotFormat SolverParameter::HDF5;
9931 const SolverParameter_SnapshotFormat SolverParameter::BINARYPROTO;
9932 const SolverParameter_SnapshotFormat SolverParameter::SnapshotFormat_MIN;
9933 const SolverParameter_SnapshotFormat SolverParameter::SnapshotFormat_MAX;
9934 const int SolverParameter::SnapshotFormat_ARRAYSIZE;
9935 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
9936 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverMode_descriptor() {
9937   protobuf_AssignDescriptorsOnce();
9938   return SolverParameter_SolverMode_descriptor_;
9939 }
9940 bool SolverParameter_SolverMode_IsValid(int value) {
9941   switch (value) {
9942     case 0:
9943     case 1:
9944       return true;
9945     default:
9946       return false;
9947   }
9948 }
9949
9950 #if !defined(_MSC_VER) || _MSC_VER >= 1900
9951 const SolverParameter_SolverMode SolverParameter::CPU;
9952 const SolverParameter_SolverMode SolverParameter::GPU;
9953 const SolverParameter_SolverMode SolverParameter::SolverMode_MIN;
9954 const SolverParameter_SolverMode SolverParameter::SolverMode_MAX;
9955 const int SolverParameter::SolverMode_ARRAYSIZE;
9956 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
9957 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverType_descriptor() {
9958   protobuf_AssignDescriptorsOnce();
9959   return SolverParameter_SolverType_descriptor_;
9960 }
9961 bool SolverParameter_SolverType_IsValid(int value) {
9962   switch (value) {
9963     case 0:
9964     case 1:
9965     case 2:
9966     case 3:
9967     case 4:
9968     case 5:
9969       return true;
9970     default:
9971       return false;
9972   }
9973 }
9974
9975 #if !defined(_MSC_VER) || _MSC_VER >= 1900
9976 const SolverParameter_SolverType SolverParameter::SGD;
9977 const SolverParameter_SolverType SolverParameter::NESTEROV;
9978 const SolverParameter_SolverType SolverParameter::ADAGRAD;
9979 const SolverParameter_SolverType SolverParameter::RMSPROP;
9980 const SolverParameter_SolverType SolverParameter::ADADELTA;
9981 const SolverParameter_SolverType SolverParameter::ADAM;
9982 const SolverParameter_SolverType SolverParameter::SolverType_MIN;
9983 const SolverParameter_SolverType SolverParameter::SolverType_MAX;
9984 const int SolverParameter::SolverType_ARRAYSIZE;
9985 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
9986 ::std::string* SolverParameter::_default_regularization_type_ = NULL;
9987 ::std::string* SolverParameter::_default_type_ = NULL;
9988 #if !defined(_MSC_VER) || _MSC_VER >= 1900
9989 const int SolverParameter::kNetFieldNumber;
9990 const int SolverParameter::kNetParamFieldNumber;
9991 const int SolverParameter::kTrainNetFieldNumber;
9992 const int SolverParameter::kTestNetFieldNumber;
9993 const int SolverParameter::kTrainNetParamFieldNumber;
9994 const int SolverParameter::kTestNetParamFieldNumber;
9995 const int SolverParameter::kTrainStateFieldNumber;
9996 const int SolverParameter::kTestStateFieldNumber;
9997 const int SolverParameter::kTestIterFieldNumber;
9998 const int SolverParameter::kTestIntervalFieldNumber;
9999 const int SolverParameter::kTestComputeLossFieldNumber;
10000 const int SolverParameter::kTestInitializationFieldNumber;
10001 const int SolverParameter::kBaseLrFieldNumber;
10002 const int SolverParameter::kDisplayFieldNumber;
10003 const int SolverParameter::kAverageLossFieldNumber;
10004 const int SolverParameter::kMaxIterFieldNumber;
10005 const int SolverParameter::kIterSizeFieldNumber;
10006 const int SolverParameter::kLrPolicyFieldNumber;
10007 const int SolverParameter::kGammaFieldNumber;
10008 const int SolverParameter::kPowerFieldNumber;
10009 const int SolverParameter::kMomentumFieldNumber;
10010 const int SolverParameter::kWeightDecayFieldNumber;
10011 const int SolverParameter::kRegularizationTypeFieldNumber;
10012 const int SolverParameter::kStepsizeFieldNumber;
10013 const int SolverParameter::kStepvalueFieldNumber;
10014 const int SolverParameter::kClipGradientsFieldNumber;
10015 const int SolverParameter::kSnapshotFieldNumber;
10016 const int SolverParameter::kSnapshotPrefixFieldNumber;
10017 const int SolverParameter::kSnapshotDiffFieldNumber;
10018 const int SolverParameter::kSnapshotFormatFieldNumber;
10019 const int SolverParameter::kSolverModeFieldNumber;
10020 const int SolverParameter::kDeviceIdFieldNumber;
10021 const int SolverParameter::kRandomSeedFieldNumber;
10022 const int SolverParameter::kTypeFieldNumber;
10023 const int SolverParameter::kDeltaFieldNumber;
10024 const int SolverParameter::kMomentum2FieldNumber;
10025 const int SolverParameter::kRmsDecayFieldNumber;
10026 const int SolverParameter::kDebugInfoFieldNumber;
10027 const int SolverParameter::kSnapshotAfterTrainFieldNumber;
10028 const int SolverParameter::kSolverTypeFieldNumber;
10029 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
10030
10031 SolverParameter::SolverParameter()
10032   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
10033   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
10034   SharedCtor();
10035   // @@protoc_insertion_point(constructor:opencv_caffe.SolverParameter)
10036 }
10037
10038 void SolverParameter::InitAsDefaultInstance() {
10039   net_param_ = const_cast< ::opencv_caffe::NetParameter*>(
10040       ::opencv_caffe::NetParameter::internal_default_instance());
10041   train_net_param_ = const_cast< ::opencv_caffe::NetParameter*>(
10042       ::opencv_caffe::NetParameter::internal_default_instance());
10043   train_state_ = const_cast< ::opencv_caffe::NetState*>(
10044       ::opencv_caffe::NetState::internal_default_instance());
10045 }
10046
10047 SolverParameter::SolverParameter(const SolverParameter& from)
10048   : ::google::protobuf::Message(),
10049     _internal_metadata_(NULL) {
10050   SharedCtor();
10051   UnsafeMergeFrom(from);
10052   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SolverParameter)
10053 }
10054
10055 void SolverParameter::SharedCtor() {
10056   net_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10057   train_net_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10058   lr_policy_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10059   regularization_type_.UnsafeSetDefault(_default_regularization_type_);
10060   snapshot_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10061   type_.UnsafeSetDefault(_default_type_);
10062   net_param_ = NULL;
10063   train_net_param_ = NULL;
10064   train_state_ = NULL;
10065   ::memset(&test_interval_, 0, reinterpret_cast<char*>(&solver_type_) -
10066     reinterpret_cast<char*>(&test_interval_) + sizeof(solver_type_));
10067   rms_decay_ = 0.99f;
10068   average_loss_ = 1;
10069   iter_size_ = 1;
10070   test_initialization_ = true;
10071   snapshot_after_train_ = true;
10072   clip_gradients_ = -1;
10073   snapshot_format_ = 1;
10074   solver_mode_ = 1;
10075   random_seed_ = GOOGLE_LONGLONG(-1);
10076   delta_ = 1e-08f;
10077   momentum2_ = 0.999f;
10078   _cached_size_ = 0;
10079 }
10080
10081 SolverParameter::~SolverParameter() {
10082   // @@protoc_insertion_point(destructor:opencv_caffe.SolverParameter)
10083   SharedDtor();
10084 }
10085
10086 void SolverParameter::SharedDtor() {
10087   net_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10088   train_net_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10089   lr_policy_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10090   regularization_type_.DestroyNoArena(_default_regularization_type_);
10091   snapshot_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10092   type_.DestroyNoArena(_default_type_);
10093   if (this != &SolverParameter_default_instance_.get()) {
10094     delete net_param_;
10095     delete train_net_param_;
10096     delete train_state_;
10097   }
10098 }
10099
10100 void SolverParameter::SetCachedSize(int size) const {
10101   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
10102   _cached_size_ = size;
10103   GOOGLE_SAFE_CONCURRENT_WRITES_END();
10104 }
10105 const ::google::protobuf::Descriptor* SolverParameter::descriptor() {
10106   protobuf_AssignDescriptorsOnce();
10107   return SolverParameter_descriptor_;
10108 }
10109
10110 const SolverParameter& SolverParameter::default_instance() {
10111   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
10112   return *internal_default_instance();
10113 }
10114
10115 ::google::protobuf::internal::ExplicitlyConstructed<SolverParameter> SolverParameter_default_instance_;
10116
10117 SolverParameter* SolverParameter::New(::google::protobuf::Arena* arena) const {
10118   SolverParameter* n = new SolverParameter;
10119   if (arena != NULL) {
10120     arena->Own(n);
10121   }
10122   return n;
10123 }
10124
10125 void SolverParameter::Clear() {
10126 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SolverParameter)
10127 #if defined(__clang__)
10128 #define ZR_HELPER_(f) \
10129   _Pragma("clang diagnostic push") \
10130   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
10131   __builtin_offsetof(SolverParameter, f) \
10132   _Pragma("clang diagnostic pop")
10133 #else
10134 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
10135   &reinterpret_cast<SolverParameter*>(16)->f)
10136 #endif
10137
10138 #define ZR_(first, last) do {\
10139   ::memset(&(first), 0,\
10140            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
10141 } while (0)
10142
10143   if (_has_bits_[0 / 32] & 87u) {
10144     if (has_net()) {
10145       net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10146     }
10147     if (has_net_param()) {
10148       if (net_param_ != NULL) net_param_->::opencv_caffe::NetParameter::Clear();
10149     }
10150     if (has_train_net()) {
10151       train_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10152     }
10153     if (has_train_net_param()) {
10154       if (train_net_param_ != NULL) train_net_param_->::opencv_caffe::NetParameter::Clear();
10155     }
10156     if (has_train_state()) {
10157       if (train_state_ != NULL) train_state_->::opencv_caffe::NetState::Clear();
10158     }
10159   }
10160   if (_has_bits_[8 / 32] & 65024u) {
10161     ZR_(test_interval_, max_iter_);
10162     test_compute_loss_ = false;
10163     test_initialization_ = true;
10164     average_loss_ = 1;
10165   }
10166   if (_has_bits_[16 / 32] & 16711680u) {
10167     ZR_(gamma_, stepsize_);
10168     iter_size_ = 1;
10169     if (has_lr_policy()) {
10170       lr_policy_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10171     }
10172     if (has_regularization_type()) {
10173       regularization_type_.ClearToDefaultNoArena(_default_regularization_type_);
10174     }
10175   }
10176   if (_has_bits_[24 / 32] & 4261412864u) {
10177     ZR_(snapshot_, device_id_);
10178     clip_gradients_ = -1;
10179     if (has_snapshot_prefix()) {
10180       snapshot_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
10181     }
10182     snapshot_diff_ = false;
10183     snapshot_format_ = 1;
10184     solver_mode_ = 1;
10185   }
10186   if (_has_bits_[32 / 32] & 255u) {
10187     random_seed_ = GOOGLE_LONGLONG(-1);
10188     if (has_type()) {
10189       type_.ClearToDefaultNoArena(_default_type_);
10190     }
10191     delta_ = 1e-08f;
10192     momentum2_ = 0.999f;
10193     rms_decay_ = 0.99f;
10194     debug_info_ = false;
10195     snapshot_after_train_ = true;
10196     solver_type_ = 0;
10197   }
10198
10199 #undef ZR_HELPER_
10200 #undef ZR_
10201
10202   test_net_.Clear();
10203   test_net_param_.Clear();
10204   test_state_.Clear();
10205   test_iter_.Clear();
10206   stepvalue_.Clear();
10207   _has_bits_.Clear();
10208   if (_internal_metadata_.have_unknown_fields()) {
10209     mutable_unknown_fields()->Clear();
10210   }
10211 }
10212
10213 bool SolverParameter::MergePartialFromCodedStream(
10214     ::google::protobuf::io::CodedInputStream* input) {
10215 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
10216   ::google::protobuf::uint32 tag;
10217   // @@protoc_insertion_point(parse_start:opencv_caffe.SolverParameter)
10218   for (;;) {
10219     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
10220     tag = p.first;
10221     if (!p.second) goto handle_unusual;
10222     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
10223       // optional string train_net = 1;
10224       case 1: {
10225         if (tag == 10) {
10226           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10227                 input, this->mutable_train_net()));
10228           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10229             this->train_net().data(), this->train_net().length(),
10230             ::google::protobuf::internal::WireFormat::PARSE,
10231             "opencv_caffe.SolverParameter.train_net");
10232         } else {
10233           goto handle_unusual;
10234         }
10235         if (input->ExpectTag(18)) goto parse_test_net;
10236         break;
10237       }
10238
10239       // repeated string test_net = 2;
10240       case 2: {
10241         if (tag == 18) {
10242          parse_test_net:
10243           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10244                 input, this->add_test_net()));
10245           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10246             this->test_net(this->test_net_size() - 1).data(),
10247             this->test_net(this->test_net_size() - 1).length(),
10248             ::google::protobuf::internal::WireFormat::PARSE,
10249             "opencv_caffe.SolverParameter.test_net");
10250         } else {
10251           goto handle_unusual;
10252         }
10253         if (input->ExpectTag(18)) goto parse_test_net;
10254         if (input->ExpectTag(24)) goto parse_test_iter;
10255         break;
10256       }
10257
10258       // repeated int32 test_iter = 3;
10259       case 3: {
10260         if (tag == 24) {
10261          parse_test_iter:
10262           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
10263                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10264                  1, 24, input, this->mutable_test_iter())));
10265         } else if (tag == 26) {
10266           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
10267                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10268                  input, this->mutable_test_iter())));
10269         } else {
10270           goto handle_unusual;
10271         }
10272         if (input->ExpectTag(24)) goto parse_test_iter;
10273         if (input->ExpectTag(32)) goto parse_test_interval;
10274         break;
10275       }
10276
10277       // optional int32 test_interval = 4 [default = 0];
10278       case 4: {
10279         if (tag == 32) {
10280          parse_test_interval:
10281           set_has_test_interval();
10282           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10283                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10284                  input, &test_interval_)));
10285         } else {
10286           goto handle_unusual;
10287         }
10288         if (input->ExpectTag(45)) goto parse_base_lr;
10289         break;
10290       }
10291
10292       // optional float base_lr = 5;
10293       case 5: {
10294         if (tag == 45) {
10295          parse_base_lr:
10296           set_has_base_lr();
10297           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10298                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10299                  input, &base_lr_)));
10300         } else {
10301           goto handle_unusual;
10302         }
10303         if (input->ExpectTag(48)) goto parse_display;
10304         break;
10305       }
10306
10307       // optional int32 display = 6;
10308       case 6: {
10309         if (tag == 48) {
10310          parse_display:
10311           set_has_display();
10312           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10313                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10314                  input, &display_)));
10315         } else {
10316           goto handle_unusual;
10317         }
10318         if (input->ExpectTag(56)) goto parse_max_iter;
10319         break;
10320       }
10321
10322       // optional int32 max_iter = 7;
10323       case 7: {
10324         if (tag == 56) {
10325          parse_max_iter:
10326           set_has_max_iter();
10327           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10328                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10329                  input, &max_iter_)));
10330         } else {
10331           goto handle_unusual;
10332         }
10333         if (input->ExpectTag(66)) goto parse_lr_policy;
10334         break;
10335       }
10336
10337       // optional string lr_policy = 8;
10338       case 8: {
10339         if (tag == 66) {
10340          parse_lr_policy:
10341           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10342                 input, this->mutable_lr_policy()));
10343           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10344             this->lr_policy().data(), this->lr_policy().length(),
10345             ::google::protobuf::internal::WireFormat::PARSE,
10346             "opencv_caffe.SolverParameter.lr_policy");
10347         } else {
10348           goto handle_unusual;
10349         }
10350         if (input->ExpectTag(77)) goto parse_gamma;
10351         break;
10352       }
10353
10354       // optional float gamma = 9;
10355       case 9: {
10356         if (tag == 77) {
10357          parse_gamma:
10358           set_has_gamma();
10359           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10360                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10361                  input, &gamma_)));
10362         } else {
10363           goto handle_unusual;
10364         }
10365         if (input->ExpectTag(85)) goto parse_power;
10366         break;
10367       }
10368
10369       // optional float power = 10;
10370       case 10: {
10371         if (tag == 85) {
10372          parse_power:
10373           set_has_power();
10374           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10375                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10376                  input, &power_)));
10377         } else {
10378           goto handle_unusual;
10379         }
10380         if (input->ExpectTag(93)) goto parse_momentum;
10381         break;
10382       }
10383
10384       // optional float momentum = 11;
10385       case 11: {
10386         if (tag == 93) {
10387          parse_momentum:
10388           set_has_momentum();
10389           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10390                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10391                  input, &momentum_)));
10392         } else {
10393           goto handle_unusual;
10394         }
10395         if (input->ExpectTag(101)) goto parse_weight_decay;
10396         break;
10397       }
10398
10399       // optional float weight_decay = 12;
10400       case 12: {
10401         if (tag == 101) {
10402          parse_weight_decay:
10403           set_has_weight_decay();
10404           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10405                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10406                  input, &weight_decay_)));
10407         } else {
10408           goto handle_unusual;
10409         }
10410         if (input->ExpectTag(104)) goto parse_stepsize;
10411         break;
10412       }
10413
10414       // optional int32 stepsize = 13;
10415       case 13: {
10416         if (tag == 104) {
10417          parse_stepsize:
10418           set_has_stepsize();
10419           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10420                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10421                  input, &stepsize_)));
10422         } else {
10423           goto handle_unusual;
10424         }
10425         if (input->ExpectTag(112)) goto parse_snapshot;
10426         break;
10427       }
10428
10429       // optional int32 snapshot = 14 [default = 0];
10430       case 14: {
10431         if (tag == 112) {
10432          parse_snapshot:
10433           set_has_snapshot();
10434           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10435                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10436                  input, &snapshot_)));
10437         } else {
10438           goto handle_unusual;
10439         }
10440         if (input->ExpectTag(122)) goto parse_snapshot_prefix;
10441         break;
10442       }
10443
10444       // optional string snapshot_prefix = 15;
10445       case 15: {
10446         if (tag == 122) {
10447          parse_snapshot_prefix:
10448           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10449                 input, this->mutable_snapshot_prefix()));
10450           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10451             this->snapshot_prefix().data(), this->snapshot_prefix().length(),
10452             ::google::protobuf::internal::WireFormat::PARSE,
10453             "opencv_caffe.SolverParameter.snapshot_prefix");
10454         } else {
10455           goto handle_unusual;
10456         }
10457         if (input->ExpectTag(128)) goto parse_snapshot_diff;
10458         break;
10459       }
10460
10461       // optional bool snapshot_diff = 16 [default = false];
10462       case 16: {
10463         if (tag == 128) {
10464          parse_snapshot_diff:
10465           set_has_snapshot_diff();
10466           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10467                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10468                  input, &snapshot_diff_)));
10469         } else {
10470           goto handle_unusual;
10471         }
10472         if (input->ExpectTag(136)) goto parse_solver_mode;
10473         break;
10474       }
10475
10476       // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
10477       case 17: {
10478         if (tag == 136) {
10479          parse_solver_mode:
10480           int value;
10481           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10482                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
10483                  input, &value)));
10484           if (::opencv_caffe::SolverParameter_SolverMode_IsValid(value)) {
10485             set_solver_mode(static_cast< ::opencv_caffe::SolverParameter_SolverMode >(value));
10486           } else {
10487             mutable_unknown_fields()->AddVarint(17, value);
10488           }
10489         } else {
10490           goto handle_unusual;
10491         }
10492         if (input->ExpectTag(144)) goto parse_device_id;
10493         break;
10494       }
10495
10496       // optional int32 device_id = 18 [default = 0];
10497       case 18: {
10498         if (tag == 144) {
10499          parse_device_id:
10500           set_has_device_id();
10501           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10502                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10503                  input, &device_id_)));
10504         } else {
10505           goto handle_unusual;
10506         }
10507         if (input->ExpectTag(152)) goto parse_test_compute_loss;
10508         break;
10509       }
10510
10511       // optional bool test_compute_loss = 19 [default = false];
10512       case 19: {
10513         if (tag == 152) {
10514          parse_test_compute_loss:
10515           set_has_test_compute_loss();
10516           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10517                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10518                  input, &test_compute_loss_)));
10519         } else {
10520           goto handle_unusual;
10521         }
10522         if (input->ExpectTag(160)) goto parse_random_seed;
10523         break;
10524       }
10525
10526       // optional int64 random_seed = 20 [default = -1];
10527       case 20: {
10528         if (tag == 160) {
10529          parse_random_seed:
10530           set_has_random_seed();
10531           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10532                    ::google::protobuf::int64, ::google::protobuf::internal::WireFormatLite::TYPE_INT64>(
10533                  input, &random_seed_)));
10534         } else {
10535           goto handle_unusual;
10536         }
10537         if (input->ExpectTag(170)) goto parse_train_net_param;
10538         break;
10539       }
10540
10541       // optional .opencv_caffe.NetParameter train_net_param = 21;
10542       case 21: {
10543         if (tag == 170) {
10544          parse_train_net_param:
10545           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
10546                input, mutable_train_net_param()));
10547         } else {
10548           goto handle_unusual;
10549         }
10550         if (input->ExpectTag(178)) goto parse_test_net_param;
10551         break;
10552       }
10553
10554       // repeated .opencv_caffe.NetParameter test_net_param = 22;
10555       case 22: {
10556         if (tag == 178) {
10557          parse_test_net_param:
10558           DO_(input->IncrementRecursionDepth());
10559          parse_loop_test_net_param:
10560           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
10561                 input, add_test_net_param()));
10562         } else {
10563           goto handle_unusual;
10564         }
10565         if (input->ExpectTag(178)) goto parse_loop_test_net_param;
10566         input->UnsafeDecrementRecursionDepth();
10567         if (input->ExpectTag(184)) goto parse_debug_info;
10568         break;
10569       }
10570
10571       // optional bool debug_info = 23 [default = false];
10572       case 23: {
10573         if (tag == 184) {
10574          parse_debug_info:
10575           set_has_debug_info();
10576           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10577                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10578                  input, &debug_info_)));
10579         } else {
10580           goto handle_unusual;
10581         }
10582         if (input->ExpectTag(194)) goto parse_net;
10583         break;
10584       }
10585
10586       // optional string net = 24;
10587       case 24: {
10588         if (tag == 194) {
10589          parse_net:
10590           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10591                 input, this->mutable_net()));
10592           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10593             this->net().data(), this->net().length(),
10594             ::google::protobuf::internal::WireFormat::PARSE,
10595             "opencv_caffe.SolverParameter.net");
10596         } else {
10597           goto handle_unusual;
10598         }
10599         if (input->ExpectTag(202)) goto parse_net_param;
10600         break;
10601       }
10602
10603       // optional .opencv_caffe.NetParameter net_param = 25;
10604       case 25: {
10605         if (tag == 202) {
10606          parse_net_param:
10607           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
10608                input, mutable_net_param()));
10609         } else {
10610           goto handle_unusual;
10611         }
10612         if (input->ExpectTag(210)) goto parse_train_state;
10613         break;
10614       }
10615
10616       // optional .opencv_caffe.NetState train_state = 26;
10617       case 26: {
10618         if (tag == 210) {
10619          parse_train_state:
10620           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
10621                input, mutable_train_state()));
10622         } else {
10623           goto handle_unusual;
10624         }
10625         if (input->ExpectTag(218)) goto parse_test_state;
10626         break;
10627       }
10628
10629       // repeated .opencv_caffe.NetState test_state = 27;
10630       case 27: {
10631         if (tag == 218) {
10632          parse_test_state:
10633           DO_(input->IncrementRecursionDepth());
10634          parse_loop_test_state:
10635           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
10636                 input, add_test_state()));
10637         } else {
10638           goto handle_unusual;
10639         }
10640         if (input->ExpectTag(218)) goto parse_loop_test_state;
10641         input->UnsafeDecrementRecursionDepth();
10642         if (input->ExpectTag(224)) goto parse_snapshot_after_train;
10643         break;
10644       }
10645
10646       // optional bool snapshot_after_train = 28 [default = true];
10647       case 28: {
10648         if (tag == 224) {
10649          parse_snapshot_after_train:
10650           set_has_snapshot_after_train();
10651           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10652                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10653                  input, &snapshot_after_train_)));
10654         } else {
10655           goto handle_unusual;
10656         }
10657         if (input->ExpectTag(234)) goto parse_regularization_type;
10658         break;
10659       }
10660
10661       // optional string regularization_type = 29 [default = "L2"];
10662       case 29: {
10663         if (tag == 234) {
10664          parse_regularization_type:
10665           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10666                 input, this->mutable_regularization_type()));
10667           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10668             this->regularization_type().data(), this->regularization_type().length(),
10669             ::google::protobuf::internal::WireFormat::PARSE,
10670             "opencv_caffe.SolverParameter.regularization_type");
10671         } else {
10672           goto handle_unusual;
10673         }
10674         if (input->ExpectTag(240)) goto parse_solver_type;
10675         break;
10676       }
10677
10678       // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
10679       case 30: {
10680         if (tag == 240) {
10681          parse_solver_type:
10682           int value;
10683           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10684                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
10685                  input, &value)));
10686           if (::opencv_caffe::SolverParameter_SolverType_IsValid(value)) {
10687             set_solver_type(static_cast< ::opencv_caffe::SolverParameter_SolverType >(value));
10688           } else {
10689             mutable_unknown_fields()->AddVarint(30, value);
10690           }
10691         } else {
10692           goto handle_unusual;
10693         }
10694         if (input->ExpectTag(253)) goto parse_delta;
10695         break;
10696       }
10697
10698       // optional float delta = 31 [default = 1e-08];
10699       case 31: {
10700         if (tag == 253) {
10701          parse_delta:
10702           set_has_delta();
10703           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10704                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10705                  input, &delta_)));
10706         } else {
10707           goto handle_unusual;
10708         }
10709         if (input->ExpectTag(256)) goto parse_test_initialization;
10710         break;
10711       }
10712
10713       // optional bool test_initialization = 32 [default = true];
10714       case 32: {
10715         if (tag == 256) {
10716          parse_test_initialization:
10717           set_has_test_initialization();
10718           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10719                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
10720                  input, &test_initialization_)));
10721         } else {
10722           goto handle_unusual;
10723         }
10724         if (input->ExpectTag(264)) goto parse_average_loss;
10725         break;
10726       }
10727
10728       // optional int32 average_loss = 33 [default = 1];
10729       case 33: {
10730         if (tag == 264) {
10731          parse_average_loss:
10732           set_has_average_loss();
10733           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10734                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10735                  input, &average_loss_)));
10736         } else {
10737           goto handle_unusual;
10738         }
10739         if (input->ExpectTag(272)) goto parse_stepvalue;
10740         break;
10741       }
10742
10743       // repeated int32 stepvalue = 34;
10744       case 34: {
10745         if (tag == 272) {
10746          parse_stepvalue:
10747           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
10748                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10749                  2, 272, input, this->mutable_stepvalue())));
10750         } else if (tag == 274) {
10751           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
10752                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10753                  input, this->mutable_stepvalue())));
10754         } else {
10755           goto handle_unusual;
10756         }
10757         if (input->ExpectTag(272)) goto parse_stepvalue;
10758         if (input->ExpectTag(285)) goto parse_clip_gradients;
10759         break;
10760       }
10761
10762       // optional float clip_gradients = 35 [default = -1];
10763       case 35: {
10764         if (tag == 285) {
10765          parse_clip_gradients:
10766           set_has_clip_gradients();
10767           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10768                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10769                  input, &clip_gradients_)));
10770         } else {
10771           goto handle_unusual;
10772         }
10773         if (input->ExpectTag(288)) goto parse_iter_size;
10774         break;
10775       }
10776
10777       // optional int32 iter_size = 36 [default = 1];
10778       case 36: {
10779         if (tag == 288) {
10780          parse_iter_size:
10781           set_has_iter_size();
10782           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10783                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
10784                  input, &iter_size_)));
10785         } else {
10786           goto handle_unusual;
10787         }
10788         if (input->ExpectTag(296)) goto parse_snapshot_format;
10789         break;
10790       }
10791
10792       // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
10793       case 37: {
10794         if (tag == 296) {
10795          parse_snapshot_format:
10796           int value;
10797           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10798                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
10799                  input, &value)));
10800           if (::opencv_caffe::SolverParameter_SnapshotFormat_IsValid(value)) {
10801             set_snapshot_format(static_cast< ::opencv_caffe::SolverParameter_SnapshotFormat >(value));
10802           } else {
10803             mutable_unknown_fields()->AddVarint(37, value);
10804           }
10805         } else {
10806           goto handle_unusual;
10807         }
10808         if (input->ExpectTag(309)) goto parse_rms_decay;
10809         break;
10810       }
10811
10812       // optional float rms_decay = 38 [default = 0.99];
10813       case 38: {
10814         if (tag == 309) {
10815          parse_rms_decay:
10816           set_has_rms_decay();
10817           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10818                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10819                  input, &rms_decay_)));
10820         } else {
10821           goto handle_unusual;
10822         }
10823         if (input->ExpectTag(317)) goto parse_momentum2;
10824         break;
10825       }
10826
10827       // optional float momentum2 = 39 [default = 0.999];
10828       case 39: {
10829         if (tag == 317) {
10830          parse_momentum2:
10831           set_has_momentum2();
10832           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
10833                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
10834                  input, &momentum2_)));
10835         } else {
10836           goto handle_unusual;
10837         }
10838         if (input->ExpectTag(322)) goto parse_type;
10839         break;
10840       }
10841
10842       // optional string type = 40 [default = "SGD"];
10843       case 40: {
10844         if (tag == 322) {
10845          parse_type:
10846           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
10847                 input, this->mutable_type()));
10848           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10849             this->type().data(), this->type().length(),
10850             ::google::protobuf::internal::WireFormat::PARSE,
10851             "opencv_caffe.SolverParameter.type");
10852         } else {
10853           goto handle_unusual;
10854         }
10855         if (input->ExpectAtEnd()) goto success;
10856         break;
10857       }
10858
10859       default: {
10860       handle_unusual:
10861         if (tag == 0 ||
10862             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
10863             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
10864           goto success;
10865         }
10866         DO_(::google::protobuf::internal::WireFormat::SkipField(
10867               input, tag, mutable_unknown_fields()));
10868         break;
10869       }
10870     }
10871   }
10872 success:
10873   // @@protoc_insertion_point(parse_success:opencv_caffe.SolverParameter)
10874   return true;
10875 failure:
10876   // @@protoc_insertion_point(parse_failure:opencv_caffe.SolverParameter)
10877   return false;
10878 #undef DO_
10879 }
10880
10881 void SolverParameter::SerializeWithCachedSizes(
10882     ::google::protobuf::io::CodedOutputStream* output) const {
10883   // @@protoc_insertion_point(serialize_start:opencv_caffe.SolverParameter)
10884   // optional string train_net = 1;
10885   if (has_train_net()) {
10886     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10887       this->train_net().data(), this->train_net().length(),
10888       ::google::protobuf::internal::WireFormat::SERIALIZE,
10889       "opencv_caffe.SolverParameter.train_net");
10890     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
10891       1, this->train_net(), output);
10892   }
10893
10894   // repeated string test_net = 2;
10895   for (int i = 0; i < this->test_net_size(); i++) {
10896     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10897       this->test_net(i).data(), this->test_net(i).length(),
10898       ::google::protobuf::internal::WireFormat::SERIALIZE,
10899       "opencv_caffe.SolverParameter.test_net");
10900     ::google::protobuf::internal::WireFormatLite::WriteString(
10901       2, this->test_net(i), output);
10902   }
10903
10904   // repeated int32 test_iter = 3;
10905   for (int i = 0; i < this->test_iter_size(); i++) {
10906     ::google::protobuf::internal::WireFormatLite::WriteInt32(
10907       3, this->test_iter(i), output);
10908   }
10909
10910   // optional int32 test_interval = 4 [default = 0];
10911   if (has_test_interval()) {
10912     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->test_interval(), output);
10913   }
10914
10915   // optional float base_lr = 5;
10916   if (has_base_lr()) {
10917     ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->base_lr(), output);
10918   }
10919
10920   // optional int32 display = 6;
10921   if (has_display()) {
10922     ::google::protobuf::internal::WireFormatLite::WriteInt32(6, this->display(), output);
10923   }
10924
10925   // optional int32 max_iter = 7;
10926   if (has_max_iter()) {
10927     ::google::protobuf::internal::WireFormatLite::WriteInt32(7, this->max_iter(), output);
10928   }
10929
10930   // optional string lr_policy = 8;
10931   if (has_lr_policy()) {
10932     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10933       this->lr_policy().data(), this->lr_policy().length(),
10934       ::google::protobuf::internal::WireFormat::SERIALIZE,
10935       "opencv_caffe.SolverParameter.lr_policy");
10936     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
10937       8, this->lr_policy(), output);
10938   }
10939
10940   // optional float gamma = 9;
10941   if (has_gamma()) {
10942     ::google::protobuf::internal::WireFormatLite::WriteFloat(9, this->gamma(), output);
10943   }
10944
10945   // optional float power = 10;
10946   if (has_power()) {
10947     ::google::protobuf::internal::WireFormatLite::WriteFloat(10, this->power(), output);
10948   }
10949
10950   // optional float momentum = 11;
10951   if (has_momentum()) {
10952     ::google::protobuf::internal::WireFormatLite::WriteFloat(11, this->momentum(), output);
10953   }
10954
10955   // optional float weight_decay = 12;
10956   if (has_weight_decay()) {
10957     ::google::protobuf::internal::WireFormatLite::WriteFloat(12, this->weight_decay(), output);
10958   }
10959
10960   // optional int32 stepsize = 13;
10961   if (has_stepsize()) {
10962     ::google::protobuf::internal::WireFormatLite::WriteInt32(13, this->stepsize(), output);
10963   }
10964
10965   // optional int32 snapshot = 14 [default = 0];
10966   if (has_snapshot()) {
10967     ::google::protobuf::internal::WireFormatLite::WriteInt32(14, this->snapshot(), output);
10968   }
10969
10970   // optional string snapshot_prefix = 15;
10971   if (has_snapshot_prefix()) {
10972     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
10973       this->snapshot_prefix().data(), this->snapshot_prefix().length(),
10974       ::google::protobuf::internal::WireFormat::SERIALIZE,
10975       "opencv_caffe.SolverParameter.snapshot_prefix");
10976     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
10977       15, this->snapshot_prefix(), output);
10978   }
10979
10980   // optional bool snapshot_diff = 16 [default = false];
10981   if (has_snapshot_diff()) {
10982     ::google::protobuf::internal::WireFormatLite::WriteBool(16, this->snapshot_diff(), output);
10983   }
10984
10985   // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
10986   if (has_solver_mode()) {
10987     ::google::protobuf::internal::WireFormatLite::WriteEnum(
10988       17, this->solver_mode(), output);
10989   }
10990
10991   // optional int32 device_id = 18 [default = 0];
10992   if (has_device_id()) {
10993     ::google::protobuf::internal::WireFormatLite::WriteInt32(18, this->device_id(), output);
10994   }
10995
10996   // optional bool test_compute_loss = 19 [default = false];
10997   if (has_test_compute_loss()) {
10998     ::google::protobuf::internal::WireFormatLite::WriteBool(19, this->test_compute_loss(), output);
10999   }
11000
11001   // optional int64 random_seed = 20 [default = -1];
11002   if (has_random_seed()) {
11003     ::google::protobuf::internal::WireFormatLite::WriteInt64(20, this->random_seed(), output);
11004   }
11005
11006   // optional .opencv_caffe.NetParameter train_net_param = 21;
11007   if (has_train_net_param()) {
11008     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11009       21, *this->train_net_param_, output);
11010   }
11011
11012   // repeated .opencv_caffe.NetParameter test_net_param = 22;
11013   for (unsigned int i = 0, n = this->test_net_param_size(); i < n; i++) {
11014     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11015       22, this->test_net_param(i), output);
11016   }
11017
11018   // optional bool debug_info = 23 [default = false];
11019   if (has_debug_info()) {
11020     ::google::protobuf::internal::WireFormatLite::WriteBool(23, this->debug_info(), output);
11021   }
11022
11023   // optional string net = 24;
11024   if (has_net()) {
11025     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11026       this->net().data(), this->net().length(),
11027       ::google::protobuf::internal::WireFormat::SERIALIZE,
11028       "opencv_caffe.SolverParameter.net");
11029     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
11030       24, this->net(), output);
11031   }
11032
11033   // optional .opencv_caffe.NetParameter net_param = 25;
11034   if (has_net_param()) {
11035     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11036       25, *this->net_param_, output);
11037   }
11038
11039   // optional .opencv_caffe.NetState train_state = 26;
11040   if (has_train_state()) {
11041     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11042       26, *this->train_state_, output);
11043   }
11044
11045   // repeated .opencv_caffe.NetState test_state = 27;
11046   for (unsigned int i = 0, n = this->test_state_size(); i < n; i++) {
11047     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
11048       27, this->test_state(i), output);
11049   }
11050
11051   // optional bool snapshot_after_train = 28 [default = true];
11052   if (has_snapshot_after_train()) {
11053     ::google::protobuf::internal::WireFormatLite::WriteBool(28, this->snapshot_after_train(), output);
11054   }
11055
11056   // optional string regularization_type = 29 [default = "L2"];
11057   if (has_regularization_type()) {
11058     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11059       this->regularization_type().data(), this->regularization_type().length(),
11060       ::google::protobuf::internal::WireFormat::SERIALIZE,
11061       "opencv_caffe.SolverParameter.regularization_type");
11062     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
11063       29, this->regularization_type(), output);
11064   }
11065
11066   // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
11067   if (has_solver_type()) {
11068     ::google::protobuf::internal::WireFormatLite::WriteEnum(
11069       30, this->solver_type(), output);
11070   }
11071
11072   // optional float delta = 31 [default = 1e-08];
11073   if (has_delta()) {
11074     ::google::protobuf::internal::WireFormatLite::WriteFloat(31, this->delta(), output);
11075   }
11076
11077   // optional bool test_initialization = 32 [default = true];
11078   if (has_test_initialization()) {
11079     ::google::protobuf::internal::WireFormatLite::WriteBool(32, this->test_initialization(), output);
11080   }
11081
11082   // optional int32 average_loss = 33 [default = 1];
11083   if (has_average_loss()) {
11084     ::google::protobuf::internal::WireFormatLite::WriteInt32(33, this->average_loss(), output);
11085   }
11086
11087   // repeated int32 stepvalue = 34;
11088   for (int i = 0; i < this->stepvalue_size(); i++) {
11089     ::google::protobuf::internal::WireFormatLite::WriteInt32(
11090       34, this->stepvalue(i), output);
11091   }
11092
11093   // optional float clip_gradients = 35 [default = -1];
11094   if (has_clip_gradients()) {
11095     ::google::protobuf::internal::WireFormatLite::WriteFloat(35, this->clip_gradients(), output);
11096   }
11097
11098   // optional int32 iter_size = 36 [default = 1];
11099   if (has_iter_size()) {
11100     ::google::protobuf::internal::WireFormatLite::WriteInt32(36, this->iter_size(), output);
11101   }
11102
11103   // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
11104   if (has_snapshot_format()) {
11105     ::google::protobuf::internal::WireFormatLite::WriteEnum(
11106       37, this->snapshot_format(), output);
11107   }
11108
11109   // optional float rms_decay = 38 [default = 0.99];
11110   if (has_rms_decay()) {
11111     ::google::protobuf::internal::WireFormatLite::WriteFloat(38, this->rms_decay(), output);
11112   }
11113
11114   // optional float momentum2 = 39 [default = 0.999];
11115   if (has_momentum2()) {
11116     ::google::protobuf::internal::WireFormatLite::WriteFloat(39, this->momentum2(), output);
11117   }
11118
11119   // optional string type = 40 [default = "SGD"];
11120   if (has_type()) {
11121     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11122       this->type().data(), this->type().length(),
11123       ::google::protobuf::internal::WireFormat::SERIALIZE,
11124       "opencv_caffe.SolverParameter.type");
11125     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
11126       40, this->type(), output);
11127   }
11128
11129   if (_internal_metadata_.have_unknown_fields()) {
11130     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
11131         unknown_fields(), output);
11132   }
11133   // @@protoc_insertion_point(serialize_end:opencv_caffe.SolverParameter)
11134 }
11135
11136 ::google::protobuf::uint8* SolverParameter::InternalSerializeWithCachedSizesToArray(
11137     bool deterministic, ::google::protobuf::uint8* target) const {
11138   (void)deterministic; // Unused
11139   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SolverParameter)
11140   // optional string train_net = 1;
11141   if (has_train_net()) {
11142     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11143       this->train_net().data(), this->train_net().length(),
11144       ::google::protobuf::internal::WireFormat::SERIALIZE,
11145       "opencv_caffe.SolverParameter.train_net");
11146     target =
11147       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11148         1, this->train_net(), target);
11149   }
11150
11151   // repeated string test_net = 2;
11152   for (int i = 0; i < this->test_net_size(); i++) {
11153     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11154       this->test_net(i).data(), this->test_net(i).length(),
11155       ::google::protobuf::internal::WireFormat::SERIALIZE,
11156       "opencv_caffe.SolverParameter.test_net");
11157     target = ::google::protobuf::internal::WireFormatLite::
11158       WriteStringToArray(2, this->test_net(i), target);
11159   }
11160
11161   // repeated int32 test_iter = 3;
11162   for (int i = 0; i < this->test_iter_size(); i++) {
11163     target = ::google::protobuf::internal::WireFormatLite::
11164       WriteInt32ToArray(3, this->test_iter(i), target);
11165   }
11166
11167   // optional int32 test_interval = 4 [default = 0];
11168   if (has_test_interval()) {
11169     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->test_interval(), target);
11170   }
11171
11172   // optional float base_lr = 5;
11173   if (has_base_lr()) {
11174     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->base_lr(), target);
11175   }
11176
11177   // optional int32 display = 6;
11178   if (has_display()) {
11179     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(6, this->display(), target);
11180   }
11181
11182   // optional int32 max_iter = 7;
11183   if (has_max_iter()) {
11184     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(7, this->max_iter(), target);
11185   }
11186
11187   // optional string lr_policy = 8;
11188   if (has_lr_policy()) {
11189     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11190       this->lr_policy().data(), this->lr_policy().length(),
11191       ::google::protobuf::internal::WireFormat::SERIALIZE,
11192       "opencv_caffe.SolverParameter.lr_policy");
11193     target =
11194       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11195         8, this->lr_policy(), target);
11196   }
11197
11198   // optional float gamma = 9;
11199   if (has_gamma()) {
11200     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(9, this->gamma(), target);
11201   }
11202
11203   // optional float power = 10;
11204   if (has_power()) {
11205     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(10, this->power(), target);
11206   }
11207
11208   // optional float momentum = 11;
11209   if (has_momentum()) {
11210     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(11, this->momentum(), target);
11211   }
11212
11213   // optional float weight_decay = 12;
11214   if (has_weight_decay()) {
11215     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(12, this->weight_decay(), target);
11216   }
11217
11218   // optional int32 stepsize = 13;
11219   if (has_stepsize()) {
11220     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(13, this->stepsize(), target);
11221   }
11222
11223   // optional int32 snapshot = 14 [default = 0];
11224   if (has_snapshot()) {
11225     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(14, this->snapshot(), target);
11226   }
11227
11228   // optional string snapshot_prefix = 15;
11229   if (has_snapshot_prefix()) {
11230     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11231       this->snapshot_prefix().data(), this->snapshot_prefix().length(),
11232       ::google::protobuf::internal::WireFormat::SERIALIZE,
11233       "opencv_caffe.SolverParameter.snapshot_prefix");
11234     target =
11235       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11236         15, this->snapshot_prefix(), target);
11237   }
11238
11239   // optional bool snapshot_diff = 16 [default = false];
11240   if (has_snapshot_diff()) {
11241     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(16, this->snapshot_diff(), target);
11242   }
11243
11244   // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
11245   if (has_solver_mode()) {
11246     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
11247       17, this->solver_mode(), target);
11248   }
11249
11250   // optional int32 device_id = 18 [default = 0];
11251   if (has_device_id()) {
11252     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(18, this->device_id(), target);
11253   }
11254
11255   // optional bool test_compute_loss = 19 [default = false];
11256   if (has_test_compute_loss()) {
11257     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(19, this->test_compute_loss(), target);
11258   }
11259
11260   // optional int64 random_seed = 20 [default = -1];
11261   if (has_random_seed()) {
11262     target = ::google::protobuf::internal::WireFormatLite::WriteInt64ToArray(20, this->random_seed(), target);
11263   }
11264
11265   // optional .opencv_caffe.NetParameter train_net_param = 21;
11266   if (has_train_net_param()) {
11267     target = ::google::protobuf::internal::WireFormatLite::
11268       InternalWriteMessageNoVirtualToArray(
11269         21, *this->train_net_param_, false, target);
11270   }
11271
11272   // repeated .opencv_caffe.NetParameter test_net_param = 22;
11273   for (unsigned int i = 0, n = this->test_net_param_size(); i < n; i++) {
11274     target = ::google::protobuf::internal::WireFormatLite::
11275       InternalWriteMessageNoVirtualToArray(
11276         22, this->test_net_param(i), false, target);
11277   }
11278
11279   // optional bool debug_info = 23 [default = false];
11280   if (has_debug_info()) {
11281     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(23, this->debug_info(), target);
11282   }
11283
11284   // optional string net = 24;
11285   if (has_net()) {
11286     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11287       this->net().data(), this->net().length(),
11288       ::google::protobuf::internal::WireFormat::SERIALIZE,
11289       "opencv_caffe.SolverParameter.net");
11290     target =
11291       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11292         24, this->net(), target);
11293   }
11294
11295   // optional .opencv_caffe.NetParameter net_param = 25;
11296   if (has_net_param()) {
11297     target = ::google::protobuf::internal::WireFormatLite::
11298       InternalWriteMessageNoVirtualToArray(
11299         25, *this->net_param_, false, target);
11300   }
11301
11302   // optional .opencv_caffe.NetState train_state = 26;
11303   if (has_train_state()) {
11304     target = ::google::protobuf::internal::WireFormatLite::
11305       InternalWriteMessageNoVirtualToArray(
11306         26, *this->train_state_, false, target);
11307   }
11308
11309   // repeated .opencv_caffe.NetState test_state = 27;
11310   for (unsigned int i = 0, n = this->test_state_size(); i < n; i++) {
11311     target = ::google::protobuf::internal::WireFormatLite::
11312       InternalWriteMessageNoVirtualToArray(
11313         27, this->test_state(i), false, target);
11314   }
11315
11316   // optional bool snapshot_after_train = 28 [default = true];
11317   if (has_snapshot_after_train()) {
11318     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(28, this->snapshot_after_train(), target);
11319   }
11320
11321   // optional string regularization_type = 29 [default = "L2"];
11322   if (has_regularization_type()) {
11323     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11324       this->regularization_type().data(), this->regularization_type().length(),
11325       ::google::protobuf::internal::WireFormat::SERIALIZE,
11326       "opencv_caffe.SolverParameter.regularization_type");
11327     target =
11328       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11329         29, this->regularization_type(), target);
11330   }
11331
11332   // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
11333   if (has_solver_type()) {
11334     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
11335       30, this->solver_type(), target);
11336   }
11337
11338   // optional float delta = 31 [default = 1e-08];
11339   if (has_delta()) {
11340     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(31, this->delta(), target);
11341   }
11342
11343   // optional bool test_initialization = 32 [default = true];
11344   if (has_test_initialization()) {
11345     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(32, this->test_initialization(), target);
11346   }
11347
11348   // optional int32 average_loss = 33 [default = 1];
11349   if (has_average_loss()) {
11350     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(33, this->average_loss(), target);
11351   }
11352
11353   // repeated int32 stepvalue = 34;
11354   for (int i = 0; i < this->stepvalue_size(); i++) {
11355     target = ::google::protobuf::internal::WireFormatLite::
11356       WriteInt32ToArray(34, this->stepvalue(i), target);
11357   }
11358
11359   // optional float clip_gradients = 35 [default = -1];
11360   if (has_clip_gradients()) {
11361     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(35, this->clip_gradients(), target);
11362   }
11363
11364   // optional int32 iter_size = 36 [default = 1];
11365   if (has_iter_size()) {
11366     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(36, this->iter_size(), target);
11367   }
11368
11369   // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
11370   if (has_snapshot_format()) {
11371     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
11372       37, this->snapshot_format(), target);
11373   }
11374
11375   // optional float rms_decay = 38 [default = 0.99];
11376   if (has_rms_decay()) {
11377     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(38, this->rms_decay(), target);
11378   }
11379
11380   // optional float momentum2 = 39 [default = 0.999];
11381   if (has_momentum2()) {
11382     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(39, this->momentum2(), target);
11383   }
11384
11385   // optional string type = 40 [default = "SGD"];
11386   if (has_type()) {
11387     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
11388       this->type().data(), this->type().length(),
11389       ::google::protobuf::internal::WireFormat::SERIALIZE,
11390       "opencv_caffe.SolverParameter.type");
11391     target =
11392       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
11393         40, this->type(), target);
11394   }
11395
11396   if (_internal_metadata_.have_unknown_fields()) {
11397     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
11398         unknown_fields(), target);
11399   }
11400   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SolverParameter)
11401   return target;
11402 }
11403
11404 size_t SolverParameter::ByteSizeLong() const {
11405 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SolverParameter)
11406   size_t total_size = 0;
11407
11408   if (_has_bits_[0 / 32] & 87u) {
11409     // optional string net = 24;
11410     if (has_net()) {
11411       total_size += 2 +
11412         ::google::protobuf::internal::WireFormatLite::StringSize(
11413           this->net());
11414     }
11415
11416     // optional .opencv_caffe.NetParameter net_param = 25;
11417     if (has_net_param()) {
11418       total_size += 2 +
11419         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11420           *this->net_param_);
11421     }
11422
11423     // optional string train_net = 1;
11424     if (has_train_net()) {
11425       total_size += 1 +
11426         ::google::protobuf::internal::WireFormatLite::StringSize(
11427           this->train_net());
11428     }
11429
11430     // optional .opencv_caffe.NetParameter train_net_param = 21;
11431     if (has_train_net_param()) {
11432       total_size += 2 +
11433         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11434           *this->train_net_param_);
11435     }
11436
11437     // optional .opencv_caffe.NetState train_state = 26;
11438     if (has_train_state()) {
11439       total_size += 2 +
11440         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11441           *this->train_state_);
11442     }
11443
11444   }
11445   if (_has_bits_[9 / 32] & 65024u) {
11446     // optional int32 test_interval = 4 [default = 0];
11447     if (has_test_interval()) {
11448       total_size += 1 +
11449         ::google::protobuf::internal::WireFormatLite::Int32Size(
11450           this->test_interval());
11451     }
11452
11453     // optional bool test_compute_loss = 19 [default = false];
11454     if (has_test_compute_loss()) {
11455       total_size += 2 + 1;
11456     }
11457
11458     // optional bool test_initialization = 32 [default = true];
11459     if (has_test_initialization()) {
11460       total_size += 2 + 1;
11461     }
11462
11463     // optional float base_lr = 5;
11464     if (has_base_lr()) {
11465       total_size += 1 + 4;
11466     }
11467
11468     // optional int32 display = 6;
11469     if (has_display()) {
11470       total_size += 1 +
11471         ::google::protobuf::internal::WireFormatLite::Int32Size(
11472           this->display());
11473     }
11474
11475     // optional int32 average_loss = 33 [default = 1];
11476     if (has_average_loss()) {
11477       total_size += 2 +
11478         ::google::protobuf::internal::WireFormatLite::Int32Size(
11479           this->average_loss());
11480     }
11481
11482     // optional int32 max_iter = 7;
11483     if (has_max_iter()) {
11484       total_size += 1 +
11485         ::google::protobuf::internal::WireFormatLite::Int32Size(
11486           this->max_iter());
11487     }
11488
11489   }
11490   if (_has_bits_[16 / 32] & 16711680u) {
11491     // optional int32 iter_size = 36 [default = 1];
11492     if (has_iter_size()) {
11493       total_size += 2 +
11494         ::google::protobuf::internal::WireFormatLite::Int32Size(
11495           this->iter_size());
11496     }
11497
11498     // optional string lr_policy = 8;
11499     if (has_lr_policy()) {
11500       total_size += 1 +
11501         ::google::protobuf::internal::WireFormatLite::StringSize(
11502           this->lr_policy());
11503     }
11504
11505     // optional float gamma = 9;
11506     if (has_gamma()) {
11507       total_size += 1 + 4;
11508     }
11509
11510     // optional float power = 10;
11511     if (has_power()) {
11512       total_size += 1 + 4;
11513     }
11514
11515     // optional float momentum = 11;
11516     if (has_momentum()) {
11517       total_size += 1 + 4;
11518     }
11519
11520     // optional float weight_decay = 12;
11521     if (has_weight_decay()) {
11522       total_size += 1 + 4;
11523     }
11524
11525     // optional string regularization_type = 29 [default = "L2"];
11526     if (has_regularization_type()) {
11527       total_size += 2 +
11528         ::google::protobuf::internal::WireFormatLite::StringSize(
11529           this->regularization_type());
11530     }
11531
11532     // optional int32 stepsize = 13;
11533     if (has_stepsize()) {
11534       total_size += 1 +
11535         ::google::protobuf::internal::WireFormatLite::Int32Size(
11536           this->stepsize());
11537     }
11538
11539   }
11540   if (_has_bits_[25 / 32] & 4261412864u) {
11541     // optional float clip_gradients = 35 [default = -1];
11542     if (has_clip_gradients()) {
11543       total_size += 2 + 4;
11544     }
11545
11546     // optional int32 snapshot = 14 [default = 0];
11547     if (has_snapshot()) {
11548       total_size += 1 +
11549         ::google::protobuf::internal::WireFormatLite::Int32Size(
11550           this->snapshot());
11551     }
11552
11553     // optional string snapshot_prefix = 15;
11554     if (has_snapshot_prefix()) {
11555       total_size += 1 +
11556         ::google::protobuf::internal::WireFormatLite::StringSize(
11557           this->snapshot_prefix());
11558     }
11559
11560     // optional bool snapshot_diff = 16 [default = false];
11561     if (has_snapshot_diff()) {
11562       total_size += 2 + 1;
11563     }
11564
11565     // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
11566     if (has_snapshot_format()) {
11567       total_size += 2 +
11568         ::google::protobuf::internal::WireFormatLite::EnumSize(this->snapshot_format());
11569     }
11570
11571     // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
11572     if (has_solver_mode()) {
11573       total_size += 2 +
11574         ::google::protobuf::internal::WireFormatLite::EnumSize(this->solver_mode());
11575     }
11576
11577     // optional int32 device_id = 18 [default = 0];
11578     if (has_device_id()) {
11579       total_size += 2 +
11580         ::google::protobuf::internal::WireFormatLite::Int32Size(
11581           this->device_id());
11582     }
11583
11584   }
11585   if (_has_bits_[32 / 32] & 255u) {
11586     // optional int64 random_seed = 20 [default = -1];
11587     if (has_random_seed()) {
11588       total_size += 2 +
11589         ::google::protobuf::internal::WireFormatLite::Int64Size(
11590           this->random_seed());
11591     }
11592
11593     // optional string type = 40 [default = "SGD"];
11594     if (has_type()) {
11595       total_size += 2 +
11596         ::google::protobuf::internal::WireFormatLite::StringSize(
11597           this->type());
11598     }
11599
11600     // optional float delta = 31 [default = 1e-08];
11601     if (has_delta()) {
11602       total_size += 2 + 4;
11603     }
11604
11605     // optional float momentum2 = 39 [default = 0.999];
11606     if (has_momentum2()) {
11607       total_size += 2 + 4;
11608     }
11609
11610     // optional float rms_decay = 38 [default = 0.99];
11611     if (has_rms_decay()) {
11612       total_size += 2 + 4;
11613     }
11614
11615     // optional bool debug_info = 23 [default = false];
11616     if (has_debug_info()) {
11617       total_size += 2 + 1;
11618     }
11619
11620     // optional bool snapshot_after_train = 28 [default = true];
11621     if (has_snapshot_after_train()) {
11622       total_size += 2 + 1;
11623     }
11624
11625     // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
11626     if (has_solver_type()) {
11627       total_size += 2 +
11628         ::google::protobuf::internal::WireFormatLite::EnumSize(this->solver_type());
11629     }
11630
11631   }
11632   // repeated string test_net = 2;
11633   total_size += 1 *
11634       ::google::protobuf::internal::FromIntSize(this->test_net_size());
11635   for (int i = 0; i < this->test_net_size(); i++) {
11636     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
11637       this->test_net(i));
11638   }
11639
11640   // repeated .opencv_caffe.NetParameter test_net_param = 22;
11641   {
11642     unsigned int count = this->test_net_param_size();
11643     total_size += 2UL * count;
11644     for (unsigned int i = 0; i < count; i++) {
11645       total_size +=
11646         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11647           this->test_net_param(i));
11648     }
11649   }
11650
11651   // repeated .opencv_caffe.NetState test_state = 27;
11652   {
11653     unsigned int count = this->test_state_size();
11654     total_size += 2UL * count;
11655     for (unsigned int i = 0; i < count; i++) {
11656       total_size +=
11657         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
11658           this->test_state(i));
11659     }
11660   }
11661
11662   // repeated int32 test_iter = 3;
11663   {
11664     size_t data_size = 0;
11665     unsigned int count = this->test_iter_size();
11666     for (unsigned int i = 0; i < count; i++) {
11667       data_size += ::google::protobuf::internal::WireFormatLite::
11668         Int32Size(this->test_iter(i));
11669     }
11670     total_size += 1 *
11671                   ::google::protobuf::internal::FromIntSize(this->test_iter_size());
11672     total_size += data_size;
11673   }
11674
11675   // repeated int32 stepvalue = 34;
11676   {
11677     size_t data_size = 0;
11678     unsigned int count = this->stepvalue_size();
11679     for (unsigned int i = 0; i < count; i++) {
11680       data_size += ::google::protobuf::internal::WireFormatLite::
11681         Int32Size(this->stepvalue(i));
11682     }
11683     total_size += 2 *
11684                   ::google::protobuf::internal::FromIntSize(this->stepvalue_size());
11685     total_size += data_size;
11686   }
11687
11688   if (_internal_metadata_.have_unknown_fields()) {
11689     total_size +=
11690       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
11691         unknown_fields());
11692   }
11693   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
11694   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
11695   _cached_size_ = cached_size;
11696   GOOGLE_SAFE_CONCURRENT_WRITES_END();
11697   return total_size;
11698 }
11699
11700 void SolverParameter::MergeFrom(const ::google::protobuf::Message& from) {
11701 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SolverParameter)
11702   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
11703   const SolverParameter* source =
11704       ::google::protobuf::internal::DynamicCastToGenerated<const SolverParameter>(
11705           &from);
11706   if (source == NULL) {
11707   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SolverParameter)
11708     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
11709   } else {
11710   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SolverParameter)
11711     UnsafeMergeFrom(*source);
11712   }
11713 }
11714
11715 void SolverParameter::MergeFrom(const SolverParameter& from) {
11716 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SolverParameter)
11717   if (GOOGLE_PREDICT_TRUE(&from != this)) {
11718     UnsafeMergeFrom(from);
11719   } else {
11720     MergeFromFail(__LINE__);
11721   }
11722 }
11723
11724 void SolverParameter::UnsafeMergeFrom(const SolverParameter& from) {
11725   GOOGLE_DCHECK(&from != this);
11726   test_net_.UnsafeMergeFrom(from.test_net_);
11727   test_net_param_.MergeFrom(from.test_net_param_);
11728   test_state_.MergeFrom(from.test_state_);
11729   test_iter_.UnsafeMergeFrom(from.test_iter_);
11730   stepvalue_.UnsafeMergeFrom(from.stepvalue_);
11731   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
11732     if (from.has_net()) {
11733       set_has_net();
11734       net_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.net_);
11735     }
11736     if (from.has_net_param()) {
11737       mutable_net_param()->::opencv_caffe::NetParameter::MergeFrom(from.net_param());
11738     }
11739     if (from.has_train_net()) {
11740       set_has_train_net();
11741       train_net_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.train_net_);
11742     }
11743     if (from.has_train_net_param()) {
11744       mutable_train_net_param()->::opencv_caffe::NetParameter::MergeFrom(from.train_net_param());
11745     }
11746     if (from.has_train_state()) {
11747       mutable_train_state()->::opencv_caffe::NetState::MergeFrom(from.train_state());
11748     }
11749   }
11750   if (from._has_bits_[9 / 32] & (0xffu << (9 % 32))) {
11751     if (from.has_test_interval()) {
11752       set_test_interval(from.test_interval());
11753     }
11754     if (from.has_test_compute_loss()) {
11755       set_test_compute_loss(from.test_compute_loss());
11756     }
11757     if (from.has_test_initialization()) {
11758       set_test_initialization(from.test_initialization());
11759     }
11760     if (from.has_base_lr()) {
11761       set_base_lr(from.base_lr());
11762     }
11763     if (from.has_display()) {
11764       set_display(from.display());
11765     }
11766     if (from.has_average_loss()) {
11767       set_average_loss(from.average_loss());
11768     }
11769     if (from.has_max_iter()) {
11770       set_max_iter(from.max_iter());
11771     }
11772   }
11773   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
11774     if (from.has_iter_size()) {
11775       set_iter_size(from.iter_size());
11776     }
11777     if (from.has_lr_policy()) {
11778       set_has_lr_policy();
11779       lr_policy_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.lr_policy_);
11780     }
11781     if (from.has_gamma()) {
11782       set_gamma(from.gamma());
11783     }
11784     if (from.has_power()) {
11785       set_power(from.power());
11786     }
11787     if (from.has_momentum()) {
11788       set_momentum(from.momentum());
11789     }
11790     if (from.has_weight_decay()) {
11791       set_weight_decay(from.weight_decay());
11792     }
11793     if (from.has_regularization_type()) {
11794       set_has_regularization_type();
11795       regularization_type_.AssignWithDefault(_default_regularization_type_, from.regularization_type_);
11796     }
11797     if (from.has_stepsize()) {
11798       set_stepsize(from.stepsize());
11799     }
11800   }
11801   if (from._has_bits_[25 / 32] & (0xffu << (25 % 32))) {
11802     if (from.has_clip_gradients()) {
11803       set_clip_gradients(from.clip_gradients());
11804     }
11805     if (from.has_snapshot()) {
11806       set_snapshot(from.snapshot());
11807     }
11808     if (from.has_snapshot_prefix()) {
11809       set_has_snapshot_prefix();
11810       snapshot_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.snapshot_prefix_);
11811     }
11812     if (from.has_snapshot_diff()) {
11813       set_snapshot_diff(from.snapshot_diff());
11814     }
11815     if (from.has_snapshot_format()) {
11816       set_snapshot_format(from.snapshot_format());
11817     }
11818     if (from.has_solver_mode()) {
11819       set_solver_mode(from.solver_mode());
11820     }
11821     if (from.has_device_id()) {
11822       set_device_id(from.device_id());
11823     }
11824   }
11825   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
11826     if (from.has_random_seed()) {
11827       set_random_seed(from.random_seed());
11828     }
11829     if (from.has_type()) {
11830       set_has_type();
11831       type_.AssignWithDefault(_default_type_, from.type_);
11832     }
11833     if (from.has_delta()) {
11834       set_delta(from.delta());
11835     }
11836     if (from.has_momentum2()) {
11837       set_momentum2(from.momentum2());
11838     }
11839     if (from.has_rms_decay()) {
11840       set_rms_decay(from.rms_decay());
11841     }
11842     if (from.has_debug_info()) {
11843       set_debug_info(from.debug_info());
11844     }
11845     if (from.has_snapshot_after_train()) {
11846       set_snapshot_after_train(from.snapshot_after_train());
11847     }
11848     if (from.has_solver_type()) {
11849       set_solver_type(from.solver_type());
11850     }
11851   }
11852   if (from._internal_metadata_.have_unknown_fields()) {
11853     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
11854       from.unknown_fields(), &_internal_metadata_);
11855   }
11856 }
11857
11858 void SolverParameter::CopyFrom(const ::google::protobuf::Message& from) {
11859 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SolverParameter)
11860   if (&from == this) return;
11861   Clear();
11862   MergeFrom(from);
11863 }
11864
11865 void SolverParameter::CopyFrom(const SolverParameter& from) {
11866 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SolverParameter)
11867   if (&from == this) return;
11868   Clear();
11869   UnsafeMergeFrom(from);
11870 }
11871
11872 bool SolverParameter::IsInitialized() const {
11873
11874   return true;
11875 }
11876
11877 void SolverParameter::Swap(SolverParameter* other) {
11878   if (other == this) return;
11879   InternalSwap(other);
11880 }
11881 void SolverParameter::InternalSwap(SolverParameter* other) {
11882   net_.Swap(&other->net_);
11883   std::swap(net_param_, other->net_param_);
11884   train_net_.Swap(&other->train_net_);
11885   test_net_.UnsafeArenaSwap(&other->test_net_);
11886   std::swap(train_net_param_, other->train_net_param_);
11887   test_net_param_.UnsafeArenaSwap(&other->test_net_param_);
11888   std::swap(train_state_, other->train_state_);
11889   test_state_.UnsafeArenaSwap(&other->test_state_);
11890   test_iter_.UnsafeArenaSwap(&other->test_iter_);
11891   std::swap(test_interval_, other->test_interval_);
11892   std::swap(test_compute_loss_, other->test_compute_loss_);
11893   std::swap(test_initialization_, other->test_initialization_);
11894   std::swap(base_lr_, other->base_lr_);
11895   std::swap(display_, other->display_);
11896   std::swap(average_loss_, other->average_loss_);
11897   std::swap(max_iter_, other->max_iter_);
11898   std::swap(iter_size_, other->iter_size_);
11899   lr_policy_.Swap(&other->lr_policy_);
11900   std::swap(gamma_, other->gamma_);
11901   std::swap(power_, other->power_);
11902   std::swap(momentum_, other->momentum_);
11903   std::swap(weight_decay_, other->weight_decay_);
11904   regularization_type_.Swap(&other->regularization_type_);
11905   std::swap(stepsize_, other->stepsize_);
11906   stepvalue_.UnsafeArenaSwap(&other->stepvalue_);
11907   std::swap(clip_gradients_, other->clip_gradients_);
11908   std::swap(snapshot_, other->snapshot_);
11909   snapshot_prefix_.Swap(&other->snapshot_prefix_);
11910   std::swap(snapshot_diff_, other->snapshot_diff_);
11911   std::swap(snapshot_format_, other->snapshot_format_);
11912   std::swap(solver_mode_, other->solver_mode_);
11913   std::swap(device_id_, other->device_id_);
11914   std::swap(random_seed_, other->random_seed_);
11915   type_.Swap(&other->type_);
11916   std::swap(delta_, other->delta_);
11917   std::swap(momentum2_, other->momentum2_);
11918   std::swap(rms_decay_, other->rms_decay_);
11919   std::swap(debug_info_, other->debug_info_);
11920   std::swap(snapshot_after_train_, other->snapshot_after_train_);
11921   std::swap(solver_type_, other->solver_type_);
11922   std::swap(_has_bits_[0], other->_has_bits_[0]);
11923   std::swap(_has_bits_[1], other->_has_bits_[1]);
11924   _internal_metadata_.Swap(&other->_internal_metadata_);
11925   std::swap(_cached_size_, other->_cached_size_);
11926 }
11927
11928 ::google::protobuf::Metadata SolverParameter::GetMetadata() const {
11929   protobuf_AssignDescriptorsOnce();
11930   ::google::protobuf::Metadata metadata;
11931   metadata.descriptor = SolverParameter_descriptor_;
11932   metadata.reflection = SolverParameter_reflection_;
11933   return metadata;
11934 }
11935
11936 #if PROTOBUF_INLINE_NOT_IN_HEADERS
11937 // SolverParameter
11938
11939 // optional string net = 24;
11940 bool SolverParameter::has_net() const {
11941   return (_has_bits_[0] & 0x00000001u) != 0;
11942 }
11943 void SolverParameter::set_has_net() {
11944   _has_bits_[0] |= 0x00000001u;
11945 }
11946 void SolverParameter::clear_has_net() {
11947   _has_bits_[0] &= ~0x00000001u;
11948 }
11949 void SolverParameter::clear_net() {
11950   net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
11951   clear_has_net();
11952 }
11953 const ::std::string& SolverParameter::net() const {
11954   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net)
11955   return net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
11956 }
11957 void SolverParameter::set_net(const ::std::string& value) {
11958   set_has_net();
11959   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
11960   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.net)
11961 }
11962 void SolverParameter::set_net(const char* value) {
11963   set_has_net();
11964   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
11965   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.net)
11966 }
11967 void SolverParameter::set_net(const char* value, size_t size) {
11968   set_has_net();
11969   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
11970       ::std::string(reinterpret_cast<const char*>(value), size));
11971   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.net)
11972 }
11973 ::std::string* SolverParameter::mutable_net() {
11974   set_has_net();
11975   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net)
11976   return net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
11977 }
11978 ::std::string* SolverParameter::release_net() {
11979   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net)
11980   clear_has_net();
11981   return net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
11982 }
11983 void SolverParameter::set_allocated_net(::std::string* net) {
11984   if (net != NULL) {
11985     set_has_net();
11986   } else {
11987     clear_has_net();
11988   }
11989   net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), net);
11990   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net)
11991 }
11992
11993 // optional .opencv_caffe.NetParameter net_param = 25;
11994 bool SolverParameter::has_net_param() const {
11995   return (_has_bits_[0] & 0x00000002u) != 0;
11996 }
11997 void SolverParameter::set_has_net_param() {
11998   _has_bits_[0] |= 0x00000002u;
11999 }
12000 void SolverParameter::clear_has_net_param() {
12001   _has_bits_[0] &= ~0x00000002u;
12002 }
12003 void SolverParameter::clear_net_param() {
12004   if (net_param_ != NULL) net_param_->::opencv_caffe::NetParameter::Clear();
12005   clear_has_net_param();
12006 }
12007 const ::opencv_caffe::NetParameter& SolverParameter::net_param() const {
12008   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net_param)
12009   return net_param_ != NULL ? *net_param_
12010                          : *::opencv_caffe::NetParameter::internal_default_instance();
12011 }
12012 ::opencv_caffe::NetParameter* SolverParameter::mutable_net_param() {
12013   set_has_net_param();
12014   if (net_param_ == NULL) {
12015     net_param_ = new ::opencv_caffe::NetParameter;
12016   }
12017   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net_param)
12018   return net_param_;
12019 }
12020 ::opencv_caffe::NetParameter* SolverParameter::release_net_param() {
12021   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net_param)
12022   clear_has_net_param();
12023   ::opencv_caffe::NetParameter* temp = net_param_;
12024   net_param_ = NULL;
12025   return temp;
12026 }
12027 void SolverParameter::set_allocated_net_param(::opencv_caffe::NetParameter* net_param) {
12028   delete net_param_;
12029   net_param_ = net_param;
12030   if (net_param) {
12031     set_has_net_param();
12032   } else {
12033     clear_has_net_param();
12034   }
12035   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net_param)
12036 }
12037
12038 // optional string train_net = 1;
12039 bool SolverParameter::has_train_net() const {
12040   return (_has_bits_[0] & 0x00000004u) != 0;
12041 }
12042 void SolverParameter::set_has_train_net() {
12043   _has_bits_[0] |= 0x00000004u;
12044 }
12045 void SolverParameter::clear_has_train_net() {
12046   _has_bits_[0] &= ~0x00000004u;
12047 }
12048 void SolverParameter::clear_train_net() {
12049   train_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12050   clear_has_train_net();
12051 }
12052 const ::std::string& SolverParameter::train_net() const {
12053   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net)
12054   return train_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12055 }
12056 void SolverParameter::set_train_net(const ::std::string& value) {
12057   set_has_train_net();
12058   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
12059   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.train_net)
12060 }
12061 void SolverParameter::set_train_net(const char* value) {
12062   set_has_train_net();
12063   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
12064   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.train_net)
12065 }
12066 void SolverParameter::set_train_net(const char* value, size_t size) {
12067   set_has_train_net();
12068   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
12069       ::std::string(reinterpret_cast<const char*>(value), size));
12070   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.train_net)
12071 }
12072 ::std::string* SolverParameter::mutable_train_net() {
12073   set_has_train_net();
12074   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net)
12075   return train_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12076 }
12077 ::std::string* SolverParameter::release_train_net() {
12078   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net)
12079   clear_has_train_net();
12080   return train_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12081 }
12082 void SolverParameter::set_allocated_train_net(::std::string* train_net) {
12083   if (train_net != NULL) {
12084     set_has_train_net();
12085   } else {
12086     clear_has_train_net();
12087   }
12088   train_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), train_net);
12089   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net)
12090 }
12091
12092 // repeated string test_net = 2;
12093 int SolverParameter::test_net_size() const {
12094   return test_net_.size();
12095 }
12096 void SolverParameter::clear_test_net() {
12097   test_net_.Clear();
12098 }
12099 const ::std::string& SolverParameter::test_net(int index) const {
12100   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net)
12101   return test_net_.Get(index);
12102 }
12103 ::std::string* SolverParameter::mutable_test_net(int index) {
12104   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net)
12105   return test_net_.Mutable(index);
12106 }
12107 void SolverParameter::set_test_net(int index, const ::std::string& value) {
12108   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_net)
12109   test_net_.Mutable(index)->assign(value);
12110 }
12111 void SolverParameter::set_test_net(int index, const char* value) {
12112   test_net_.Mutable(index)->assign(value);
12113   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.test_net)
12114 }
12115 void SolverParameter::set_test_net(int index, const char* value, size_t size) {
12116   test_net_.Mutable(index)->assign(
12117     reinterpret_cast<const char*>(value), size);
12118   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.test_net)
12119 }
12120 ::std::string* SolverParameter::add_test_net() {
12121   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.SolverParameter.test_net)
12122   return test_net_.Add();
12123 }
12124 void SolverParameter::add_test_net(const ::std::string& value) {
12125   test_net_.Add()->assign(value);
12126   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net)
12127 }
12128 void SolverParameter::add_test_net(const char* value) {
12129   test_net_.Add()->assign(value);
12130   // @@protoc_insertion_point(field_add_char:opencv_caffe.SolverParameter.test_net)
12131 }
12132 void SolverParameter::add_test_net(const char* value, size_t size) {
12133   test_net_.Add()->assign(reinterpret_cast<const char*>(value), size);
12134   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.SolverParameter.test_net)
12135 }
12136 const ::google::protobuf::RepeatedPtrField< ::std::string>&
12137 SolverParameter::test_net() const {
12138   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net)
12139   return test_net_;
12140 }
12141 ::google::protobuf::RepeatedPtrField< ::std::string>*
12142 SolverParameter::mutable_test_net() {
12143   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net)
12144   return &test_net_;
12145 }
12146
12147 // optional .opencv_caffe.NetParameter train_net_param = 21;
12148 bool SolverParameter::has_train_net_param() const {
12149   return (_has_bits_[0] & 0x00000010u) != 0;
12150 }
12151 void SolverParameter::set_has_train_net_param() {
12152   _has_bits_[0] |= 0x00000010u;
12153 }
12154 void SolverParameter::clear_has_train_net_param() {
12155   _has_bits_[0] &= ~0x00000010u;
12156 }
12157 void SolverParameter::clear_train_net_param() {
12158   if (train_net_param_ != NULL) train_net_param_->::opencv_caffe::NetParameter::Clear();
12159   clear_has_train_net_param();
12160 }
12161 const ::opencv_caffe::NetParameter& SolverParameter::train_net_param() const {
12162   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net_param)
12163   return train_net_param_ != NULL ? *train_net_param_
12164                          : *::opencv_caffe::NetParameter::internal_default_instance();
12165 }
12166 ::opencv_caffe::NetParameter* SolverParameter::mutable_train_net_param() {
12167   set_has_train_net_param();
12168   if (train_net_param_ == NULL) {
12169     train_net_param_ = new ::opencv_caffe::NetParameter;
12170   }
12171   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net_param)
12172   return train_net_param_;
12173 }
12174 ::opencv_caffe::NetParameter* SolverParameter::release_train_net_param() {
12175   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net_param)
12176   clear_has_train_net_param();
12177   ::opencv_caffe::NetParameter* temp = train_net_param_;
12178   train_net_param_ = NULL;
12179   return temp;
12180 }
12181 void SolverParameter::set_allocated_train_net_param(::opencv_caffe::NetParameter* train_net_param) {
12182   delete train_net_param_;
12183   train_net_param_ = train_net_param;
12184   if (train_net_param) {
12185     set_has_train_net_param();
12186   } else {
12187     clear_has_train_net_param();
12188   }
12189   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net_param)
12190 }
12191
12192 // repeated .opencv_caffe.NetParameter test_net_param = 22;
12193 int SolverParameter::test_net_param_size() const {
12194   return test_net_param_.size();
12195 }
12196 void SolverParameter::clear_test_net_param() {
12197   test_net_param_.Clear();
12198 }
12199 const ::opencv_caffe::NetParameter& SolverParameter::test_net_param(int index) const {
12200   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net_param)
12201   return test_net_param_.Get(index);
12202 }
12203 ::opencv_caffe::NetParameter* SolverParameter::mutable_test_net_param(int index) {
12204   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net_param)
12205   return test_net_param_.Mutable(index);
12206 }
12207 ::opencv_caffe::NetParameter* SolverParameter::add_test_net_param() {
12208   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net_param)
12209   return test_net_param_.Add();
12210 }
12211 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >*
12212 SolverParameter::mutable_test_net_param() {
12213   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net_param)
12214   return &test_net_param_;
12215 }
12216 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >&
12217 SolverParameter::test_net_param() const {
12218   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net_param)
12219   return test_net_param_;
12220 }
12221
12222 // optional .opencv_caffe.NetState train_state = 26;
12223 bool SolverParameter::has_train_state() const {
12224   return (_has_bits_[0] & 0x00000040u) != 0;
12225 }
12226 void SolverParameter::set_has_train_state() {
12227   _has_bits_[0] |= 0x00000040u;
12228 }
12229 void SolverParameter::clear_has_train_state() {
12230   _has_bits_[0] &= ~0x00000040u;
12231 }
12232 void SolverParameter::clear_train_state() {
12233   if (train_state_ != NULL) train_state_->::opencv_caffe::NetState::Clear();
12234   clear_has_train_state();
12235 }
12236 const ::opencv_caffe::NetState& SolverParameter::train_state() const {
12237   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_state)
12238   return train_state_ != NULL ? *train_state_
12239                          : *::opencv_caffe::NetState::internal_default_instance();
12240 }
12241 ::opencv_caffe::NetState* SolverParameter::mutable_train_state() {
12242   set_has_train_state();
12243   if (train_state_ == NULL) {
12244     train_state_ = new ::opencv_caffe::NetState;
12245   }
12246   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_state)
12247   return train_state_;
12248 }
12249 ::opencv_caffe::NetState* SolverParameter::release_train_state() {
12250   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_state)
12251   clear_has_train_state();
12252   ::opencv_caffe::NetState* temp = train_state_;
12253   train_state_ = NULL;
12254   return temp;
12255 }
12256 void SolverParameter::set_allocated_train_state(::opencv_caffe::NetState* train_state) {
12257   delete train_state_;
12258   train_state_ = train_state;
12259   if (train_state) {
12260     set_has_train_state();
12261   } else {
12262     clear_has_train_state();
12263   }
12264   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_state)
12265 }
12266
12267 // repeated .opencv_caffe.NetState test_state = 27;
12268 int SolverParameter::test_state_size() const {
12269   return test_state_.size();
12270 }
12271 void SolverParameter::clear_test_state() {
12272   test_state_.Clear();
12273 }
12274 const ::opencv_caffe::NetState& SolverParameter::test_state(int index) const {
12275   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_state)
12276   return test_state_.Get(index);
12277 }
12278 ::opencv_caffe::NetState* SolverParameter::mutable_test_state(int index) {
12279   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_state)
12280   return test_state_.Mutable(index);
12281 }
12282 ::opencv_caffe::NetState* SolverParameter::add_test_state() {
12283   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_state)
12284   return test_state_.Add();
12285 }
12286 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >*
12287 SolverParameter::mutable_test_state() {
12288   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_state)
12289   return &test_state_;
12290 }
12291 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >&
12292 SolverParameter::test_state() const {
12293   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_state)
12294   return test_state_;
12295 }
12296
12297 // repeated int32 test_iter = 3;
12298 int SolverParameter::test_iter_size() const {
12299   return test_iter_.size();
12300 }
12301 void SolverParameter::clear_test_iter() {
12302   test_iter_.Clear();
12303 }
12304 ::google::protobuf::int32 SolverParameter::test_iter(int index) const {
12305   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_iter)
12306   return test_iter_.Get(index);
12307 }
12308 void SolverParameter::set_test_iter(int index, ::google::protobuf::int32 value) {
12309   test_iter_.Set(index, value);
12310   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_iter)
12311 }
12312 void SolverParameter::add_test_iter(::google::protobuf::int32 value) {
12313   test_iter_.Add(value);
12314   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_iter)
12315 }
12316 const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
12317 SolverParameter::test_iter() const {
12318   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_iter)
12319   return test_iter_;
12320 }
12321 ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
12322 SolverParameter::mutable_test_iter() {
12323   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_iter)
12324   return &test_iter_;
12325 }
12326
12327 // optional int32 test_interval = 4 [default = 0];
12328 bool SolverParameter::has_test_interval() const {
12329   return (_has_bits_[0] & 0x00000200u) != 0;
12330 }
12331 void SolverParameter::set_has_test_interval() {
12332   _has_bits_[0] |= 0x00000200u;
12333 }
12334 void SolverParameter::clear_has_test_interval() {
12335   _has_bits_[0] &= ~0x00000200u;
12336 }
12337 void SolverParameter::clear_test_interval() {
12338   test_interval_ = 0;
12339   clear_has_test_interval();
12340 }
12341 ::google::protobuf::int32 SolverParameter::test_interval() const {
12342   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_interval)
12343   return test_interval_;
12344 }
12345 void SolverParameter::set_test_interval(::google::protobuf::int32 value) {
12346   set_has_test_interval();
12347   test_interval_ = value;
12348   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_interval)
12349 }
12350
12351 // optional bool test_compute_loss = 19 [default = false];
12352 bool SolverParameter::has_test_compute_loss() const {
12353   return (_has_bits_[0] & 0x00000400u) != 0;
12354 }
12355 void SolverParameter::set_has_test_compute_loss() {
12356   _has_bits_[0] |= 0x00000400u;
12357 }
12358 void SolverParameter::clear_has_test_compute_loss() {
12359   _has_bits_[0] &= ~0x00000400u;
12360 }
12361 void SolverParameter::clear_test_compute_loss() {
12362   test_compute_loss_ = false;
12363   clear_has_test_compute_loss();
12364 }
12365 bool SolverParameter::test_compute_loss() const {
12366   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_compute_loss)
12367   return test_compute_loss_;
12368 }
12369 void SolverParameter::set_test_compute_loss(bool value) {
12370   set_has_test_compute_loss();
12371   test_compute_loss_ = value;
12372   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_compute_loss)
12373 }
12374
12375 // optional bool test_initialization = 32 [default = true];
12376 bool SolverParameter::has_test_initialization() const {
12377   return (_has_bits_[0] & 0x00000800u) != 0;
12378 }
12379 void SolverParameter::set_has_test_initialization() {
12380   _has_bits_[0] |= 0x00000800u;
12381 }
12382 void SolverParameter::clear_has_test_initialization() {
12383   _has_bits_[0] &= ~0x00000800u;
12384 }
12385 void SolverParameter::clear_test_initialization() {
12386   test_initialization_ = true;
12387   clear_has_test_initialization();
12388 }
12389 bool SolverParameter::test_initialization() const {
12390   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_initialization)
12391   return test_initialization_;
12392 }
12393 void SolverParameter::set_test_initialization(bool value) {
12394   set_has_test_initialization();
12395   test_initialization_ = value;
12396   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_initialization)
12397 }
12398
12399 // optional float base_lr = 5;
12400 bool SolverParameter::has_base_lr() const {
12401   return (_has_bits_[0] & 0x00001000u) != 0;
12402 }
12403 void SolverParameter::set_has_base_lr() {
12404   _has_bits_[0] |= 0x00001000u;
12405 }
12406 void SolverParameter::clear_has_base_lr() {
12407   _has_bits_[0] &= ~0x00001000u;
12408 }
12409 void SolverParameter::clear_base_lr() {
12410   base_lr_ = 0;
12411   clear_has_base_lr();
12412 }
12413 float SolverParameter::base_lr() const {
12414   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.base_lr)
12415   return base_lr_;
12416 }
12417 void SolverParameter::set_base_lr(float value) {
12418   set_has_base_lr();
12419   base_lr_ = value;
12420   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.base_lr)
12421 }
12422
12423 // optional int32 display = 6;
12424 bool SolverParameter::has_display() const {
12425   return (_has_bits_[0] & 0x00002000u) != 0;
12426 }
12427 void SolverParameter::set_has_display() {
12428   _has_bits_[0] |= 0x00002000u;
12429 }
12430 void SolverParameter::clear_has_display() {
12431   _has_bits_[0] &= ~0x00002000u;
12432 }
12433 void SolverParameter::clear_display() {
12434   display_ = 0;
12435   clear_has_display();
12436 }
12437 ::google::protobuf::int32 SolverParameter::display() const {
12438   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.display)
12439   return display_;
12440 }
12441 void SolverParameter::set_display(::google::protobuf::int32 value) {
12442   set_has_display();
12443   display_ = value;
12444   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.display)
12445 }
12446
12447 // optional int32 average_loss = 33 [default = 1];
12448 bool SolverParameter::has_average_loss() const {
12449   return (_has_bits_[0] & 0x00004000u) != 0;
12450 }
12451 void SolverParameter::set_has_average_loss() {
12452   _has_bits_[0] |= 0x00004000u;
12453 }
12454 void SolverParameter::clear_has_average_loss() {
12455   _has_bits_[0] &= ~0x00004000u;
12456 }
12457 void SolverParameter::clear_average_loss() {
12458   average_loss_ = 1;
12459   clear_has_average_loss();
12460 }
12461 ::google::protobuf::int32 SolverParameter::average_loss() const {
12462   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.average_loss)
12463   return average_loss_;
12464 }
12465 void SolverParameter::set_average_loss(::google::protobuf::int32 value) {
12466   set_has_average_loss();
12467   average_loss_ = value;
12468   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.average_loss)
12469 }
12470
12471 // optional int32 max_iter = 7;
12472 bool SolverParameter::has_max_iter() const {
12473   return (_has_bits_[0] & 0x00008000u) != 0;
12474 }
12475 void SolverParameter::set_has_max_iter() {
12476   _has_bits_[0] |= 0x00008000u;
12477 }
12478 void SolverParameter::clear_has_max_iter() {
12479   _has_bits_[0] &= ~0x00008000u;
12480 }
12481 void SolverParameter::clear_max_iter() {
12482   max_iter_ = 0;
12483   clear_has_max_iter();
12484 }
12485 ::google::protobuf::int32 SolverParameter::max_iter() const {
12486   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.max_iter)
12487   return max_iter_;
12488 }
12489 void SolverParameter::set_max_iter(::google::protobuf::int32 value) {
12490   set_has_max_iter();
12491   max_iter_ = value;
12492   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.max_iter)
12493 }
12494
12495 // optional int32 iter_size = 36 [default = 1];
12496 bool SolverParameter::has_iter_size() const {
12497   return (_has_bits_[0] & 0x00010000u) != 0;
12498 }
12499 void SolverParameter::set_has_iter_size() {
12500   _has_bits_[0] |= 0x00010000u;
12501 }
12502 void SolverParameter::clear_has_iter_size() {
12503   _has_bits_[0] &= ~0x00010000u;
12504 }
12505 void SolverParameter::clear_iter_size() {
12506   iter_size_ = 1;
12507   clear_has_iter_size();
12508 }
12509 ::google::protobuf::int32 SolverParameter::iter_size() const {
12510   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.iter_size)
12511   return iter_size_;
12512 }
12513 void SolverParameter::set_iter_size(::google::protobuf::int32 value) {
12514   set_has_iter_size();
12515   iter_size_ = value;
12516   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.iter_size)
12517 }
12518
12519 // optional string lr_policy = 8;
12520 bool SolverParameter::has_lr_policy() const {
12521   return (_has_bits_[0] & 0x00020000u) != 0;
12522 }
12523 void SolverParameter::set_has_lr_policy() {
12524   _has_bits_[0] |= 0x00020000u;
12525 }
12526 void SolverParameter::clear_has_lr_policy() {
12527   _has_bits_[0] &= ~0x00020000u;
12528 }
12529 void SolverParameter::clear_lr_policy() {
12530   lr_policy_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12531   clear_has_lr_policy();
12532 }
12533 const ::std::string& SolverParameter::lr_policy() const {
12534   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.lr_policy)
12535   return lr_policy_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12536 }
12537 void SolverParameter::set_lr_policy(const ::std::string& value) {
12538   set_has_lr_policy();
12539   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
12540   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.lr_policy)
12541 }
12542 void SolverParameter::set_lr_policy(const char* value) {
12543   set_has_lr_policy();
12544   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
12545   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.lr_policy)
12546 }
12547 void SolverParameter::set_lr_policy(const char* value, size_t size) {
12548   set_has_lr_policy();
12549   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
12550       ::std::string(reinterpret_cast<const char*>(value), size));
12551   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.lr_policy)
12552 }
12553 ::std::string* SolverParameter::mutable_lr_policy() {
12554   set_has_lr_policy();
12555   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.lr_policy)
12556   return lr_policy_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12557 }
12558 ::std::string* SolverParameter::release_lr_policy() {
12559   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.lr_policy)
12560   clear_has_lr_policy();
12561   return lr_policy_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12562 }
12563 void SolverParameter::set_allocated_lr_policy(::std::string* lr_policy) {
12564   if (lr_policy != NULL) {
12565     set_has_lr_policy();
12566   } else {
12567     clear_has_lr_policy();
12568   }
12569   lr_policy_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), lr_policy);
12570   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.lr_policy)
12571 }
12572
12573 // optional float gamma = 9;
12574 bool SolverParameter::has_gamma() const {
12575   return (_has_bits_[0] & 0x00040000u) != 0;
12576 }
12577 void SolverParameter::set_has_gamma() {
12578   _has_bits_[0] |= 0x00040000u;
12579 }
12580 void SolverParameter::clear_has_gamma() {
12581   _has_bits_[0] &= ~0x00040000u;
12582 }
12583 void SolverParameter::clear_gamma() {
12584   gamma_ = 0;
12585   clear_has_gamma();
12586 }
12587 float SolverParameter::gamma() const {
12588   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.gamma)
12589   return gamma_;
12590 }
12591 void SolverParameter::set_gamma(float value) {
12592   set_has_gamma();
12593   gamma_ = value;
12594   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.gamma)
12595 }
12596
12597 // optional float power = 10;
12598 bool SolverParameter::has_power() const {
12599   return (_has_bits_[0] & 0x00080000u) != 0;
12600 }
12601 void SolverParameter::set_has_power() {
12602   _has_bits_[0] |= 0x00080000u;
12603 }
12604 void SolverParameter::clear_has_power() {
12605   _has_bits_[0] &= ~0x00080000u;
12606 }
12607 void SolverParameter::clear_power() {
12608   power_ = 0;
12609   clear_has_power();
12610 }
12611 float SolverParameter::power() const {
12612   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.power)
12613   return power_;
12614 }
12615 void SolverParameter::set_power(float value) {
12616   set_has_power();
12617   power_ = value;
12618   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.power)
12619 }
12620
12621 // optional float momentum = 11;
12622 bool SolverParameter::has_momentum() const {
12623   return (_has_bits_[0] & 0x00100000u) != 0;
12624 }
12625 void SolverParameter::set_has_momentum() {
12626   _has_bits_[0] |= 0x00100000u;
12627 }
12628 void SolverParameter::clear_has_momentum() {
12629   _has_bits_[0] &= ~0x00100000u;
12630 }
12631 void SolverParameter::clear_momentum() {
12632   momentum_ = 0;
12633   clear_has_momentum();
12634 }
12635 float SolverParameter::momentum() const {
12636   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum)
12637   return momentum_;
12638 }
12639 void SolverParameter::set_momentum(float value) {
12640   set_has_momentum();
12641   momentum_ = value;
12642   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum)
12643 }
12644
12645 // optional float weight_decay = 12;
12646 bool SolverParameter::has_weight_decay() const {
12647   return (_has_bits_[0] & 0x00200000u) != 0;
12648 }
12649 void SolverParameter::set_has_weight_decay() {
12650   _has_bits_[0] |= 0x00200000u;
12651 }
12652 void SolverParameter::clear_has_weight_decay() {
12653   _has_bits_[0] &= ~0x00200000u;
12654 }
12655 void SolverParameter::clear_weight_decay() {
12656   weight_decay_ = 0;
12657   clear_has_weight_decay();
12658 }
12659 float SolverParameter::weight_decay() const {
12660   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.weight_decay)
12661   return weight_decay_;
12662 }
12663 void SolverParameter::set_weight_decay(float value) {
12664   set_has_weight_decay();
12665   weight_decay_ = value;
12666   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.weight_decay)
12667 }
12668
12669 // optional string regularization_type = 29 [default = "L2"];
12670 bool SolverParameter::has_regularization_type() const {
12671   return (_has_bits_[0] & 0x00400000u) != 0;
12672 }
12673 void SolverParameter::set_has_regularization_type() {
12674   _has_bits_[0] |= 0x00400000u;
12675 }
12676 void SolverParameter::clear_has_regularization_type() {
12677   _has_bits_[0] &= ~0x00400000u;
12678 }
12679 void SolverParameter::clear_regularization_type() {
12680   regularization_type_.ClearToDefaultNoArena(_default_regularization_type_);
12681   clear_has_regularization_type();
12682 }
12683 const ::std::string& SolverParameter::regularization_type() const {
12684   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.regularization_type)
12685   return regularization_type_.GetNoArena(_default_regularization_type_);
12686 }
12687 void SolverParameter::set_regularization_type(const ::std::string& value) {
12688   set_has_regularization_type();
12689   regularization_type_.SetNoArena(_default_regularization_type_, value);
12690   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.regularization_type)
12691 }
12692 void SolverParameter::set_regularization_type(const char* value) {
12693   set_has_regularization_type();
12694   regularization_type_.SetNoArena(_default_regularization_type_, ::std::string(value));
12695   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.regularization_type)
12696 }
12697 void SolverParameter::set_regularization_type(const char* value, size_t size) {
12698   set_has_regularization_type();
12699   regularization_type_.SetNoArena(_default_regularization_type_,
12700       ::std::string(reinterpret_cast<const char*>(value), size));
12701   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.regularization_type)
12702 }
12703 ::std::string* SolverParameter::mutable_regularization_type() {
12704   set_has_regularization_type();
12705   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.regularization_type)
12706   return regularization_type_.MutableNoArena(_default_regularization_type_);
12707 }
12708 ::std::string* SolverParameter::release_regularization_type() {
12709   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.regularization_type)
12710   clear_has_regularization_type();
12711   return regularization_type_.ReleaseNoArena(_default_regularization_type_);
12712 }
12713 void SolverParameter::set_allocated_regularization_type(::std::string* regularization_type) {
12714   if (regularization_type != NULL) {
12715     set_has_regularization_type();
12716   } else {
12717     clear_has_regularization_type();
12718   }
12719   regularization_type_.SetAllocatedNoArena(_default_regularization_type_, regularization_type);
12720   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.regularization_type)
12721 }
12722
12723 // optional int32 stepsize = 13;
12724 bool SolverParameter::has_stepsize() const {
12725   return (_has_bits_[0] & 0x00800000u) != 0;
12726 }
12727 void SolverParameter::set_has_stepsize() {
12728   _has_bits_[0] |= 0x00800000u;
12729 }
12730 void SolverParameter::clear_has_stepsize() {
12731   _has_bits_[0] &= ~0x00800000u;
12732 }
12733 void SolverParameter::clear_stepsize() {
12734   stepsize_ = 0;
12735   clear_has_stepsize();
12736 }
12737 ::google::protobuf::int32 SolverParameter::stepsize() const {
12738   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepsize)
12739   return stepsize_;
12740 }
12741 void SolverParameter::set_stepsize(::google::protobuf::int32 value) {
12742   set_has_stepsize();
12743   stepsize_ = value;
12744   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepsize)
12745 }
12746
12747 // repeated int32 stepvalue = 34;
12748 int SolverParameter::stepvalue_size() const {
12749   return stepvalue_.size();
12750 }
12751 void SolverParameter::clear_stepvalue() {
12752   stepvalue_.Clear();
12753 }
12754 ::google::protobuf::int32 SolverParameter::stepvalue(int index) const {
12755   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepvalue)
12756   return stepvalue_.Get(index);
12757 }
12758 void SolverParameter::set_stepvalue(int index, ::google::protobuf::int32 value) {
12759   stepvalue_.Set(index, value);
12760   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepvalue)
12761 }
12762 void SolverParameter::add_stepvalue(::google::protobuf::int32 value) {
12763   stepvalue_.Add(value);
12764   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.stepvalue)
12765 }
12766 const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
12767 SolverParameter::stepvalue() const {
12768   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.stepvalue)
12769   return stepvalue_;
12770 }
12771 ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
12772 SolverParameter::mutable_stepvalue() {
12773   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.stepvalue)
12774   return &stepvalue_;
12775 }
12776
12777 // optional float clip_gradients = 35 [default = -1];
12778 bool SolverParameter::has_clip_gradients() const {
12779   return (_has_bits_[0] & 0x02000000u) != 0;
12780 }
12781 void SolverParameter::set_has_clip_gradients() {
12782   _has_bits_[0] |= 0x02000000u;
12783 }
12784 void SolverParameter::clear_has_clip_gradients() {
12785   _has_bits_[0] &= ~0x02000000u;
12786 }
12787 void SolverParameter::clear_clip_gradients() {
12788   clip_gradients_ = -1;
12789   clear_has_clip_gradients();
12790 }
12791 float SolverParameter::clip_gradients() const {
12792   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.clip_gradients)
12793   return clip_gradients_;
12794 }
12795 void SolverParameter::set_clip_gradients(float value) {
12796   set_has_clip_gradients();
12797   clip_gradients_ = value;
12798   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.clip_gradients)
12799 }
12800
12801 // optional int32 snapshot = 14 [default = 0];
12802 bool SolverParameter::has_snapshot() const {
12803   return (_has_bits_[0] & 0x04000000u) != 0;
12804 }
12805 void SolverParameter::set_has_snapshot() {
12806   _has_bits_[0] |= 0x04000000u;
12807 }
12808 void SolverParameter::clear_has_snapshot() {
12809   _has_bits_[0] &= ~0x04000000u;
12810 }
12811 void SolverParameter::clear_snapshot() {
12812   snapshot_ = 0;
12813   clear_has_snapshot();
12814 }
12815 ::google::protobuf::int32 SolverParameter::snapshot() const {
12816   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot)
12817   return snapshot_;
12818 }
12819 void SolverParameter::set_snapshot(::google::protobuf::int32 value) {
12820   set_has_snapshot();
12821   snapshot_ = value;
12822   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot)
12823 }
12824
12825 // optional string snapshot_prefix = 15;
12826 bool SolverParameter::has_snapshot_prefix() const {
12827   return (_has_bits_[0] & 0x08000000u) != 0;
12828 }
12829 void SolverParameter::set_has_snapshot_prefix() {
12830   _has_bits_[0] |= 0x08000000u;
12831 }
12832 void SolverParameter::clear_has_snapshot_prefix() {
12833   _has_bits_[0] &= ~0x08000000u;
12834 }
12835 void SolverParameter::clear_snapshot_prefix() {
12836   snapshot_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12837   clear_has_snapshot_prefix();
12838 }
12839 const ::std::string& SolverParameter::snapshot_prefix() const {
12840   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_prefix)
12841   return snapshot_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12842 }
12843 void SolverParameter::set_snapshot_prefix(const ::std::string& value) {
12844   set_has_snapshot_prefix();
12845   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
12846   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_prefix)
12847 }
12848 void SolverParameter::set_snapshot_prefix(const char* value) {
12849   set_has_snapshot_prefix();
12850   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
12851   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.snapshot_prefix)
12852 }
12853 void SolverParameter::set_snapshot_prefix(const char* value, size_t size) {
12854   set_has_snapshot_prefix();
12855   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
12856       ::std::string(reinterpret_cast<const char*>(value), size));
12857   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.snapshot_prefix)
12858 }
12859 ::std::string* SolverParameter::mutable_snapshot_prefix() {
12860   set_has_snapshot_prefix();
12861   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.snapshot_prefix)
12862   return snapshot_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12863 }
12864 ::std::string* SolverParameter::release_snapshot_prefix() {
12865   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.snapshot_prefix)
12866   clear_has_snapshot_prefix();
12867   return snapshot_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
12868 }
12869 void SolverParameter::set_allocated_snapshot_prefix(::std::string* snapshot_prefix) {
12870   if (snapshot_prefix != NULL) {
12871     set_has_snapshot_prefix();
12872   } else {
12873     clear_has_snapshot_prefix();
12874   }
12875   snapshot_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), snapshot_prefix);
12876   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.snapshot_prefix)
12877 }
12878
12879 // optional bool snapshot_diff = 16 [default = false];
12880 bool SolverParameter::has_snapshot_diff() const {
12881   return (_has_bits_[0] & 0x10000000u) != 0;
12882 }
12883 void SolverParameter::set_has_snapshot_diff() {
12884   _has_bits_[0] |= 0x10000000u;
12885 }
12886 void SolverParameter::clear_has_snapshot_diff() {
12887   _has_bits_[0] &= ~0x10000000u;
12888 }
12889 void SolverParameter::clear_snapshot_diff() {
12890   snapshot_diff_ = false;
12891   clear_has_snapshot_diff();
12892 }
12893 bool SolverParameter::snapshot_diff() const {
12894   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_diff)
12895   return snapshot_diff_;
12896 }
12897 void SolverParameter::set_snapshot_diff(bool value) {
12898   set_has_snapshot_diff();
12899   snapshot_diff_ = value;
12900   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_diff)
12901 }
12902
12903 // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
12904 bool SolverParameter::has_snapshot_format() const {
12905   return (_has_bits_[0] & 0x20000000u) != 0;
12906 }
12907 void SolverParameter::set_has_snapshot_format() {
12908   _has_bits_[0] |= 0x20000000u;
12909 }
12910 void SolverParameter::clear_has_snapshot_format() {
12911   _has_bits_[0] &= ~0x20000000u;
12912 }
12913 void SolverParameter::clear_snapshot_format() {
12914   snapshot_format_ = 1;
12915   clear_has_snapshot_format();
12916 }
12917 ::opencv_caffe::SolverParameter_SnapshotFormat SolverParameter::snapshot_format() const {
12918   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_format)
12919   return static_cast< ::opencv_caffe::SolverParameter_SnapshotFormat >(snapshot_format_);
12920 }
12921 void SolverParameter::set_snapshot_format(::opencv_caffe::SolverParameter_SnapshotFormat value) {
12922   assert(::opencv_caffe::SolverParameter_SnapshotFormat_IsValid(value));
12923   set_has_snapshot_format();
12924   snapshot_format_ = value;
12925   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_format)
12926 }
12927
12928 // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
12929 bool SolverParameter::has_solver_mode() const {
12930   return (_has_bits_[0] & 0x40000000u) != 0;
12931 }
12932 void SolverParameter::set_has_solver_mode() {
12933   _has_bits_[0] |= 0x40000000u;
12934 }
12935 void SolverParameter::clear_has_solver_mode() {
12936   _has_bits_[0] &= ~0x40000000u;
12937 }
12938 void SolverParameter::clear_solver_mode() {
12939   solver_mode_ = 1;
12940   clear_has_solver_mode();
12941 }
12942 ::opencv_caffe::SolverParameter_SolverMode SolverParameter::solver_mode() const {
12943   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_mode)
12944   return static_cast< ::opencv_caffe::SolverParameter_SolverMode >(solver_mode_);
12945 }
12946 void SolverParameter::set_solver_mode(::opencv_caffe::SolverParameter_SolverMode value) {
12947   assert(::opencv_caffe::SolverParameter_SolverMode_IsValid(value));
12948   set_has_solver_mode();
12949   solver_mode_ = value;
12950   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_mode)
12951 }
12952
12953 // optional int32 device_id = 18 [default = 0];
12954 bool SolverParameter::has_device_id() const {
12955   return (_has_bits_[0] & 0x80000000u) != 0;
12956 }
12957 void SolverParameter::set_has_device_id() {
12958   _has_bits_[0] |= 0x80000000u;
12959 }
12960 void SolverParameter::clear_has_device_id() {
12961   _has_bits_[0] &= ~0x80000000u;
12962 }
12963 void SolverParameter::clear_device_id() {
12964   device_id_ = 0;
12965   clear_has_device_id();
12966 }
12967 ::google::protobuf::int32 SolverParameter::device_id() const {
12968   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.device_id)
12969   return device_id_;
12970 }
12971 void SolverParameter::set_device_id(::google::protobuf::int32 value) {
12972   set_has_device_id();
12973   device_id_ = value;
12974   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.device_id)
12975 }
12976
12977 // optional int64 random_seed = 20 [default = -1];
12978 bool SolverParameter::has_random_seed() const {
12979   return (_has_bits_[1] & 0x00000001u) != 0;
12980 }
12981 void SolverParameter::set_has_random_seed() {
12982   _has_bits_[1] |= 0x00000001u;
12983 }
12984 void SolverParameter::clear_has_random_seed() {
12985   _has_bits_[1] &= ~0x00000001u;
12986 }
12987 void SolverParameter::clear_random_seed() {
12988   random_seed_ = GOOGLE_LONGLONG(-1);
12989   clear_has_random_seed();
12990 }
12991 ::google::protobuf::int64 SolverParameter::random_seed() const {
12992   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.random_seed)
12993   return random_seed_;
12994 }
12995 void SolverParameter::set_random_seed(::google::protobuf::int64 value) {
12996   set_has_random_seed();
12997   random_seed_ = value;
12998   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.random_seed)
12999 }
13000
13001 // optional string type = 40 [default = "SGD"];
13002 bool SolverParameter::has_type() const {
13003   return (_has_bits_[1] & 0x00000002u) != 0;
13004 }
13005 void SolverParameter::set_has_type() {
13006   _has_bits_[1] |= 0x00000002u;
13007 }
13008 void SolverParameter::clear_has_type() {
13009   _has_bits_[1] &= ~0x00000002u;
13010 }
13011 void SolverParameter::clear_type() {
13012   type_.ClearToDefaultNoArena(_default_type_);
13013   clear_has_type();
13014 }
13015 const ::std::string& SolverParameter::type() const {
13016   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.type)
13017   return type_.GetNoArena(_default_type_);
13018 }
13019 void SolverParameter::set_type(const ::std::string& value) {
13020   set_has_type();
13021   type_.SetNoArena(_default_type_, value);
13022   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.type)
13023 }
13024 void SolverParameter::set_type(const char* value) {
13025   set_has_type();
13026   type_.SetNoArena(_default_type_, ::std::string(value));
13027   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.type)
13028 }
13029 void SolverParameter::set_type(const char* value, size_t size) {
13030   set_has_type();
13031   type_.SetNoArena(_default_type_,
13032       ::std::string(reinterpret_cast<const char*>(value), size));
13033   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.type)
13034 }
13035 ::std::string* SolverParameter::mutable_type() {
13036   set_has_type();
13037   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.type)
13038   return type_.MutableNoArena(_default_type_);
13039 }
13040 ::std::string* SolverParameter::release_type() {
13041   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.type)
13042   clear_has_type();
13043   return type_.ReleaseNoArena(_default_type_);
13044 }
13045 void SolverParameter::set_allocated_type(::std::string* type) {
13046   if (type != NULL) {
13047     set_has_type();
13048   } else {
13049     clear_has_type();
13050   }
13051   type_.SetAllocatedNoArena(_default_type_, type);
13052   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.type)
13053 }
13054
13055 // optional float delta = 31 [default = 1e-08];
13056 bool SolverParameter::has_delta() const {
13057   return (_has_bits_[1] & 0x00000004u) != 0;
13058 }
13059 void SolverParameter::set_has_delta() {
13060   _has_bits_[1] |= 0x00000004u;
13061 }
13062 void SolverParameter::clear_has_delta() {
13063   _has_bits_[1] &= ~0x00000004u;
13064 }
13065 void SolverParameter::clear_delta() {
13066   delta_ = 1e-08f;
13067   clear_has_delta();
13068 }
13069 float SolverParameter::delta() const {
13070   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.delta)
13071   return delta_;
13072 }
13073 void SolverParameter::set_delta(float value) {
13074   set_has_delta();
13075   delta_ = value;
13076   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.delta)
13077 }
13078
13079 // optional float momentum2 = 39 [default = 0.999];
13080 bool SolverParameter::has_momentum2() const {
13081   return (_has_bits_[1] & 0x00000008u) != 0;
13082 }
13083 void SolverParameter::set_has_momentum2() {
13084   _has_bits_[1] |= 0x00000008u;
13085 }
13086 void SolverParameter::clear_has_momentum2() {
13087   _has_bits_[1] &= ~0x00000008u;
13088 }
13089 void SolverParameter::clear_momentum2() {
13090   momentum2_ = 0.999f;
13091   clear_has_momentum2();
13092 }
13093 float SolverParameter::momentum2() const {
13094   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum2)
13095   return momentum2_;
13096 }
13097 void SolverParameter::set_momentum2(float value) {
13098   set_has_momentum2();
13099   momentum2_ = value;
13100   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum2)
13101 }
13102
13103 // optional float rms_decay = 38 [default = 0.99];
13104 bool SolverParameter::has_rms_decay() const {
13105   return (_has_bits_[1] & 0x00000010u) != 0;
13106 }
13107 void SolverParameter::set_has_rms_decay() {
13108   _has_bits_[1] |= 0x00000010u;
13109 }
13110 void SolverParameter::clear_has_rms_decay() {
13111   _has_bits_[1] &= ~0x00000010u;
13112 }
13113 void SolverParameter::clear_rms_decay() {
13114   rms_decay_ = 0.99f;
13115   clear_has_rms_decay();
13116 }
13117 float SolverParameter::rms_decay() const {
13118   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.rms_decay)
13119   return rms_decay_;
13120 }
13121 void SolverParameter::set_rms_decay(float value) {
13122   set_has_rms_decay();
13123   rms_decay_ = value;
13124   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.rms_decay)
13125 }
13126
13127 // optional bool debug_info = 23 [default = false];
13128 bool SolverParameter::has_debug_info() const {
13129   return (_has_bits_[1] & 0x00000020u) != 0;
13130 }
13131 void SolverParameter::set_has_debug_info() {
13132   _has_bits_[1] |= 0x00000020u;
13133 }
13134 void SolverParameter::clear_has_debug_info() {
13135   _has_bits_[1] &= ~0x00000020u;
13136 }
13137 void SolverParameter::clear_debug_info() {
13138   debug_info_ = false;
13139   clear_has_debug_info();
13140 }
13141 bool SolverParameter::debug_info() const {
13142   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.debug_info)
13143   return debug_info_;
13144 }
13145 void SolverParameter::set_debug_info(bool value) {
13146   set_has_debug_info();
13147   debug_info_ = value;
13148   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.debug_info)
13149 }
13150
13151 // optional bool snapshot_after_train = 28 [default = true];
13152 bool SolverParameter::has_snapshot_after_train() const {
13153   return (_has_bits_[1] & 0x00000040u) != 0;
13154 }
13155 void SolverParameter::set_has_snapshot_after_train() {
13156   _has_bits_[1] |= 0x00000040u;
13157 }
13158 void SolverParameter::clear_has_snapshot_after_train() {
13159   _has_bits_[1] &= ~0x00000040u;
13160 }
13161 void SolverParameter::clear_snapshot_after_train() {
13162   snapshot_after_train_ = true;
13163   clear_has_snapshot_after_train();
13164 }
13165 bool SolverParameter::snapshot_after_train() const {
13166   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_after_train)
13167   return snapshot_after_train_;
13168 }
13169 void SolverParameter::set_snapshot_after_train(bool value) {
13170   set_has_snapshot_after_train();
13171   snapshot_after_train_ = value;
13172   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_after_train)
13173 }
13174
13175 // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
13176 bool SolverParameter::has_solver_type() const {
13177   return (_has_bits_[1] & 0x00000080u) != 0;
13178 }
13179 void SolverParameter::set_has_solver_type() {
13180   _has_bits_[1] |= 0x00000080u;
13181 }
13182 void SolverParameter::clear_has_solver_type() {
13183   _has_bits_[1] &= ~0x00000080u;
13184 }
13185 void SolverParameter::clear_solver_type() {
13186   solver_type_ = 0;
13187   clear_has_solver_type();
13188 }
13189 ::opencv_caffe::SolverParameter_SolverType SolverParameter::solver_type() const {
13190   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_type)
13191   return static_cast< ::opencv_caffe::SolverParameter_SolverType >(solver_type_);
13192 }
13193 void SolverParameter::set_solver_type(::opencv_caffe::SolverParameter_SolverType value) {
13194   assert(::opencv_caffe::SolverParameter_SolverType_IsValid(value));
13195   set_has_solver_type();
13196   solver_type_ = value;
13197   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_type)
13198 }
13199
13200 inline const SolverParameter* SolverParameter::internal_default_instance() {
13201   return &SolverParameter_default_instance_.get();
13202 }
13203 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
13204
13205 // ===================================================================
13206
13207 #if !defined(_MSC_VER) || _MSC_VER >= 1900
13208 const int SolverState::kIterFieldNumber;
13209 const int SolverState::kLearnedNetFieldNumber;
13210 const int SolverState::kHistoryFieldNumber;
13211 const int SolverState::kCurrentStepFieldNumber;
13212 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
13213
13214 SolverState::SolverState()
13215   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
13216   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13217   SharedCtor();
13218   // @@protoc_insertion_point(constructor:opencv_caffe.SolverState)
13219 }
13220
13221 void SolverState::InitAsDefaultInstance() {
13222 }
13223
13224 SolverState::SolverState(const SolverState& from)
13225   : ::google::protobuf::Message(),
13226     _internal_metadata_(NULL) {
13227   SharedCtor();
13228   UnsafeMergeFrom(from);
13229   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SolverState)
13230 }
13231
13232 void SolverState::SharedCtor() {
13233   _cached_size_ = 0;
13234   learned_net_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13235   ::memset(&iter_, 0, reinterpret_cast<char*>(&current_step_) -
13236     reinterpret_cast<char*>(&iter_) + sizeof(current_step_));
13237 }
13238
13239 SolverState::~SolverState() {
13240   // @@protoc_insertion_point(destructor:opencv_caffe.SolverState)
13241   SharedDtor();
13242 }
13243
13244 void SolverState::SharedDtor() {
13245   learned_net_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13246 }
13247
13248 void SolverState::SetCachedSize(int size) const {
13249   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
13250   _cached_size_ = size;
13251   GOOGLE_SAFE_CONCURRENT_WRITES_END();
13252 }
13253 const ::google::protobuf::Descriptor* SolverState::descriptor() {
13254   protobuf_AssignDescriptorsOnce();
13255   return SolverState_descriptor_;
13256 }
13257
13258 const SolverState& SolverState::default_instance() {
13259   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13260   return *internal_default_instance();
13261 }
13262
13263 ::google::protobuf::internal::ExplicitlyConstructed<SolverState> SolverState_default_instance_;
13264
13265 SolverState* SolverState::New(::google::protobuf::Arena* arena) const {
13266   SolverState* n = new SolverState;
13267   if (arena != NULL) {
13268     arena->Own(n);
13269   }
13270   return n;
13271 }
13272
13273 void SolverState::Clear() {
13274 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SolverState)
13275 #if defined(__clang__)
13276 #define ZR_HELPER_(f) \
13277   _Pragma("clang diagnostic push") \
13278   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
13279   __builtin_offsetof(SolverState, f) \
13280   _Pragma("clang diagnostic pop")
13281 #else
13282 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
13283   &reinterpret_cast<SolverState*>(16)->f)
13284 #endif
13285
13286 #define ZR_(first, last) do {\
13287   ::memset(&(first), 0,\
13288            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
13289 } while (0)
13290
13291   if (_has_bits_[0 / 32] & 11u) {
13292     ZR_(iter_, current_step_);
13293     if (has_learned_net()) {
13294       learned_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13295     }
13296   }
13297
13298 #undef ZR_HELPER_
13299 #undef ZR_
13300
13301   history_.Clear();
13302   _has_bits_.Clear();
13303   if (_internal_metadata_.have_unknown_fields()) {
13304     mutable_unknown_fields()->Clear();
13305   }
13306 }
13307
13308 bool SolverState::MergePartialFromCodedStream(
13309     ::google::protobuf::io::CodedInputStream* input) {
13310 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
13311   ::google::protobuf::uint32 tag;
13312   // @@protoc_insertion_point(parse_start:opencv_caffe.SolverState)
13313   for (;;) {
13314     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
13315     tag = p.first;
13316     if (!p.second) goto handle_unusual;
13317     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
13318       // optional int32 iter = 1;
13319       case 1: {
13320         if (tag == 8) {
13321           set_has_iter();
13322           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13323                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
13324                  input, &iter_)));
13325         } else {
13326           goto handle_unusual;
13327         }
13328         if (input->ExpectTag(18)) goto parse_learned_net;
13329         break;
13330       }
13331
13332       // optional string learned_net = 2;
13333       case 2: {
13334         if (tag == 18) {
13335          parse_learned_net:
13336           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
13337                 input, this->mutable_learned_net()));
13338           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13339             this->learned_net().data(), this->learned_net().length(),
13340             ::google::protobuf::internal::WireFormat::PARSE,
13341             "opencv_caffe.SolverState.learned_net");
13342         } else {
13343           goto handle_unusual;
13344         }
13345         if (input->ExpectTag(26)) goto parse_history;
13346         break;
13347       }
13348
13349       // repeated .opencv_caffe.BlobProto history = 3;
13350       case 3: {
13351         if (tag == 26) {
13352          parse_history:
13353           DO_(input->IncrementRecursionDepth());
13354          parse_loop_history:
13355           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
13356                 input, add_history()));
13357         } else {
13358           goto handle_unusual;
13359         }
13360         if (input->ExpectTag(26)) goto parse_loop_history;
13361         input->UnsafeDecrementRecursionDepth();
13362         if (input->ExpectTag(32)) goto parse_current_step;
13363         break;
13364       }
13365
13366       // optional int32 current_step = 4 [default = 0];
13367       case 4: {
13368         if (tag == 32) {
13369          parse_current_step:
13370           set_has_current_step();
13371           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13372                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
13373                  input, &current_step_)));
13374         } else {
13375           goto handle_unusual;
13376         }
13377         if (input->ExpectAtEnd()) goto success;
13378         break;
13379       }
13380
13381       default: {
13382       handle_unusual:
13383         if (tag == 0 ||
13384             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
13385             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
13386           goto success;
13387         }
13388         DO_(::google::protobuf::internal::WireFormat::SkipField(
13389               input, tag, mutable_unknown_fields()));
13390         break;
13391       }
13392     }
13393   }
13394 success:
13395   // @@protoc_insertion_point(parse_success:opencv_caffe.SolverState)
13396   return true;
13397 failure:
13398   // @@protoc_insertion_point(parse_failure:opencv_caffe.SolverState)
13399   return false;
13400 #undef DO_
13401 }
13402
13403 void SolverState::SerializeWithCachedSizes(
13404     ::google::protobuf::io::CodedOutputStream* output) const {
13405   // @@protoc_insertion_point(serialize_start:opencv_caffe.SolverState)
13406   // optional int32 iter = 1;
13407   if (has_iter()) {
13408     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->iter(), output);
13409   }
13410
13411   // optional string learned_net = 2;
13412   if (has_learned_net()) {
13413     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13414       this->learned_net().data(), this->learned_net().length(),
13415       ::google::protobuf::internal::WireFormat::SERIALIZE,
13416       "opencv_caffe.SolverState.learned_net");
13417     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
13418       2, this->learned_net(), output);
13419   }
13420
13421   // repeated .opencv_caffe.BlobProto history = 3;
13422   for (unsigned int i = 0, n = this->history_size(); i < n; i++) {
13423     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
13424       3, this->history(i), output);
13425   }
13426
13427   // optional int32 current_step = 4 [default = 0];
13428   if (has_current_step()) {
13429     ::google::protobuf::internal::WireFormatLite::WriteInt32(4, this->current_step(), output);
13430   }
13431
13432   if (_internal_metadata_.have_unknown_fields()) {
13433     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
13434         unknown_fields(), output);
13435   }
13436   // @@protoc_insertion_point(serialize_end:opencv_caffe.SolverState)
13437 }
13438
13439 ::google::protobuf::uint8* SolverState::InternalSerializeWithCachedSizesToArray(
13440     bool deterministic, ::google::protobuf::uint8* target) const {
13441   (void)deterministic; // Unused
13442   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SolverState)
13443   // optional int32 iter = 1;
13444   if (has_iter()) {
13445     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->iter(), target);
13446   }
13447
13448   // optional string learned_net = 2;
13449   if (has_learned_net()) {
13450     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13451       this->learned_net().data(), this->learned_net().length(),
13452       ::google::protobuf::internal::WireFormat::SERIALIZE,
13453       "opencv_caffe.SolverState.learned_net");
13454     target =
13455       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
13456         2, this->learned_net(), target);
13457   }
13458
13459   // repeated .opencv_caffe.BlobProto history = 3;
13460   for (unsigned int i = 0, n = this->history_size(); i < n; i++) {
13461     target = ::google::protobuf::internal::WireFormatLite::
13462       InternalWriteMessageNoVirtualToArray(
13463         3, this->history(i), false, target);
13464   }
13465
13466   // optional int32 current_step = 4 [default = 0];
13467   if (has_current_step()) {
13468     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(4, this->current_step(), target);
13469   }
13470
13471   if (_internal_metadata_.have_unknown_fields()) {
13472     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
13473         unknown_fields(), target);
13474   }
13475   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SolverState)
13476   return target;
13477 }
13478
13479 size_t SolverState::ByteSizeLong() const {
13480 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SolverState)
13481   size_t total_size = 0;
13482
13483   if (_has_bits_[0 / 32] & 11u) {
13484     // optional int32 iter = 1;
13485     if (has_iter()) {
13486       total_size += 1 +
13487         ::google::protobuf::internal::WireFormatLite::Int32Size(
13488           this->iter());
13489     }
13490
13491     // optional string learned_net = 2;
13492     if (has_learned_net()) {
13493       total_size += 1 +
13494         ::google::protobuf::internal::WireFormatLite::StringSize(
13495           this->learned_net());
13496     }
13497
13498     // optional int32 current_step = 4 [default = 0];
13499     if (has_current_step()) {
13500       total_size += 1 +
13501         ::google::protobuf::internal::WireFormatLite::Int32Size(
13502           this->current_step());
13503     }
13504
13505   }
13506   // repeated .opencv_caffe.BlobProto history = 3;
13507   {
13508     unsigned int count = this->history_size();
13509     total_size += 1UL * count;
13510     for (unsigned int i = 0; i < count; i++) {
13511       total_size +=
13512         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
13513           this->history(i));
13514     }
13515   }
13516
13517   if (_internal_metadata_.have_unknown_fields()) {
13518     total_size +=
13519       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
13520         unknown_fields());
13521   }
13522   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
13523   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
13524   _cached_size_ = cached_size;
13525   GOOGLE_SAFE_CONCURRENT_WRITES_END();
13526   return total_size;
13527 }
13528
13529 void SolverState::MergeFrom(const ::google::protobuf::Message& from) {
13530 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SolverState)
13531   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
13532   const SolverState* source =
13533       ::google::protobuf::internal::DynamicCastToGenerated<const SolverState>(
13534           &from);
13535   if (source == NULL) {
13536   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SolverState)
13537     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
13538   } else {
13539   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SolverState)
13540     UnsafeMergeFrom(*source);
13541   }
13542 }
13543
13544 void SolverState::MergeFrom(const SolverState& from) {
13545 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SolverState)
13546   if (GOOGLE_PREDICT_TRUE(&from != this)) {
13547     UnsafeMergeFrom(from);
13548   } else {
13549     MergeFromFail(__LINE__);
13550   }
13551 }
13552
13553 void SolverState::UnsafeMergeFrom(const SolverState& from) {
13554   GOOGLE_DCHECK(&from != this);
13555   history_.MergeFrom(from.history_);
13556   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
13557     if (from.has_iter()) {
13558       set_iter(from.iter());
13559     }
13560     if (from.has_learned_net()) {
13561       set_has_learned_net();
13562       learned_net_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.learned_net_);
13563     }
13564     if (from.has_current_step()) {
13565       set_current_step(from.current_step());
13566     }
13567   }
13568   if (from._internal_metadata_.have_unknown_fields()) {
13569     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
13570       from.unknown_fields(), &_internal_metadata_);
13571   }
13572 }
13573
13574 void SolverState::CopyFrom(const ::google::protobuf::Message& from) {
13575 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SolverState)
13576   if (&from == this) return;
13577   Clear();
13578   MergeFrom(from);
13579 }
13580
13581 void SolverState::CopyFrom(const SolverState& from) {
13582 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SolverState)
13583   if (&from == this) return;
13584   Clear();
13585   UnsafeMergeFrom(from);
13586 }
13587
13588 bool SolverState::IsInitialized() const {
13589
13590   return true;
13591 }
13592
13593 void SolverState::Swap(SolverState* other) {
13594   if (other == this) return;
13595   InternalSwap(other);
13596 }
13597 void SolverState::InternalSwap(SolverState* other) {
13598   std::swap(iter_, other->iter_);
13599   learned_net_.Swap(&other->learned_net_);
13600   history_.UnsafeArenaSwap(&other->history_);
13601   std::swap(current_step_, other->current_step_);
13602   std::swap(_has_bits_[0], other->_has_bits_[0]);
13603   _internal_metadata_.Swap(&other->_internal_metadata_);
13604   std::swap(_cached_size_, other->_cached_size_);
13605 }
13606
13607 ::google::protobuf::Metadata SolverState::GetMetadata() const {
13608   protobuf_AssignDescriptorsOnce();
13609   ::google::protobuf::Metadata metadata;
13610   metadata.descriptor = SolverState_descriptor_;
13611   metadata.reflection = SolverState_reflection_;
13612   return metadata;
13613 }
13614
13615 #if PROTOBUF_INLINE_NOT_IN_HEADERS
13616 // SolverState
13617
13618 // optional int32 iter = 1;
13619 bool SolverState::has_iter() const {
13620   return (_has_bits_[0] & 0x00000001u) != 0;
13621 }
13622 void SolverState::set_has_iter() {
13623   _has_bits_[0] |= 0x00000001u;
13624 }
13625 void SolverState::clear_has_iter() {
13626   _has_bits_[0] &= ~0x00000001u;
13627 }
13628 void SolverState::clear_iter() {
13629   iter_ = 0;
13630   clear_has_iter();
13631 }
13632 ::google::protobuf::int32 SolverState::iter() const {
13633   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.iter)
13634   return iter_;
13635 }
13636 void SolverState::set_iter(::google::protobuf::int32 value) {
13637   set_has_iter();
13638   iter_ = value;
13639   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.iter)
13640 }
13641
13642 // optional string learned_net = 2;
13643 bool SolverState::has_learned_net() const {
13644   return (_has_bits_[0] & 0x00000002u) != 0;
13645 }
13646 void SolverState::set_has_learned_net() {
13647   _has_bits_[0] |= 0x00000002u;
13648 }
13649 void SolverState::clear_has_learned_net() {
13650   _has_bits_[0] &= ~0x00000002u;
13651 }
13652 void SolverState::clear_learned_net() {
13653   learned_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13654   clear_has_learned_net();
13655 }
13656 const ::std::string& SolverState::learned_net() const {
13657   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.learned_net)
13658   return learned_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13659 }
13660 void SolverState::set_learned_net(const ::std::string& value) {
13661   set_has_learned_net();
13662   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
13663   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.learned_net)
13664 }
13665 void SolverState::set_learned_net(const char* value) {
13666   set_has_learned_net();
13667   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
13668   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverState.learned_net)
13669 }
13670 void SolverState::set_learned_net(const char* value, size_t size) {
13671   set_has_learned_net();
13672   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
13673       ::std::string(reinterpret_cast<const char*>(value), size));
13674   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverState.learned_net)
13675 }
13676 ::std::string* SolverState::mutable_learned_net() {
13677   set_has_learned_net();
13678   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.learned_net)
13679   return learned_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13680 }
13681 ::std::string* SolverState::release_learned_net() {
13682   // @@protoc_insertion_point(field_release:opencv_caffe.SolverState.learned_net)
13683   clear_has_learned_net();
13684   return learned_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13685 }
13686 void SolverState::set_allocated_learned_net(::std::string* learned_net) {
13687   if (learned_net != NULL) {
13688     set_has_learned_net();
13689   } else {
13690     clear_has_learned_net();
13691   }
13692   learned_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), learned_net);
13693   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverState.learned_net)
13694 }
13695
13696 // repeated .opencv_caffe.BlobProto history = 3;
13697 int SolverState::history_size() const {
13698   return history_.size();
13699 }
13700 void SolverState::clear_history() {
13701   history_.Clear();
13702 }
13703 const ::opencv_caffe::BlobProto& SolverState::history(int index) const {
13704   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.history)
13705   return history_.Get(index);
13706 }
13707 ::opencv_caffe::BlobProto* SolverState::mutable_history(int index) {
13708   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.history)
13709   return history_.Mutable(index);
13710 }
13711 ::opencv_caffe::BlobProto* SolverState::add_history() {
13712   // @@protoc_insertion_point(field_add:opencv_caffe.SolverState.history)
13713   return history_.Add();
13714 }
13715 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
13716 SolverState::mutable_history() {
13717   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverState.history)
13718   return &history_;
13719 }
13720 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
13721 SolverState::history() const {
13722   // @@protoc_insertion_point(field_list:opencv_caffe.SolverState.history)
13723   return history_;
13724 }
13725
13726 // optional int32 current_step = 4 [default = 0];
13727 bool SolverState::has_current_step() const {
13728   return (_has_bits_[0] & 0x00000008u) != 0;
13729 }
13730 void SolverState::set_has_current_step() {
13731   _has_bits_[0] |= 0x00000008u;
13732 }
13733 void SolverState::clear_has_current_step() {
13734   _has_bits_[0] &= ~0x00000008u;
13735 }
13736 void SolverState::clear_current_step() {
13737   current_step_ = 0;
13738   clear_has_current_step();
13739 }
13740 ::google::protobuf::int32 SolverState::current_step() const {
13741   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.current_step)
13742   return current_step_;
13743 }
13744 void SolverState::set_current_step(::google::protobuf::int32 value) {
13745   set_has_current_step();
13746   current_step_ = value;
13747   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.current_step)
13748 }
13749
13750 inline const SolverState* SolverState::internal_default_instance() {
13751   return &SolverState_default_instance_.get();
13752 }
13753 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
13754
13755 // ===================================================================
13756
13757 #if !defined(_MSC_VER) || _MSC_VER >= 1900
13758 const int NetState::kPhaseFieldNumber;
13759 const int NetState::kLevelFieldNumber;
13760 const int NetState::kStageFieldNumber;
13761 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
13762
13763 NetState::NetState()
13764   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
13765   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13766   SharedCtor();
13767   // @@protoc_insertion_point(constructor:opencv_caffe.NetState)
13768 }
13769
13770 void NetState::InitAsDefaultInstance() {
13771 }
13772
13773 NetState::NetState(const NetState& from)
13774   : ::google::protobuf::Message(),
13775     _internal_metadata_(NULL) {
13776   SharedCtor();
13777   UnsafeMergeFrom(from);
13778   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NetState)
13779 }
13780
13781 void NetState::SharedCtor() {
13782   _cached_size_ = 0;
13783   level_ = 0;
13784   phase_ = 1;
13785 }
13786
13787 NetState::~NetState() {
13788   // @@protoc_insertion_point(destructor:opencv_caffe.NetState)
13789   SharedDtor();
13790 }
13791
13792 void NetState::SharedDtor() {
13793 }
13794
13795 void NetState::SetCachedSize(int size) const {
13796   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
13797   _cached_size_ = size;
13798   GOOGLE_SAFE_CONCURRENT_WRITES_END();
13799 }
13800 const ::google::protobuf::Descriptor* NetState::descriptor() {
13801   protobuf_AssignDescriptorsOnce();
13802   return NetState_descriptor_;
13803 }
13804
13805 const NetState& NetState::default_instance() {
13806   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
13807   return *internal_default_instance();
13808 }
13809
13810 ::google::protobuf::internal::ExplicitlyConstructed<NetState> NetState_default_instance_;
13811
13812 NetState* NetState::New(::google::protobuf::Arena* arena) const {
13813   NetState* n = new NetState;
13814   if (arena != NULL) {
13815     arena->Own(n);
13816   }
13817   return n;
13818 }
13819
13820 void NetState::Clear() {
13821 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NetState)
13822   if (_has_bits_[0 / 32] & 3u) {
13823     phase_ = 1;
13824     level_ = 0;
13825   }
13826   stage_.Clear();
13827   _has_bits_.Clear();
13828   if (_internal_metadata_.have_unknown_fields()) {
13829     mutable_unknown_fields()->Clear();
13830   }
13831 }
13832
13833 bool NetState::MergePartialFromCodedStream(
13834     ::google::protobuf::io::CodedInputStream* input) {
13835 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
13836   ::google::protobuf::uint32 tag;
13837   // @@protoc_insertion_point(parse_start:opencv_caffe.NetState)
13838   for (;;) {
13839     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
13840     tag = p.first;
13841     if (!p.second) goto handle_unusual;
13842     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
13843       // optional .opencv_caffe.Phase phase = 1 [default = TEST];
13844       case 1: {
13845         if (tag == 8) {
13846           int value;
13847           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13848                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
13849                  input, &value)));
13850           if (::opencv_caffe::Phase_IsValid(value)) {
13851             set_phase(static_cast< ::opencv_caffe::Phase >(value));
13852           } else {
13853             mutable_unknown_fields()->AddVarint(1, value);
13854           }
13855         } else {
13856           goto handle_unusual;
13857         }
13858         if (input->ExpectTag(16)) goto parse_level;
13859         break;
13860       }
13861
13862       // optional int32 level = 2 [default = 0];
13863       case 2: {
13864         if (tag == 16) {
13865          parse_level:
13866           set_has_level();
13867           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
13868                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
13869                  input, &level_)));
13870         } else {
13871           goto handle_unusual;
13872         }
13873         if (input->ExpectTag(26)) goto parse_stage;
13874         break;
13875       }
13876
13877       // repeated string stage = 3;
13878       case 3: {
13879         if (tag == 26) {
13880          parse_stage:
13881           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
13882                 input, this->add_stage()));
13883           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13884             this->stage(this->stage_size() - 1).data(),
13885             this->stage(this->stage_size() - 1).length(),
13886             ::google::protobuf::internal::WireFormat::PARSE,
13887             "opencv_caffe.NetState.stage");
13888         } else {
13889           goto handle_unusual;
13890         }
13891         if (input->ExpectTag(26)) goto parse_stage;
13892         if (input->ExpectAtEnd()) goto success;
13893         break;
13894       }
13895
13896       default: {
13897       handle_unusual:
13898         if (tag == 0 ||
13899             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
13900             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
13901           goto success;
13902         }
13903         DO_(::google::protobuf::internal::WireFormat::SkipField(
13904               input, tag, mutable_unknown_fields()));
13905         break;
13906       }
13907     }
13908   }
13909 success:
13910   // @@protoc_insertion_point(parse_success:opencv_caffe.NetState)
13911   return true;
13912 failure:
13913   // @@protoc_insertion_point(parse_failure:opencv_caffe.NetState)
13914   return false;
13915 #undef DO_
13916 }
13917
13918 void NetState::SerializeWithCachedSizes(
13919     ::google::protobuf::io::CodedOutputStream* output) const {
13920   // @@protoc_insertion_point(serialize_start:opencv_caffe.NetState)
13921   // optional .opencv_caffe.Phase phase = 1 [default = TEST];
13922   if (has_phase()) {
13923     ::google::protobuf::internal::WireFormatLite::WriteEnum(
13924       1, this->phase(), output);
13925   }
13926
13927   // optional int32 level = 2 [default = 0];
13928   if (has_level()) {
13929     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->level(), output);
13930   }
13931
13932   // repeated string stage = 3;
13933   for (int i = 0; i < this->stage_size(); i++) {
13934     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13935       this->stage(i).data(), this->stage(i).length(),
13936       ::google::protobuf::internal::WireFormat::SERIALIZE,
13937       "opencv_caffe.NetState.stage");
13938     ::google::protobuf::internal::WireFormatLite::WriteString(
13939       3, this->stage(i), output);
13940   }
13941
13942   if (_internal_metadata_.have_unknown_fields()) {
13943     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
13944         unknown_fields(), output);
13945   }
13946   // @@protoc_insertion_point(serialize_end:opencv_caffe.NetState)
13947 }
13948
13949 ::google::protobuf::uint8* NetState::InternalSerializeWithCachedSizesToArray(
13950     bool deterministic, ::google::protobuf::uint8* target) const {
13951   (void)deterministic; // Unused
13952   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NetState)
13953   // optional .opencv_caffe.Phase phase = 1 [default = TEST];
13954   if (has_phase()) {
13955     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
13956       1, this->phase(), target);
13957   }
13958
13959   // optional int32 level = 2 [default = 0];
13960   if (has_level()) {
13961     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->level(), target);
13962   }
13963
13964   // repeated string stage = 3;
13965   for (int i = 0; i < this->stage_size(); i++) {
13966     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
13967       this->stage(i).data(), this->stage(i).length(),
13968       ::google::protobuf::internal::WireFormat::SERIALIZE,
13969       "opencv_caffe.NetState.stage");
13970     target = ::google::protobuf::internal::WireFormatLite::
13971       WriteStringToArray(3, this->stage(i), target);
13972   }
13973
13974   if (_internal_metadata_.have_unknown_fields()) {
13975     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
13976         unknown_fields(), target);
13977   }
13978   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NetState)
13979   return target;
13980 }
13981
13982 size_t NetState::ByteSizeLong() const {
13983 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NetState)
13984   size_t total_size = 0;
13985
13986   if (_has_bits_[0 / 32] & 3u) {
13987     // optional .opencv_caffe.Phase phase = 1 [default = TEST];
13988     if (has_phase()) {
13989       total_size += 1 +
13990         ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase());
13991     }
13992
13993     // optional int32 level = 2 [default = 0];
13994     if (has_level()) {
13995       total_size += 1 +
13996         ::google::protobuf::internal::WireFormatLite::Int32Size(
13997           this->level());
13998     }
13999
14000   }
14001   // repeated string stage = 3;
14002   total_size += 1 *
14003       ::google::protobuf::internal::FromIntSize(this->stage_size());
14004   for (int i = 0; i < this->stage_size(); i++) {
14005     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
14006       this->stage(i));
14007   }
14008
14009   if (_internal_metadata_.have_unknown_fields()) {
14010     total_size +=
14011       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
14012         unknown_fields());
14013   }
14014   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
14015   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14016   _cached_size_ = cached_size;
14017   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14018   return total_size;
14019 }
14020
14021 void NetState::MergeFrom(const ::google::protobuf::Message& from) {
14022 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NetState)
14023   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
14024   const NetState* source =
14025       ::google::protobuf::internal::DynamicCastToGenerated<const NetState>(
14026           &from);
14027   if (source == NULL) {
14028   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NetState)
14029     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
14030   } else {
14031   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NetState)
14032     UnsafeMergeFrom(*source);
14033   }
14034 }
14035
14036 void NetState::MergeFrom(const NetState& from) {
14037 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NetState)
14038   if (GOOGLE_PREDICT_TRUE(&from != this)) {
14039     UnsafeMergeFrom(from);
14040   } else {
14041     MergeFromFail(__LINE__);
14042   }
14043 }
14044
14045 void NetState::UnsafeMergeFrom(const NetState& from) {
14046   GOOGLE_DCHECK(&from != this);
14047   stage_.UnsafeMergeFrom(from.stage_);
14048   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
14049     if (from.has_phase()) {
14050       set_phase(from.phase());
14051     }
14052     if (from.has_level()) {
14053       set_level(from.level());
14054     }
14055   }
14056   if (from._internal_metadata_.have_unknown_fields()) {
14057     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
14058       from.unknown_fields(), &_internal_metadata_);
14059   }
14060 }
14061
14062 void NetState::CopyFrom(const ::google::protobuf::Message& from) {
14063 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NetState)
14064   if (&from == this) return;
14065   Clear();
14066   MergeFrom(from);
14067 }
14068
14069 void NetState::CopyFrom(const NetState& from) {
14070 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NetState)
14071   if (&from == this) return;
14072   Clear();
14073   UnsafeMergeFrom(from);
14074 }
14075
14076 bool NetState::IsInitialized() const {
14077
14078   return true;
14079 }
14080
14081 void NetState::Swap(NetState* other) {
14082   if (other == this) return;
14083   InternalSwap(other);
14084 }
14085 void NetState::InternalSwap(NetState* other) {
14086   std::swap(phase_, other->phase_);
14087   std::swap(level_, other->level_);
14088   stage_.UnsafeArenaSwap(&other->stage_);
14089   std::swap(_has_bits_[0], other->_has_bits_[0]);
14090   _internal_metadata_.Swap(&other->_internal_metadata_);
14091   std::swap(_cached_size_, other->_cached_size_);
14092 }
14093
14094 ::google::protobuf::Metadata NetState::GetMetadata() const {
14095   protobuf_AssignDescriptorsOnce();
14096   ::google::protobuf::Metadata metadata;
14097   metadata.descriptor = NetState_descriptor_;
14098   metadata.reflection = NetState_reflection_;
14099   return metadata;
14100 }
14101
14102 #if PROTOBUF_INLINE_NOT_IN_HEADERS
14103 // NetState
14104
14105 // optional .opencv_caffe.Phase phase = 1 [default = TEST];
14106 bool NetState::has_phase() const {
14107   return (_has_bits_[0] & 0x00000001u) != 0;
14108 }
14109 void NetState::set_has_phase() {
14110   _has_bits_[0] |= 0x00000001u;
14111 }
14112 void NetState::clear_has_phase() {
14113   _has_bits_[0] &= ~0x00000001u;
14114 }
14115 void NetState::clear_phase() {
14116   phase_ = 1;
14117   clear_has_phase();
14118 }
14119 ::opencv_caffe::Phase NetState::phase() const {
14120   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.phase)
14121   return static_cast< ::opencv_caffe::Phase >(phase_);
14122 }
14123 void NetState::set_phase(::opencv_caffe::Phase value) {
14124   assert(::opencv_caffe::Phase_IsValid(value));
14125   set_has_phase();
14126   phase_ = value;
14127   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.phase)
14128 }
14129
14130 // optional int32 level = 2 [default = 0];
14131 bool NetState::has_level() const {
14132   return (_has_bits_[0] & 0x00000002u) != 0;
14133 }
14134 void NetState::set_has_level() {
14135   _has_bits_[0] |= 0x00000002u;
14136 }
14137 void NetState::clear_has_level() {
14138   _has_bits_[0] &= ~0x00000002u;
14139 }
14140 void NetState::clear_level() {
14141   level_ = 0;
14142   clear_has_level();
14143 }
14144 ::google::protobuf::int32 NetState::level() const {
14145   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.level)
14146   return level_;
14147 }
14148 void NetState::set_level(::google::protobuf::int32 value) {
14149   set_has_level();
14150   level_ = value;
14151   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.level)
14152 }
14153
14154 // repeated string stage = 3;
14155 int NetState::stage_size() const {
14156   return stage_.size();
14157 }
14158 void NetState::clear_stage() {
14159   stage_.Clear();
14160 }
14161 const ::std::string& NetState::stage(int index) const {
14162   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.stage)
14163   return stage_.Get(index);
14164 }
14165 ::std::string* NetState::mutable_stage(int index) {
14166   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetState.stage)
14167   return stage_.Mutable(index);
14168 }
14169 void NetState::set_stage(int index, const ::std::string& value) {
14170   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.stage)
14171   stage_.Mutable(index)->assign(value);
14172 }
14173 void NetState::set_stage(int index, const char* value) {
14174   stage_.Mutable(index)->assign(value);
14175   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetState.stage)
14176 }
14177 void NetState::set_stage(int index, const char* value, size_t size) {
14178   stage_.Mutable(index)->assign(
14179     reinterpret_cast<const char*>(value), size);
14180   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetState.stage)
14181 }
14182 ::std::string* NetState::add_stage() {
14183   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetState.stage)
14184   return stage_.Add();
14185 }
14186 void NetState::add_stage(const ::std::string& value) {
14187   stage_.Add()->assign(value);
14188   // @@protoc_insertion_point(field_add:opencv_caffe.NetState.stage)
14189 }
14190 void NetState::add_stage(const char* value) {
14191   stage_.Add()->assign(value);
14192   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetState.stage)
14193 }
14194 void NetState::add_stage(const char* value, size_t size) {
14195   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
14196   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetState.stage)
14197 }
14198 const ::google::protobuf::RepeatedPtrField< ::std::string>&
14199 NetState::stage() const {
14200   // @@protoc_insertion_point(field_list:opencv_caffe.NetState.stage)
14201   return stage_;
14202 }
14203 ::google::protobuf::RepeatedPtrField< ::std::string>*
14204 NetState::mutable_stage() {
14205   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetState.stage)
14206   return &stage_;
14207 }
14208
14209 inline const NetState* NetState::internal_default_instance() {
14210   return &NetState_default_instance_.get();
14211 }
14212 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
14213
14214 // ===================================================================
14215
14216 #if !defined(_MSC_VER) || _MSC_VER >= 1900
14217 const int NetStateRule::kPhaseFieldNumber;
14218 const int NetStateRule::kMinLevelFieldNumber;
14219 const int NetStateRule::kMaxLevelFieldNumber;
14220 const int NetStateRule::kStageFieldNumber;
14221 const int NetStateRule::kNotStageFieldNumber;
14222 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
14223
14224 NetStateRule::NetStateRule()
14225   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
14226   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14227   SharedCtor();
14228   // @@protoc_insertion_point(constructor:opencv_caffe.NetStateRule)
14229 }
14230
14231 void NetStateRule::InitAsDefaultInstance() {
14232 }
14233
14234 NetStateRule::NetStateRule(const NetStateRule& from)
14235   : ::google::protobuf::Message(),
14236     _internal_metadata_(NULL) {
14237   SharedCtor();
14238   UnsafeMergeFrom(from);
14239   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NetStateRule)
14240 }
14241
14242 void NetStateRule::SharedCtor() {
14243   _cached_size_ = 0;
14244   ::memset(&phase_, 0, reinterpret_cast<char*>(&max_level_) -
14245     reinterpret_cast<char*>(&phase_) + sizeof(max_level_));
14246 }
14247
14248 NetStateRule::~NetStateRule() {
14249   // @@protoc_insertion_point(destructor:opencv_caffe.NetStateRule)
14250   SharedDtor();
14251 }
14252
14253 void NetStateRule::SharedDtor() {
14254 }
14255
14256 void NetStateRule::SetCachedSize(int size) const {
14257   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14258   _cached_size_ = size;
14259   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14260 }
14261 const ::google::protobuf::Descriptor* NetStateRule::descriptor() {
14262   protobuf_AssignDescriptorsOnce();
14263   return NetStateRule_descriptor_;
14264 }
14265
14266 const NetStateRule& NetStateRule::default_instance() {
14267   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14268   return *internal_default_instance();
14269 }
14270
14271 ::google::protobuf::internal::ExplicitlyConstructed<NetStateRule> NetStateRule_default_instance_;
14272
14273 NetStateRule* NetStateRule::New(::google::protobuf::Arena* arena) const {
14274   NetStateRule* n = new NetStateRule;
14275   if (arena != NULL) {
14276     arena->Own(n);
14277   }
14278   return n;
14279 }
14280
14281 void NetStateRule::Clear() {
14282 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NetStateRule)
14283 #if defined(__clang__)
14284 #define ZR_HELPER_(f) \
14285   _Pragma("clang diagnostic push") \
14286   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
14287   __builtin_offsetof(NetStateRule, f) \
14288   _Pragma("clang diagnostic pop")
14289 #else
14290 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
14291   &reinterpret_cast<NetStateRule*>(16)->f)
14292 #endif
14293
14294 #define ZR_(first, last) do {\
14295   ::memset(&(first), 0,\
14296            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
14297 } while (0)
14298
14299   ZR_(phase_, max_level_);
14300
14301 #undef ZR_HELPER_
14302 #undef ZR_
14303
14304   stage_.Clear();
14305   not_stage_.Clear();
14306   _has_bits_.Clear();
14307   if (_internal_metadata_.have_unknown_fields()) {
14308     mutable_unknown_fields()->Clear();
14309   }
14310 }
14311
14312 bool NetStateRule::MergePartialFromCodedStream(
14313     ::google::protobuf::io::CodedInputStream* input) {
14314 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
14315   ::google::protobuf::uint32 tag;
14316   // @@protoc_insertion_point(parse_start:opencv_caffe.NetStateRule)
14317   for (;;) {
14318     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
14319     tag = p.first;
14320     if (!p.second) goto handle_unusual;
14321     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
14322       // optional .opencv_caffe.Phase phase = 1;
14323       case 1: {
14324         if (tag == 8) {
14325           int value;
14326           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
14327                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
14328                  input, &value)));
14329           if (::opencv_caffe::Phase_IsValid(value)) {
14330             set_phase(static_cast< ::opencv_caffe::Phase >(value));
14331           } else {
14332             mutable_unknown_fields()->AddVarint(1, value);
14333           }
14334         } else {
14335           goto handle_unusual;
14336         }
14337         if (input->ExpectTag(16)) goto parse_min_level;
14338         break;
14339       }
14340
14341       // optional int32 min_level = 2;
14342       case 2: {
14343         if (tag == 16) {
14344          parse_min_level:
14345           set_has_min_level();
14346           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
14347                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
14348                  input, &min_level_)));
14349         } else {
14350           goto handle_unusual;
14351         }
14352         if (input->ExpectTag(24)) goto parse_max_level;
14353         break;
14354       }
14355
14356       // optional int32 max_level = 3;
14357       case 3: {
14358         if (tag == 24) {
14359          parse_max_level:
14360           set_has_max_level();
14361           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
14362                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
14363                  input, &max_level_)));
14364         } else {
14365           goto handle_unusual;
14366         }
14367         if (input->ExpectTag(34)) goto parse_stage;
14368         break;
14369       }
14370
14371       // repeated string stage = 4;
14372       case 4: {
14373         if (tag == 34) {
14374          parse_stage:
14375           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
14376                 input, this->add_stage()));
14377           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14378             this->stage(this->stage_size() - 1).data(),
14379             this->stage(this->stage_size() - 1).length(),
14380             ::google::protobuf::internal::WireFormat::PARSE,
14381             "opencv_caffe.NetStateRule.stage");
14382         } else {
14383           goto handle_unusual;
14384         }
14385         if (input->ExpectTag(34)) goto parse_stage;
14386         if (input->ExpectTag(42)) goto parse_not_stage;
14387         break;
14388       }
14389
14390       // repeated string not_stage = 5;
14391       case 5: {
14392         if (tag == 42) {
14393          parse_not_stage:
14394           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
14395                 input, this->add_not_stage()));
14396           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14397             this->not_stage(this->not_stage_size() - 1).data(),
14398             this->not_stage(this->not_stage_size() - 1).length(),
14399             ::google::protobuf::internal::WireFormat::PARSE,
14400             "opencv_caffe.NetStateRule.not_stage");
14401         } else {
14402           goto handle_unusual;
14403         }
14404         if (input->ExpectTag(42)) goto parse_not_stage;
14405         if (input->ExpectAtEnd()) goto success;
14406         break;
14407       }
14408
14409       default: {
14410       handle_unusual:
14411         if (tag == 0 ||
14412             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
14413             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
14414           goto success;
14415         }
14416         DO_(::google::protobuf::internal::WireFormat::SkipField(
14417               input, tag, mutable_unknown_fields()));
14418         break;
14419       }
14420     }
14421   }
14422 success:
14423   // @@protoc_insertion_point(parse_success:opencv_caffe.NetStateRule)
14424   return true;
14425 failure:
14426   // @@protoc_insertion_point(parse_failure:opencv_caffe.NetStateRule)
14427   return false;
14428 #undef DO_
14429 }
14430
14431 void NetStateRule::SerializeWithCachedSizes(
14432     ::google::protobuf::io::CodedOutputStream* output) const {
14433   // @@protoc_insertion_point(serialize_start:opencv_caffe.NetStateRule)
14434   // optional .opencv_caffe.Phase phase = 1;
14435   if (has_phase()) {
14436     ::google::protobuf::internal::WireFormatLite::WriteEnum(
14437       1, this->phase(), output);
14438   }
14439
14440   // optional int32 min_level = 2;
14441   if (has_min_level()) {
14442     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->min_level(), output);
14443   }
14444
14445   // optional int32 max_level = 3;
14446   if (has_max_level()) {
14447     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->max_level(), output);
14448   }
14449
14450   // repeated string stage = 4;
14451   for (int i = 0; i < this->stage_size(); i++) {
14452     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14453       this->stage(i).data(), this->stage(i).length(),
14454       ::google::protobuf::internal::WireFormat::SERIALIZE,
14455       "opencv_caffe.NetStateRule.stage");
14456     ::google::protobuf::internal::WireFormatLite::WriteString(
14457       4, this->stage(i), output);
14458   }
14459
14460   // repeated string not_stage = 5;
14461   for (int i = 0; i < this->not_stage_size(); i++) {
14462     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14463       this->not_stage(i).data(), this->not_stage(i).length(),
14464       ::google::protobuf::internal::WireFormat::SERIALIZE,
14465       "opencv_caffe.NetStateRule.not_stage");
14466     ::google::protobuf::internal::WireFormatLite::WriteString(
14467       5, this->not_stage(i), output);
14468   }
14469
14470   if (_internal_metadata_.have_unknown_fields()) {
14471     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
14472         unknown_fields(), output);
14473   }
14474   // @@protoc_insertion_point(serialize_end:opencv_caffe.NetStateRule)
14475 }
14476
14477 ::google::protobuf::uint8* NetStateRule::InternalSerializeWithCachedSizesToArray(
14478     bool deterministic, ::google::protobuf::uint8* target) const {
14479   (void)deterministic; // Unused
14480   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NetStateRule)
14481   // optional .opencv_caffe.Phase phase = 1;
14482   if (has_phase()) {
14483     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
14484       1, this->phase(), target);
14485   }
14486
14487   // optional int32 min_level = 2;
14488   if (has_min_level()) {
14489     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->min_level(), target);
14490   }
14491
14492   // optional int32 max_level = 3;
14493   if (has_max_level()) {
14494     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->max_level(), target);
14495   }
14496
14497   // repeated string stage = 4;
14498   for (int i = 0; i < this->stage_size(); i++) {
14499     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14500       this->stage(i).data(), this->stage(i).length(),
14501       ::google::protobuf::internal::WireFormat::SERIALIZE,
14502       "opencv_caffe.NetStateRule.stage");
14503     target = ::google::protobuf::internal::WireFormatLite::
14504       WriteStringToArray(4, this->stage(i), target);
14505   }
14506
14507   // repeated string not_stage = 5;
14508   for (int i = 0; i < this->not_stage_size(); i++) {
14509     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14510       this->not_stage(i).data(), this->not_stage(i).length(),
14511       ::google::protobuf::internal::WireFormat::SERIALIZE,
14512       "opencv_caffe.NetStateRule.not_stage");
14513     target = ::google::protobuf::internal::WireFormatLite::
14514       WriteStringToArray(5, this->not_stage(i), target);
14515   }
14516
14517   if (_internal_metadata_.have_unknown_fields()) {
14518     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
14519         unknown_fields(), target);
14520   }
14521   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NetStateRule)
14522   return target;
14523 }
14524
14525 size_t NetStateRule::ByteSizeLong() const {
14526 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NetStateRule)
14527   size_t total_size = 0;
14528
14529   if (_has_bits_[0 / 32] & 7u) {
14530     // optional .opencv_caffe.Phase phase = 1;
14531     if (has_phase()) {
14532       total_size += 1 +
14533         ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase());
14534     }
14535
14536     // optional int32 min_level = 2;
14537     if (has_min_level()) {
14538       total_size += 1 +
14539         ::google::protobuf::internal::WireFormatLite::Int32Size(
14540           this->min_level());
14541     }
14542
14543     // optional int32 max_level = 3;
14544     if (has_max_level()) {
14545       total_size += 1 +
14546         ::google::protobuf::internal::WireFormatLite::Int32Size(
14547           this->max_level());
14548     }
14549
14550   }
14551   // repeated string stage = 4;
14552   total_size += 1 *
14553       ::google::protobuf::internal::FromIntSize(this->stage_size());
14554   for (int i = 0; i < this->stage_size(); i++) {
14555     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
14556       this->stage(i));
14557   }
14558
14559   // repeated string not_stage = 5;
14560   total_size += 1 *
14561       ::google::protobuf::internal::FromIntSize(this->not_stage_size());
14562   for (int i = 0; i < this->not_stage_size(); i++) {
14563     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
14564       this->not_stage(i));
14565   }
14566
14567   if (_internal_metadata_.have_unknown_fields()) {
14568     total_size +=
14569       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
14570         unknown_fields());
14571   }
14572   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
14573   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14574   _cached_size_ = cached_size;
14575   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14576   return total_size;
14577 }
14578
14579 void NetStateRule::MergeFrom(const ::google::protobuf::Message& from) {
14580 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NetStateRule)
14581   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
14582   const NetStateRule* source =
14583       ::google::protobuf::internal::DynamicCastToGenerated<const NetStateRule>(
14584           &from);
14585   if (source == NULL) {
14586   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NetStateRule)
14587     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
14588   } else {
14589   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NetStateRule)
14590     UnsafeMergeFrom(*source);
14591   }
14592 }
14593
14594 void NetStateRule::MergeFrom(const NetStateRule& from) {
14595 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NetStateRule)
14596   if (GOOGLE_PREDICT_TRUE(&from != this)) {
14597     UnsafeMergeFrom(from);
14598   } else {
14599     MergeFromFail(__LINE__);
14600   }
14601 }
14602
14603 void NetStateRule::UnsafeMergeFrom(const NetStateRule& from) {
14604   GOOGLE_DCHECK(&from != this);
14605   stage_.UnsafeMergeFrom(from.stage_);
14606   not_stage_.UnsafeMergeFrom(from.not_stage_);
14607   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
14608     if (from.has_phase()) {
14609       set_phase(from.phase());
14610     }
14611     if (from.has_min_level()) {
14612       set_min_level(from.min_level());
14613     }
14614     if (from.has_max_level()) {
14615       set_max_level(from.max_level());
14616     }
14617   }
14618   if (from._internal_metadata_.have_unknown_fields()) {
14619     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
14620       from.unknown_fields(), &_internal_metadata_);
14621   }
14622 }
14623
14624 void NetStateRule::CopyFrom(const ::google::protobuf::Message& from) {
14625 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NetStateRule)
14626   if (&from == this) return;
14627   Clear();
14628   MergeFrom(from);
14629 }
14630
14631 void NetStateRule::CopyFrom(const NetStateRule& from) {
14632 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NetStateRule)
14633   if (&from == this) return;
14634   Clear();
14635   UnsafeMergeFrom(from);
14636 }
14637
14638 bool NetStateRule::IsInitialized() const {
14639
14640   return true;
14641 }
14642
14643 void NetStateRule::Swap(NetStateRule* other) {
14644   if (other == this) return;
14645   InternalSwap(other);
14646 }
14647 void NetStateRule::InternalSwap(NetStateRule* other) {
14648   std::swap(phase_, other->phase_);
14649   std::swap(min_level_, other->min_level_);
14650   std::swap(max_level_, other->max_level_);
14651   stage_.UnsafeArenaSwap(&other->stage_);
14652   not_stage_.UnsafeArenaSwap(&other->not_stage_);
14653   std::swap(_has_bits_[0], other->_has_bits_[0]);
14654   _internal_metadata_.Swap(&other->_internal_metadata_);
14655   std::swap(_cached_size_, other->_cached_size_);
14656 }
14657
14658 ::google::protobuf::Metadata NetStateRule::GetMetadata() const {
14659   protobuf_AssignDescriptorsOnce();
14660   ::google::protobuf::Metadata metadata;
14661   metadata.descriptor = NetStateRule_descriptor_;
14662   metadata.reflection = NetStateRule_reflection_;
14663   return metadata;
14664 }
14665
14666 #if PROTOBUF_INLINE_NOT_IN_HEADERS
14667 // NetStateRule
14668
14669 // optional .opencv_caffe.Phase phase = 1;
14670 bool NetStateRule::has_phase() const {
14671   return (_has_bits_[0] & 0x00000001u) != 0;
14672 }
14673 void NetStateRule::set_has_phase() {
14674   _has_bits_[0] |= 0x00000001u;
14675 }
14676 void NetStateRule::clear_has_phase() {
14677   _has_bits_[0] &= ~0x00000001u;
14678 }
14679 void NetStateRule::clear_phase() {
14680   phase_ = 0;
14681   clear_has_phase();
14682 }
14683 ::opencv_caffe::Phase NetStateRule::phase() const {
14684   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.phase)
14685   return static_cast< ::opencv_caffe::Phase >(phase_);
14686 }
14687 void NetStateRule::set_phase(::opencv_caffe::Phase value) {
14688   assert(::opencv_caffe::Phase_IsValid(value));
14689   set_has_phase();
14690   phase_ = value;
14691   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.phase)
14692 }
14693
14694 // optional int32 min_level = 2;
14695 bool NetStateRule::has_min_level() const {
14696   return (_has_bits_[0] & 0x00000002u) != 0;
14697 }
14698 void NetStateRule::set_has_min_level() {
14699   _has_bits_[0] |= 0x00000002u;
14700 }
14701 void NetStateRule::clear_has_min_level() {
14702   _has_bits_[0] &= ~0x00000002u;
14703 }
14704 void NetStateRule::clear_min_level() {
14705   min_level_ = 0;
14706   clear_has_min_level();
14707 }
14708 ::google::protobuf::int32 NetStateRule::min_level() const {
14709   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.min_level)
14710   return min_level_;
14711 }
14712 void NetStateRule::set_min_level(::google::protobuf::int32 value) {
14713   set_has_min_level();
14714   min_level_ = value;
14715   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.min_level)
14716 }
14717
14718 // optional int32 max_level = 3;
14719 bool NetStateRule::has_max_level() const {
14720   return (_has_bits_[0] & 0x00000004u) != 0;
14721 }
14722 void NetStateRule::set_has_max_level() {
14723   _has_bits_[0] |= 0x00000004u;
14724 }
14725 void NetStateRule::clear_has_max_level() {
14726   _has_bits_[0] &= ~0x00000004u;
14727 }
14728 void NetStateRule::clear_max_level() {
14729   max_level_ = 0;
14730   clear_has_max_level();
14731 }
14732 ::google::protobuf::int32 NetStateRule::max_level() const {
14733   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.max_level)
14734   return max_level_;
14735 }
14736 void NetStateRule::set_max_level(::google::protobuf::int32 value) {
14737   set_has_max_level();
14738   max_level_ = value;
14739   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.max_level)
14740 }
14741
14742 // repeated string stage = 4;
14743 int NetStateRule::stage_size() const {
14744   return stage_.size();
14745 }
14746 void NetStateRule::clear_stage() {
14747   stage_.Clear();
14748 }
14749 const ::std::string& NetStateRule::stage(int index) const {
14750   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.stage)
14751   return stage_.Get(index);
14752 }
14753 ::std::string* NetStateRule::mutable_stage(int index) {
14754   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.stage)
14755   return stage_.Mutable(index);
14756 }
14757 void NetStateRule::set_stage(int index, const ::std::string& value) {
14758   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.stage)
14759   stage_.Mutable(index)->assign(value);
14760 }
14761 void NetStateRule::set_stage(int index, const char* value) {
14762   stage_.Mutable(index)->assign(value);
14763   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.stage)
14764 }
14765 void NetStateRule::set_stage(int index, const char* value, size_t size) {
14766   stage_.Mutable(index)->assign(
14767     reinterpret_cast<const char*>(value), size);
14768   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.stage)
14769 }
14770 ::std::string* NetStateRule::add_stage() {
14771   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.stage)
14772   return stage_.Add();
14773 }
14774 void NetStateRule::add_stage(const ::std::string& value) {
14775   stage_.Add()->assign(value);
14776   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.stage)
14777 }
14778 void NetStateRule::add_stage(const char* value) {
14779   stage_.Add()->assign(value);
14780   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.stage)
14781 }
14782 void NetStateRule::add_stage(const char* value, size_t size) {
14783   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
14784   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.stage)
14785 }
14786 const ::google::protobuf::RepeatedPtrField< ::std::string>&
14787 NetStateRule::stage() const {
14788   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.stage)
14789   return stage_;
14790 }
14791 ::google::protobuf::RepeatedPtrField< ::std::string>*
14792 NetStateRule::mutable_stage() {
14793   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.stage)
14794   return &stage_;
14795 }
14796
14797 // repeated string not_stage = 5;
14798 int NetStateRule::not_stage_size() const {
14799   return not_stage_.size();
14800 }
14801 void NetStateRule::clear_not_stage() {
14802   not_stage_.Clear();
14803 }
14804 const ::std::string& NetStateRule::not_stage(int index) const {
14805   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.not_stage)
14806   return not_stage_.Get(index);
14807 }
14808 ::std::string* NetStateRule::mutable_not_stage(int index) {
14809   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.not_stage)
14810   return not_stage_.Mutable(index);
14811 }
14812 void NetStateRule::set_not_stage(int index, const ::std::string& value) {
14813   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.not_stage)
14814   not_stage_.Mutable(index)->assign(value);
14815 }
14816 void NetStateRule::set_not_stage(int index, const char* value) {
14817   not_stage_.Mutable(index)->assign(value);
14818   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.not_stage)
14819 }
14820 void NetStateRule::set_not_stage(int index, const char* value, size_t size) {
14821   not_stage_.Mutable(index)->assign(
14822     reinterpret_cast<const char*>(value), size);
14823   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.not_stage)
14824 }
14825 ::std::string* NetStateRule::add_not_stage() {
14826   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.not_stage)
14827   return not_stage_.Add();
14828 }
14829 void NetStateRule::add_not_stage(const ::std::string& value) {
14830   not_stage_.Add()->assign(value);
14831   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.not_stage)
14832 }
14833 void NetStateRule::add_not_stage(const char* value) {
14834   not_stage_.Add()->assign(value);
14835   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.not_stage)
14836 }
14837 void NetStateRule::add_not_stage(const char* value, size_t size) {
14838   not_stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
14839   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.not_stage)
14840 }
14841 const ::google::protobuf::RepeatedPtrField< ::std::string>&
14842 NetStateRule::not_stage() const {
14843   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.not_stage)
14844   return not_stage_;
14845 }
14846 ::google::protobuf::RepeatedPtrField< ::std::string>*
14847 NetStateRule::mutable_not_stage() {
14848   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.not_stage)
14849   return &not_stage_;
14850 }
14851
14852 inline const NetStateRule* NetStateRule::internal_default_instance() {
14853   return &NetStateRule_default_instance_.get();
14854 }
14855 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
14856
14857 // ===================================================================
14858
14859 const ::google::protobuf::EnumDescriptor* ParamSpec_DimCheckMode_descriptor() {
14860   protobuf_AssignDescriptorsOnce();
14861   return ParamSpec_DimCheckMode_descriptor_;
14862 }
14863 bool ParamSpec_DimCheckMode_IsValid(int value) {
14864   switch (value) {
14865     case 0:
14866     case 1:
14867       return true;
14868     default:
14869       return false;
14870   }
14871 }
14872
14873 #if !defined(_MSC_VER) || _MSC_VER >= 1900
14874 const ParamSpec_DimCheckMode ParamSpec::STRICT;
14875 const ParamSpec_DimCheckMode ParamSpec::PERMISSIVE;
14876 const ParamSpec_DimCheckMode ParamSpec::DimCheckMode_MIN;
14877 const ParamSpec_DimCheckMode ParamSpec::DimCheckMode_MAX;
14878 const int ParamSpec::DimCheckMode_ARRAYSIZE;
14879 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
14880 #if !defined(_MSC_VER) || _MSC_VER >= 1900
14881 const int ParamSpec::kNameFieldNumber;
14882 const int ParamSpec::kShareModeFieldNumber;
14883 const int ParamSpec::kLrMultFieldNumber;
14884 const int ParamSpec::kDecayMultFieldNumber;
14885 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
14886
14887 ParamSpec::ParamSpec()
14888   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
14889   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14890   SharedCtor();
14891   // @@protoc_insertion_point(constructor:opencv_caffe.ParamSpec)
14892 }
14893
14894 void ParamSpec::InitAsDefaultInstance() {
14895 }
14896
14897 ParamSpec::ParamSpec(const ParamSpec& from)
14898   : ::google::protobuf::Message(),
14899     _internal_metadata_(NULL) {
14900   SharedCtor();
14901   UnsafeMergeFrom(from);
14902   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ParamSpec)
14903 }
14904
14905 void ParamSpec::SharedCtor() {
14906   _cached_size_ = 0;
14907   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14908   share_mode_ = 0;
14909   lr_mult_ = 1;
14910   decay_mult_ = 1;
14911 }
14912
14913 ParamSpec::~ParamSpec() {
14914   // @@protoc_insertion_point(destructor:opencv_caffe.ParamSpec)
14915   SharedDtor();
14916 }
14917
14918 void ParamSpec::SharedDtor() {
14919   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14920 }
14921
14922 void ParamSpec::SetCachedSize(int size) const {
14923   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
14924   _cached_size_ = size;
14925   GOOGLE_SAFE_CONCURRENT_WRITES_END();
14926 }
14927 const ::google::protobuf::Descriptor* ParamSpec::descriptor() {
14928   protobuf_AssignDescriptorsOnce();
14929   return ParamSpec_descriptor_;
14930 }
14931
14932 const ParamSpec& ParamSpec::default_instance() {
14933   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
14934   return *internal_default_instance();
14935 }
14936
14937 ::google::protobuf::internal::ExplicitlyConstructed<ParamSpec> ParamSpec_default_instance_;
14938
14939 ParamSpec* ParamSpec::New(::google::protobuf::Arena* arena) const {
14940   ParamSpec* n = new ParamSpec;
14941   if (arena != NULL) {
14942     arena->Own(n);
14943   }
14944   return n;
14945 }
14946
14947 void ParamSpec::Clear() {
14948 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ParamSpec)
14949   if (_has_bits_[0 / 32] & 15u) {
14950     if (has_name()) {
14951       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14952     }
14953     share_mode_ = 0;
14954     lr_mult_ = 1;
14955     decay_mult_ = 1;
14956   }
14957   _has_bits_.Clear();
14958   if (_internal_metadata_.have_unknown_fields()) {
14959     mutable_unknown_fields()->Clear();
14960   }
14961 }
14962
14963 bool ParamSpec::MergePartialFromCodedStream(
14964     ::google::protobuf::io::CodedInputStream* input) {
14965 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
14966   ::google::protobuf::uint32 tag;
14967   // @@protoc_insertion_point(parse_start:opencv_caffe.ParamSpec)
14968   for (;;) {
14969     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
14970     tag = p.first;
14971     if (!p.second) goto handle_unusual;
14972     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
14973       // optional string name = 1;
14974       case 1: {
14975         if (tag == 10) {
14976           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
14977                 input, this->mutable_name()));
14978           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
14979             this->name().data(), this->name().length(),
14980             ::google::protobuf::internal::WireFormat::PARSE,
14981             "opencv_caffe.ParamSpec.name");
14982         } else {
14983           goto handle_unusual;
14984         }
14985         if (input->ExpectTag(16)) goto parse_share_mode;
14986         break;
14987       }
14988
14989       // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
14990       case 2: {
14991         if (tag == 16) {
14992          parse_share_mode:
14993           int value;
14994           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
14995                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
14996                  input, &value)));
14997           if (::opencv_caffe::ParamSpec_DimCheckMode_IsValid(value)) {
14998             set_share_mode(static_cast< ::opencv_caffe::ParamSpec_DimCheckMode >(value));
14999           } else {
15000             mutable_unknown_fields()->AddVarint(2, value);
15001           }
15002         } else {
15003           goto handle_unusual;
15004         }
15005         if (input->ExpectTag(29)) goto parse_lr_mult;
15006         break;
15007       }
15008
15009       // optional float lr_mult = 3 [default = 1];
15010       case 3: {
15011         if (tag == 29) {
15012          parse_lr_mult:
15013           set_has_lr_mult();
15014           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
15015                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
15016                  input, &lr_mult_)));
15017         } else {
15018           goto handle_unusual;
15019         }
15020         if (input->ExpectTag(37)) goto parse_decay_mult;
15021         break;
15022       }
15023
15024       // optional float decay_mult = 4 [default = 1];
15025       case 4: {
15026         if (tag == 37) {
15027          parse_decay_mult:
15028           set_has_decay_mult();
15029           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
15030                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
15031                  input, &decay_mult_)));
15032         } else {
15033           goto handle_unusual;
15034         }
15035         if (input->ExpectAtEnd()) goto success;
15036         break;
15037       }
15038
15039       default: {
15040       handle_unusual:
15041         if (tag == 0 ||
15042             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
15043             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
15044           goto success;
15045         }
15046         DO_(::google::protobuf::internal::WireFormat::SkipField(
15047               input, tag, mutable_unknown_fields()));
15048         break;
15049       }
15050     }
15051   }
15052 success:
15053   // @@protoc_insertion_point(parse_success:opencv_caffe.ParamSpec)
15054   return true;
15055 failure:
15056   // @@protoc_insertion_point(parse_failure:opencv_caffe.ParamSpec)
15057   return false;
15058 #undef DO_
15059 }
15060
15061 void ParamSpec::SerializeWithCachedSizes(
15062     ::google::protobuf::io::CodedOutputStream* output) const {
15063   // @@protoc_insertion_point(serialize_start:opencv_caffe.ParamSpec)
15064   // optional string name = 1;
15065   if (has_name()) {
15066     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15067       this->name().data(), this->name().length(),
15068       ::google::protobuf::internal::WireFormat::SERIALIZE,
15069       "opencv_caffe.ParamSpec.name");
15070     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
15071       1, this->name(), output);
15072   }
15073
15074   // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15075   if (has_share_mode()) {
15076     ::google::protobuf::internal::WireFormatLite::WriteEnum(
15077       2, this->share_mode(), output);
15078   }
15079
15080   // optional float lr_mult = 3 [default = 1];
15081   if (has_lr_mult()) {
15082     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->lr_mult(), output);
15083   }
15084
15085   // optional float decay_mult = 4 [default = 1];
15086   if (has_decay_mult()) {
15087     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->decay_mult(), output);
15088   }
15089
15090   if (_internal_metadata_.have_unknown_fields()) {
15091     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
15092         unknown_fields(), output);
15093   }
15094   // @@protoc_insertion_point(serialize_end:opencv_caffe.ParamSpec)
15095 }
15096
15097 ::google::protobuf::uint8* ParamSpec::InternalSerializeWithCachedSizesToArray(
15098     bool deterministic, ::google::protobuf::uint8* target) const {
15099   (void)deterministic; // Unused
15100   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ParamSpec)
15101   // optional string name = 1;
15102   if (has_name()) {
15103     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15104       this->name().data(), this->name().length(),
15105       ::google::protobuf::internal::WireFormat::SERIALIZE,
15106       "opencv_caffe.ParamSpec.name");
15107     target =
15108       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
15109         1, this->name(), target);
15110   }
15111
15112   // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15113   if (has_share_mode()) {
15114     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
15115       2, this->share_mode(), target);
15116   }
15117
15118   // optional float lr_mult = 3 [default = 1];
15119   if (has_lr_mult()) {
15120     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->lr_mult(), target);
15121   }
15122
15123   // optional float decay_mult = 4 [default = 1];
15124   if (has_decay_mult()) {
15125     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->decay_mult(), target);
15126   }
15127
15128   if (_internal_metadata_.have_unknown_fields()) {
15129     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
15130         unknown_fields(), target);
15131   }
15132   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ParamSpec)
15133   return target;
15134 }
15135
15136 size_t ParamSpec::ByteSizeLong() const {
15137 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ParamSpec)
15138   size_t total_size = 0;
15139
15140   if (_has_bits_[0 / 32] & 15u) {
15141     // optional string name = 1;
15142     if (has_name()) {
15143       total_size += 1 +
15144         ::google::protobuf::internal::WireFormatLite::StringSize(
15145           this->name());
15146     }
15147
15148     // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15149     if (has_share_mode()) {
15150       total_size += 1 +
15151         ::google::protobuf::internal::WireFormatLite::EnumSize(this->share_mode());
15152     }
15153
15154     // optional float lr_mult = 3 [default = 1];
15155     if (has_lr_mult()) {
15156       total_size += 1 + 4;
15157     }
15158
15159     // optional float decay_mult = 4 [default = 1];
15160     if (has_decay_mult()) {
15161       total_size += 1 + 4;
15162     }
15163
15164   }
15165   if (_internal_metadata_.have_unknown_fields()) {
15166     total_size +=
15167       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
15168         unknown_fields());
15169   }
15170   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
15171   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
15172   _cached_size_ = cached_size;
15173   GOOGLE_SAFE_CONCURRENT_WRITES_END();
15174   return total_size;
15175 }
15176
15177 void ParamSpec::MergeFrom(const ::google::protobuf::Message& from) {
15178 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ParamSpec)
15179   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
15180   const ParamSpec* source =
15181       ::google::protobuf::internal::DynamicCastToGenerated<const ParamSpec>(
15182           &from);
15183   if (source == NULL) {
15184   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ParamSpec)
15185     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
15186   } else {
15187   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ParamSpec)
15188     UnsafeMergeFrom(*source);
15189   }
15190 }
15191
15192 void ParamSpec::MergeFrom(const ParamSpec& from) {
15193 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ParamSpec)
15194   if (GOOGLE_PREDICT_TRUE(&from != this)) {
15195     UnsafeMergeFrom(from);
15196   } else {
15197     MergeFromFail(__LINE__);
15198   }
15199 }
15200
15201 void ParamSpec::UnsafeMergeFrom(const ParamSpec& from) {
15202   GOOGLE_DCHECK(&from != this);
15203   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
15204     if (from.has_name()) {
15205       set_has_name();
15206       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
15207     }
15208     if (from.has_share_mode()) {
15209       set_share_mode(from.share_mode());
15210     }
15211     if (from.has_lr_mult()) {
15212       set_lr_mult(from.lr_mult());
15213     }
15214     if (from.has_decay_mult()) {
15215       set_decay_mult(from.decay_mult());
15216     }
15217   }
15218   if (from._internal_metadata_.have_unknown_fields()) {
15219     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
15220       from.unknown_fields(), &_internal_metadata_);
15221   }
15222 }
15223
15224 void ParamSpec::CopyFrom(const ::google::protobuf::Message& from) {
15225 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ParamSpec)
15226   if (&from == this) return;
15227   Clear();
15228   MergeFrom(from);
15229 }
15230
15231 void ParamSpec::CopyFrom(const ParamSpec& from) {
15232 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ParamSpec)
15233   if (&from == this) return;
15234   Clear();
15235   UnsafeMergeFrom(from);
15236 }
15237
15238 bool ParamSpec::IsInitialized() const {
15239
15240   return true;
15241 }
15242
15243 void ParamSpec::Swap(ParamSpec* other) {
15244   if (other == this) return;
15245   InternalSwap(other);
15246 }
15247 void ParamSpec::InternalSwap(ParamSpec* other) {
15248   name_.Swap(&other->name_);
15249   std::swap(share_mode_, other->share_mode_);
15250   std::swap(lr_mult_, other->lr_mult_);
15251   std::swap(decay_mult_, other->decay_mult_);
15252   std::swap(_has_bits_[0], other->_has_bits_[0]);
15253   _internal_metadata_.Swap(&other->_internal_metadata_);
15254   std::swap(_cached_size_, other->_cached_size_);
15255 }
15256
15257 ::google::protobuf::Metadata ParamSpec::GetMetadata() const {
15258   protobuf_AssignDescriptorsOnce();
15259   ::google::protobuf::Metadata metadata;
15260   metadata.descriptor = ParamSpec_descriptor_;
15261   metadata.reflection = ParamSpec_reflection_;
15262   return metadata;
15263 }
15264
15265 #if PROTOBUF_INLINE_NOT_IN_HEADERS
15266 // ParamSpec
15267
15268 // optional string name = 1;
15269 bool ParamSpec::has_name() const {
15270   return (_has_bits_[0] & 0x00000001u) != 0;
15271 }
15272 void ParamSpec::set_has_name() {
15273   _has_bits_[0] |= 0x00000001u;
15274 }
15275 void ParamSpec::clear_has_name() {
15276   _has_bits_[0] &= ~0x00000001u;
15277 }
15278 void ParamSpec::clear_name() {
15279   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15280   clear_has_name();
15281 }
15282 const ::std::string& ParamSpec::name() const {
15283   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.name)
15284   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15285 }
15286 void ParamSpec::set_name(const ::std::string& value) {
15287   set_has_name();
15288   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15289   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.name)
15290 }
15291 void ParamSpec::set_name(const char* value) {
15292   set_has_name();
15293   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15294   // @@protoc_insertion_point(field_set_char:opencv_caffe.ParamSpec.name)
15295 }
15296 void ParamSpec::set_name(const char* value, size_t size) {
15297   set_has_name();
15298   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15299       ::std::string(reinterpret_cast<const char*>(value), size));
15300   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ParamSpec.name)
15301 }
15302 ::std::string* ParamSpec::mutable_name() {
15303   set_has_name();
15304   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParamSpec.name)
15305   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15306 }
15307 ::std::string* ParamSpec::release_name() {
15308   // @@protoc_insertion_point(field_release:opencv_caffe.ParamSpec.name)
15309   clear_has_name();
15310   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15311 }
15312 void ParamSpec::set_allocated_name(::std::string* name) {
15313   if (name != NULL) {
15314     set_has_name();
15315   } else {
15316     clear_has_name();
15317   }
15318   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
15319   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParamSpec.name)
15320 }
15321
15322 // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
15323 bool ParamSpec::has_share_mode() const {
15324   return (_has_bits_[0] & 0x00000002u) != 0;
15325 }
15326 void ParamSpec::set_has_share_mode() {
15327   _has_bits_[0] |= 0x00000002u;
15328 }
15329 void ParamSpec::clear_has_share_mode() {
15330   _has_bits_[0] &= ~0x00000002u;
15331 }
15332 void ParamSpec::clear_share_mode() {
15333   share_mode_ = 0;
15334   clear_has_share_mode();
15335 }
15336 ::opencv_caffe::ParamSpec_DimCheckMode ParamSpec::share_mode() const {
15337   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.share_mode)
15338   return static_cast< ::opencv_caffe::ParamSpec_DimCheckMode >(share_mode_);
15339 }
15340 void ParamSpec::set_share_mode(::opencv_caffe::ParamSpec_DimCheckMode value) {
15341   assert(::opencv_caffe::ParamSpec_DimCheckMode_IsValid(value));
15342   set_has_share_mode();
15343   share_mode_ = value;
15344   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.share_mode)
15345 }
15346
15347 // optional float lr_mult = 3 [default = 1];
15348 bool ParamSpec::has_lr_mult() const {
15349   return (_has_bits_[0] & 0x00000004u) != 0;
15350 }
15351 void ParamSpec::set_has_lr_mult() {
15352   _has_bits_[0] |= 0x00000004u;
15353 }
15354 void ParamSpec::clear_has_lr_mult() {
15355   _has_bits_[0] &= ~0x00000004u;
15356 }
15357 void ParamSpec::clear_lr_mult() {
15358   lr_mult_ = 1;
15359   clear_has_lr_mult();
15360 }
15361 float ParamSpec::lr_mult() const {
15362   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.lr_mult)
15363   return lr_mult_;
15364 }
15365 void ParamSpec::set_lr_mult(float value) {
15366   set_has_lr_mult();
15367   lr_mult_ = value;
15368   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.lr_mult)
15369 }
15370
15371 // optional float decay_mult = 4 [default = 1];
15372 bool ParamSpec::has_decay_mult() const {
15373   return (_has_bits_[0] & 0x00000008u) != 0;
15374 }
15375 void ParamSpec::set_has_decay_mult() {
15376   _has_bits_[0] |= 0x00000008u;
15377 }
15378 void ParamSpec::clear_has_decay_mult() {
15379   _has_bits_[0] &= ~0x00000008u;
15380 }
15381 void ParamSpec::clear_decay_mult() {
15382   decay_mult_ = 1;
15383   clear_has_decay_mult();
15384 }
15385 float ParamSpec::decay_mult() const {
15386   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.decay_mult)
15387   return decay_mult_;
15388 }
15389 void ParamSpec::set_decay_mult(float value) {
15390   set_has_decay_mult();
15391   decay_mult_ = value;
15392   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.decay_mult)
15393 }
15394
15395 inline const ParamSpec* ParamSpec::internal_default_instance() {
15396   return &ParamSpec_default_instance_.get();
15397 }
15398 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
15399
15400 // ===================================================================
15401
15402 #if !defined(_MSC_VER) || _MSC_VER >= 1900
15403 const int LayerParameter::kNameFieldNumber;
15404 const int LayerParameter::kTypeFieldNumber;
15405 const int LayerParameter::kBottomFieldNumber;
15406 const int LayerParameter::kTopFieldNumber;
15407 const int LayerParameter::kPhaseFieldNumber;
15408 const int LayerParameter::kLossWeightFieldNumber;
15409 const int LayerParameter::kParamFieldNumber;
15410 const int LayerParameter::kBlobsFieldNumber;
15411 const int LayerParameter::kPropagateDownFieldNumber;
15412 const int LayerParameter::kIncludeFieldNumber;
15413 const int LayerParameter::kExcludeFieldNumber;
15414 const int LayerParameter::kTransformParamFieldNumber;
15415 const int LayerParameter::kLossParamFieldNumber;
15416 const int LayerParameter::kAccuracyParamFieldNumber;
15417 const int LayerParameter::kArgmaxParamFieldNumber;
15418 const int LayerParameter::kBatchNormParamFieldNumber;
15419 const int LayerParameter::kBiasParamFieldNumber;
15420 const int LayerParameter::kConcatParamFieldNumber;
15421 const int LayerParameter::kContrastiveLossParamFieldNumber;
15422 const int LayerParameter::kConvolutionParamFieldNumber;
15423 const int LayerParameter::kCropParamFieldNumber;
15424 const int LayerParameter::kDataParamFieldNumber;
15425 const int LayerParameter::kDetectionOutputParamFieldNumber;
15426 const int LayerParameter::kDropoutParamFieldNumber;
15427 const int LayerParameter::kDummyDataParamFieldNumber;
15428 const int LayerParameter::kEltwiseParamFieldNumber;
15429 const int LayerParameter::kEluParamFieldNumber;
15430 const int LayerParameter::kEmbedParamFieldNumber;
15431 const int LayerParameter::kExpParamFieldNumber;
15432 const int LayerParameter::kFlattenParamFieldNumber;
15433 const int LayerParameter::kHdf5DataParamFieldNumber;
15434 const int LayerParameter::kHdf5OutputParamFieldNumber;
15435 const int LayerParameter::kHingeLossParamFieldNumber;
15436 const int LayerParameter::kImageDataParamFieldNumber;
15437 const int LayerParameter::kInfogainLossParamFieldNumber;
15438 const int LayerParameter::kInnerProductParamFieldNumber;
15439 const int LayerParameter::kInputParamFieldNumber;
15440 const int LayerParameter::kLogParamFieldNumber;
15441 const int LayerParameter::kLrnParamFieldNumber;
15442 const int LayerParameter::kMemoryDataParamFieldNumber;
15443 const int LayerParameter::kMvnParamFieldNumber;
15444 const int LayerParameter::kNormParamFieldNumber;
15445 const int LayerParameter::kPermuteParamFieldNumber;
15446 const int LayerParameter::kParameterParamFieldNumber;
15447 const int LayerParameter::kPoolingParamFieldNumber;
15448 const int LayerParameter::kPowerParamFieldNumber;
15449 const int LayerParameter::kPreluParamFieldNumber;
15450 const int LayerParameter::kPriorBoxParamFieldNumber;
15451 const int LayerParameter::kPythonParamFieldNumber;
15452 const int LayerParameter::kRecurrentParamFieldNumber;
15453 const int LayerParameter::kReductionParamFieldNumber;
15454 const int LayerParameter::kReluParamFieldNumber;
15455 const int LayerParameter::kReshapeParamFieldNumber;
15456 const int LayerParameter::kRoiPoolingParamFieldNumber;
15457 const int LayerParameter::kScaleParamFieldNumber;
15458 const int LayerParameter::kSigmoidParamFieldNumber;
15459 const int LayerParameter::kSoftmaxParamFieldNumber;
15460 const int LayerParameter::kSppParamFieldNumber;
15461 const int LayerParameter::kSliceParamFieldNumber;
15462 const int LayerParameter::kTanhParamFieldNumber;
15463 const int LayerParameter::kThresholdParamFieldNumber;
15464 const int LayerParameter::kTileParamFieldNumber;
15465 const int LayerParameter::kWindowDataParamFieldNumber;
15466 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
15467
15468 LayerParameter::LayerParameter()
15469   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
15470   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
15471   SharedCtor();
15472   // @@protoc_insertion_point(constructor:opencv_caffe.LayerParameter)
15473 }
15474
15475 void LayerParameter::InitAsDefaultInstance() {
15476   transform_param_ = const_cast< ::opencv_caffe::TransformationParameter*>(
15477       ::opencv_caffe::TransformationParameter::internal_default_instance());
15478   loss_param_ = const_cast< ::opencv_caffe::LossParameter*>(
15479       ::opencv_caffe::LossParameter::internal_default_instance());
15480   accuracy_param_ = const_cast< ::opencv_caffe::AccuracyParameter*>(
15481       ::opencv_caffe::AccuracyParameter::internal_default_instance());
15482   argmax_param_ = const_cast< ::opencv_caffe::ArgMaxParameter*>(
15483       ::opencv_caffe::ArgMaxParameter::internal_default_instance());
15484   batch_norm_param_ = const_cast< ::opencv_caffe::BatchNormParameter*>(
15485       ::opencv_caffe::BatchNormParameter::internal_default_instance());
15486   bias_param_ = const_cast< ::opencv_caffe::BiasParameter*>(
15487       ::opencv_caffe::BiasParameter::internal_default_instance());
15488   concat_param_ = const_cast< ::opencv_caffe::ConcatParameter*>(
15489       ::opencv_caffe::ConcatParameter::internal_default_instance());
15490   contrastive_loss_param_ = const_cast< ::opencv_caffe::ContrastiveLossParameter*>(
15491       ::opencv_caffe::ContrastiveLossParameter::internal_default_instance());
15492   convolution_param_ = const_cast< ::opencv_caffe::ConvolutionParameter*>(
15493       ::opencv_caffe::ConvolutionParameter::internal_default_instance());
15494   crop_param_ = const_cast< ::opencv_caffe::CropParameter*>(
15495       ::opencv_caffe::CropParameter::internal_default_instance());
15496   data_param_ = const_cast< ::opencv_caffe::DataParameter*>(
15497       ::opencv_caffe::DataParameter::internal_default_instance());
15498   detection_output_param_ = const_cast< ::opencv_caffe::DetectionOutputParameter*>(
15499       ::opencv_caffe::DetectionOutputParameter::internal_default_instance());
15500   dropout_param_ = const_cast< ::opencv_caffe::DropoutParameter*>(
15501       ::opencv_caffe::DropoutParameter::internal_default_instance());
15502   dummy_data_param_ = const_cast< ::opencv_caffe::DummyDataParameter*>(
15503       ::opencv_caffe::DummyDataParameter::internal_default_instance());
15504   eltwise_param_ = const_cast< ::opencv_caffe::EltwiseParameter*>(
15505       ::opencv_caffe::EltwiseParameter::internal_default_instance());
15506   elu_param_ = const_cast< ::opencv_caffe::ELUParameter*>(
15507       ::opencv_caffe::ELUParameter::internal_default_instance());
15508   embed_param_ = const_cast< ::opencv_caffe::EmbedParameter*>(
15509       ::opencv_caffe::EmbedParameter::internal_default_instance());
15510   exp_param_ = const_cast< ::opencv_caffe::ExpParameter*>(
15511       ::opencv_caffe::ExpParameter::internal_default_instance());
15512   flatten_param_ = const_cast< ::opencv_caffe::FlattenParameter*>(
15513       ::opencv_caffe::FlattenParameter::internal_default_instance());
15514   hdf5_data_param_ = const_cast< ::opencv_caffe::HDF5DataParameter*>(
15515       ::opencv_caffe::HDF5DataParameter::internal_default_instance());
15516   hdf5_output_param_ = const_cast< ::opencv_caffe::HDF5OutputParameter*>(
15517       ::opencv_caffe::HDF5OutputParameter::internal_default_instance());
15518   hinge_loss_param_ = const_cast< ::opencv_caffe::HingeLossParameter*>(
15519       ::opencv_caffe::HingeLossParameter::internal_default_instance());
15520   image_data_param_ = const_cast< ::opencv_caffe::ImageDataParameter*>(
15521       ::opencv_caffe::ImageDataParameter::internal_default_instance());
15522   infogain_loss_param_ = const_cast< ::opencv_caffe::InfogainLossParameter*>(
15523       ::opencv_caffe::InfogainLossParameter::internal_default_instance());
15524   inner_product_param_ = const_cast< ::opencv_caffe::InnerProductParameter*>(
15525       ::opencv_caffe::InnerProductParameter::internal_default_instance());
15526   input_param_ = const_cast< ::opencv_caffe::InputParameter*>(
15527       ::opencv_caffe::InputParameter::internal_default_instance());
15528   log_param_ = const_cast< ::opencv_caffe::LogParameter*>(
15529       ::opencv_caffe::LogParameter::internal_default_instance());
15530   lrn_param_ = const_cast< ::opencv_caffe::LRNParameter*>(
15531       ::opencv_caffe::LRNParameter::internal_default_instance());
15532   memory_data_param_ = const_cast< ::opencv_caffe::MemoryDataParameter*>(
15533       ::opencv_caffe::MemoryDataParameter::internal_default_instance());
15534   mvn_param_ = const_cast< ::opencv_caffe::MVNParameter*>(
15535       ::opencv_caffe::MVNParameter::internal_default_instance());
15536   norm_param_ = const_cast< ::opencv_caffe::NormalizeBBoxParameter*>(
15537       ::opencv_caffe::NormalizeBBoxParameter::internal_default_instance());
15538   permute_param_ = const_cast< ::opencv_caffe::PermuteParameter*>(
15539       ::opencv_caffe::PermuteParameter::internal_default_instance());
15540   parameter_param_ = const_cast< ::opencv_caffe::ParameterParameter*>(
15541       ::opencv_caffe::ParameterParameter::internal_default_instance());
15542   pooling_param_ = const_cast< ::opencv_caffe::PoolingParameter*>(
15543       ::opencv_caffe::PoolingParameter::internal_default_instance());
15544   power_param_ = const_cast< ::opencv_caffe::PowerParameter*>(
15545       ::opencv_caffe::PowerParameter::internal_default_instance());
15546   prelu_param_ = const_cast< ::opencv_caffe::PReLUParameter*>(
15547       ::opencv_caffe::PReLUParameter::internal_default_instance());
15548   prior_box_param_ = const_cast< ::opencv_caffe::PriorBoxParameter*>(
15549       ::opencv_caffe::PriorBoxParameter::internal_default_instance());
15550   python_param_ = const_cast< ::opencv_caffe::PythonParameter*>(
15551       ::opencv_caffe::PythonParameter::internal_default_instance());
15552   recurrent_param_ = const_cast< ::opencv_caffe::RecurrentParameter*>(
15553       ::opencv_caffe::RecurrentParameter::internal_default_instance());
15554   reduction_param_ = const_cast< ::opencv_caffe::ReductionParameter*>(
15555       ::opencv_caffe::ReductionParameter::internal_default_instance());
15556   relu_param_ = const_cast< ::opencv_caffe::ReLUParameter*>(
15557       ::opencv_caffe::ReLUParameter::internal_default_instance());
15558   reshape_param_ = const_cast< ::opencv_caffe::ReshapeParameter*>(
15559       ::opencv_caffe::ReshapeParameter::internal_default_instance());
15560   roi_pooling_param_ = const_cast< ::opencv_caffe::ROIPoolingParameter*>(
15561       ::opencv_caffe::ROIPoolingParameter::internal_default_instance());
15562   scale_param_ = const_cast< ::opencv_caffe::ScaleParameter*>(
15563       ::opencv_caffe::ScaleParameter::internal_default_instance());
15564   sigmoid_param_ = const_cast< ::opencv_caffe::SigmoidParameter*>(
15565       ::opencv_caffe::SigmoidParameter::internal_default_instance());
15566   softmax_param_ = const_cast< ::opencv_caffe::SoftmaxParameter*>(
15567       ::opencv_caffe::SoftmaxParameter::internal_default_instance());
15568   spp_param_ = const_cast< ::opencv_caffe::SPPParameter*>(
15569       ::opencv_caffe::SPPParameter::internal_default_instance());
15570   slice_param_ = const_cast< ::opencv_caffe::SliceParameter*>(
15571       ::opencv_caffe::SliceParameter::internal_default_instance());
15572   tanh_param_ = const_cast< ::opencv_caffe::TanHParameter*>(
15573       ::opencv_caffe::TanHParameter::internal_default_instance());
15574   threshold_param_ = const_cast< ::opencv_caffe::ThresholdParameter*>(
15575       ::opencv_caffe::ThresholdParameter::internal_default_instance());
15576   tile_param_ = const_cast< ::opencv_caffe::TileParameter*>(
15577       ::opencv_caffe::TileParameter::internal_default_instance());
15578   window_data_param_ = const_cast< ::opencv_caffe::WindowDataParameter*>(
15579       ::opencv_caffe::WindowDataParameter::internal_default_instance());
15580 }
15581
15582 LayerParameter::LayerParameter(const LayerParameter& from)
15583   : ::google::protobuf::Message(),
15584     _internal_metadata_(NULL) {
15585   SharedCtor();
15586   UnsafeMergeFrom(from);
15587   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LayerParameter)
15588 }
15589
15590 void LayerParameter::SharedCtor() {
15591   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15592   type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15593   transform_param_ = NULL;
15594   loss_param_ = NULL;
15595   accuracy_param_ = NULL;
15596   argmax_param_ = NULL;
15597   batch_norm_param_ = NULL;
15598   bias_param_ = NULL;
15599   concat_param_ = NULL;
15600   contrastive_loss_param_ = NULL;
15601   convolution_param_ = NULL;
15602   crop_param_ = NULL;
15603   data_param_ = NULL;
15604   detection_output_param_ = NULL;
15605   dropout_param_ = NULL;
15606   dummy_data_param_ = NULL;
15607   eltwise_param_ = NULL;
15608   elu_param_ = NULL;
15609   embed_param_ = NULL;
15610   exp_param_ = NULL;
15611   flatten_param_ = NULL;
15612   hdf5_data_param_ = NULL;
15613   hdf5_output_param_ = NULL;
15614   hinge_loss_param_ = NULL;
15615   image_data_param_ = NULL;
15616   infogain_loss_param_ = NULL;
15617   inner_product_param_ = NULL;
15618   input_param_ = NULL;
15619   log_param_ = NULL;
15620   lrn_param_ = NULL;
15621   memory_data_param_ = NULL;
15622   mvn_param_ = NULL;
15623   norm_param_ = NULL;
15624   permute_param_ = NULL;
15625   parameter_param_ = NULL;
15626   pooling_param_ = NULL;
15627   power_param_ = NULL;
15628   prelu_param_ = NULL;
15629   prior_box_param_ = NULL;
15630   python_param_ = NULL;
15631   recurrent_param_ = NULL;
15632   reduction_param_ = NULL;
15633   relu_param_ = NULL;
15634   reshape_param_ = NULL;
15635   roi_pooling_param_ = NULL;
15636   scale_param_ = NULL;
15637   sigmoid_param_ = NULL;
15638   softmax_param_ = NULL;
15639   spp_param_ = NULL;
15640   slice_param_ = NULL;
15641   tanh_param_ = NULL;
15642   threshold_param_ = NULL;
15643   tile_param_ = NULL;
15644   window_data_param_ = NULL;
15645   phase_ = 0;
15646   _cached_size_ = 0;
15647 }
15648
15649 LayerParameter::~LayerParameter() {
15650   // @@protoc_insertion_point(destructor:opencv_caffe.LayerParameter)
15651   SharedDtor();
15652 }
15653
15654 void LayerParameter::SharedDtor() {
15655   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15656   type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15657   if (this != &LayerParameter_default_instance_.get()) {
15658     delete transform_param_;
15659     delete loss_param_;
15660     delete accuracy_param_;
15661     delete argmax_param_;
15662     delete batch_norm_param_;
15663     delete bias_param_;
15664     delete concat_param_;
15665     delete contrastive_loss_param_;
15666     delete convolution_param_;
15667     delete crop_param_;
15668     delete data_param_;
15669     delete detection_output_param_;
15670     delete dropout_param_;
15671     delete dummy_data_param_;
15672     delete eltwise_param_;
15673     delete elu_param_;
15674     delete embed_param_;
15675     delete exp_param_;
15676     delete flatten_param_;
15677     delete hdf5_data_param_;
15678     delete hdf5_output_param_;
15679     delete hinge_loss_param_;
15680     delete image_data_param_;
15681     delete infogain_loss_param_;
15682     delete inner_product_param_;
15683     delete input_param_;
15684     delete log_param_;
15685     delete lrn_param_;
15686     delete memory_data_param_;
15687     delete mvn_param_;
15688     delete norm_param_;
15689     delete permute_param_;
15690     delete parameter_param_;
15691     delete pooling_param_;
15692     delete power_param_;
15693     delete prelu_param_;
15694     delete prior_box_param_;
15695     delete python_param_;
15696     delete recurrent_param_;
15697     delete reduction_param_;
15698     delete relu_param_;
15699     delete reshape_param_;
15700     delete roi_pooling_param_;
15701     delete scale_param_;
15702     delete sigmoid_param_;
15703     delete softmax_param_;
15704     delete spp_param_;
15705     delete slice_param_;
15706     delete tanh_param_;
15707     delete threshold_param_;
15708     delete tile_param_;
15709     delete window_data_param_;
15710   }
15711 }
15712
15713 void LayerParameter::SetCachedSize(int size) const {
15714   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
15715   _cached_size_ = size;
15716   GOOGLE_SAFE_CONCURRENT_WRITES_END();
15717 }
15718 const ::google::protobuf::Descriptor* LayerParameter::descriptor() {
15719   protobuf_AssignDescriptorsOnce();
15720   return LayerParameter_descriptor_;
15721 }
15722
15723 const LayerParameter& LayerParameter::default_instance() {
15724   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
15725   return *internal_default_instance();
15726 }
15727
15728 ::google::protobuf::internal::ExplicitlyConstructed<LayerParameter> LayerParameter_default_instance_;
15729
15730 LayerParameter* LayerParameter::New(::google::protobuf::Arena* arena) const {
15731   LayerParameter* n = new LayerParameter;
15732   if (arena != NULL) {
15733     arena->Own(n);
15734   }
15735   return n;
15736 }
15737
15738 void LayerParameter::Clear() {
15739 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LayerParameter)
15740   if (_has_bits_[0 / 32] & 19u) {
15741     if (has_name()) {
15742       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15743     }
15744     if (has_type()) {
15745       type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15746     }
15747     phase_ = 0;
15748   }
15749   if (_has_bits_[8 / 32] & 63488u) {
15750     if (has_transform_param()) {
15751       if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
15752     }
15753     if (has_loss_param()) {
15754       if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
15755     }
15756     if (has_accuracy_param()) {
15757       if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
15758     }
15759     if (has_argmax_param()) {
15760       if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
15761     }
15762     if (has_batch_norm_param()) {
15763       if (batch_norm_param_ != NULL) batch_norm_param_->::opencv_caffe::BatchNormParameter::Clear();
15764     }
15765   }
15766   if (_has_bits_[16 / 32] & 16711680u) {
15767     if (has_bias_param()) {
15768       if (bias_param_ != NULL) bias_param_->::opencv_caffe::BiasParameter::Clear();
15769     }
15770     if (has_concat_param()) {
15771       if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
15772     }
15773     if (has_contrastive_loss_param()) {
15774       if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
15775     }
15776     if (has_convolution_param()) {
15777       if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
15778     }
15779     if (has_crop_param()) {
15780       if (crop_param_ != NULL) crop_param_->::opencv_caffe::CropParameter::Clear();
15781     }
15782     if (has_data_param()) {
15783       if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
15784     }
15785     if (has_detection_output_param()) {
15786       if (detection_output_param_ != NULL) detection_output_param_->::opencv_caffe::DetectionOutputParameter::Clear();
15787     }
15788     if (has_dropout_param()) {
15789       if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
15790     }
15791   }
15792   if (_has_bits_[24 / 32] & 4278190080u) {
15793     if (has_dummy_data_param()) {
15794       if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
15795     }
15796     if (has_eltwise_param()) {
15797       if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
15798     }
15799     if (has_elu_param()) {
15800       if (elu_param_ != NULL) elu_param_->::opencv_caffe::ELUParameter::Clear();
15801     }
15802     if (has_embed_param()) {
15803       if (embed_param_ != NULL) embed_param_->::opencv_caffe::EmbedParameter::Clear();
15804     }
15805     if (has_exp_param()) {
15806       if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
15807     }
15808     if (has_flatten_param()) {
15809       if (flatten_param_ != NULL) flatten_param_->::opencv_caffe::FlattenParameter::Clear();
15810     }
15811     if (has_hdf5_data_param()) {
15812       if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
15813     }
15814     if (has_hdf5_output_param()) {
15815       if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
15816     }
15817   }
15818   if (_has_bits_[32 / 32] & 255u) {
15819     if (has_hinge_loss_param()) {
15820       if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
15821     }
15822     if (has_image_data_param()) {
15823       if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
15824     }
15825     if (has_infogain_loss_param()) {
15826       if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
15827     }
15828     if (has_inner_product_param()) {
15829       if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
15830     }
15831     if (has_input_param()) {
15832       if (input_param_ != NULL) input_param_->::opencv_caffe::InputParameter::Clear();
15833     }
15834     if (has_log_param()) {
15835       if (log_param_ != NULL) log_param_->::opencv_caffe::LogParameter::Clear();
15836     }
15837     if (has_lrn_param()) {
15838       if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
15839     }
15840     if (has_memory_data_param()) {
15841       if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
15842     }
15843   }
15844   if (_has_bits_[40 / 32] & 65280u) {
15845     if (has_mvn_param()) {
15846       if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
15847     }
15848     if (has_norm_param()) {
15849       if (norm_param_ != NULL) norm_param_->::opencv_caffe::NormalizeBBoxParameter::Clear();
15850     }
15851     if (has_permute_param()) {
15852       if (permute_param_ != NULL) permute_param_->::opencv_caffe::PermuteParameter::Clear();
15853     }
15854     if (has_parameter_param()) {
15855       if (parameter_param_ != NULL) parameter_param_->::opencv_caffe::ParameterParameter::Clear();
15856     }
15857     if (has_pooling_param()) {
15858       if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
15859     }
15860     if (has_power_param()) {
15861       if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
15862     }
15863     if (has_prelu_param()) {
15864       if (prelu_param_ != NULL) prelu_param_->::opencv_caffe::PReLUParameter::Clear();
15865     }
15866     if (has_prior_box_param()) {
15867       if (prior_box_param_ != NULL) prior_box_param_->::opencv_caffe::PriorBoxParameter::Clear();
15868     }
15869   }
15870   if (_has_bits_[48 / 32] & 16711680u) {
15871     if (has_python_param()) {
15872       if (python_param_ != NULL) python_param_->::opencv_caffe::PythonParameter::Clear();
15873     }
15874     if (has_recurrent_param()) {
15875       if (recurrent_param_ != NULL) recurrent_param_->::opencv_caffe::RecurrentParameter::Clear();
15876     }
15877     if (has_reduction_param()) {
15878       if (reduction_param_ != NULL) reduction_param_->::opencv_caffe::ReductionParameter::Clear();
15879     }
15880     if (has_relu_param()) {
15881       if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
15882     }
15883     if (has_reshape_param()) {
15884       if (reshape_param_ != NULL) reshape_param_->::opencv_caffe::ReshapeParameter::Clear();
15885     }
15886     if (has_roi_pooling_param()) {
15887       if (roi_pooling_param_ != NULL) roi_pooling_param_->::opencv_caffe::ROIPoolingParameter::Clear();
15888     }
15889     if (has_scale_param()) {
15890       if (scale_param_ != NULL) scale_param_->::opencv_caffe::ScaleParameter::Clear();
15891     }
15892     if (has_sigmoid_param()) {
15893       if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
15894     }
15895   }
15896   if (_has_bits_[56 / 32] & 2130706432u) {
15897     if (has_softmax_param()) {
15898       if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
15899     }
15900     if (has_spp_param()) {
15901       if (spp_param_ != NULL) spp_param_->::opencv_caffe::SPPParameter::Clear();
15902     }
15903     if (has_slice_param()) {
15904       if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
15905     }
15906     if (has_tanh_param()) {
15907       if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
15908     }
15909     if (has_threshold_param()) {
15910       if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
15911     }
15912     if (has_tile_param()) {
15913       if (tile_param_ != NULL) tile_param_->::opencv_caffe::TileParameter::Clear();
15914     }
15915     if (has_window_data_param()) {
15916       if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
15917     }
15918   }
15919   bottom_.Clear();
15920   top_.Clear();
15921   loss_weight_.Clear();
15922   param_.Clear();
15923   blobs_.Clear();
15924   propagate_down_.Clear();
15925   include_.Clear();
15926   exclude_.Clear();
15927   _has_bits_.Clear();
15928   if (_internal_metadata_.have_unknown_fields()) {
15929     mutable_unknown_fields()->Clear();
15930   }
15931 }
15932
15933 bool LayerParameter::MergePartialFromCodedStream(
15934     ::google::protobuf::io::CodedInputStream* input) {
15935 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
15936   ::google::protobuf::uint32 tag;
15937   // @@protoc_insertion_point(parse_start:opencv_caffe.LayerParameter)
15938   for (;;) {
15939     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(66133690);
15940     tag = p.first;
15941     if (!p.second) goto handle_unusual;
15942     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
15943       // optional string name = 1;
15944       case 1: {
15945         if (tag == 10) {
15946           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
15947                 input, this->mutable_name()));
15948           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15949             this->name().data(), this->name().length(),
15950             ::google::protobuf::internal::WireFormat::PARSE,
15951             "opencv_caffe.LayerParameter.name");
15952         } else {
15953           goto handle_unusual;
15954         }
15955         if (input->ExpectTag(18)) goto parse_type;
15956         break;
15957       }
15958
15959       // optional string type = 2;
15960       case 2: {
15961         if (tag == 18) {
15962          parse_type:
15963           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
15964                 input, this->mutable_type()));
15965           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15966             this->type().data(), this->type().length(),
15967             ::google::protobuf::internal::WireFormat::PARSE,
15968             "opencv_caffe.LayerParameter.type");
15969         } else {
15970           goto handle_unusual;
15971         }
15972         if (input->ExpectTag(26)) goto parse_bottom;
15973         break;
15974       }
15975
15976       // repeated string bottom = 3;
15977       case 3: {
15978         if (tag == 26) {
15979          parse_bottom:
15980           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
15981                 input, this->add_bottom()));
15982           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
15983             this->bottom(this->bottom_size() - 1).data(),
15984             this->bottom(this->bottom_size() - 1).length(),
15985             ::google::protobuf::internal::WireFormat::PARSE,
15986             "opencv_caffe.LayerParameter.bottom");
15987         } else {
15988           goto handle_unusual;
15989         }
15990         if (input->ExpectTag(26)) goto parse_bottom;
15991         if (input->ExpectTag(34)) goto parse_top;
15992         break;
15993       }
15994
15995       // repeated string top = 4;
15996       case 4: {
15997         if (tag == 34) {
15998          parse_top:
15999           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
16000                 input, this->add_top()));
16001           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16002             this->top(this->top_size() - 1).data(),
16003             this->top(this->top_size() - 1).length(),
16004             ::google::protobuf::internal::WireFormat::PARSE,
16005             "opencv_caffe.LayerParameter.top");
16006         } else {
16007           goto handle_unusual;
16008         }
16009         if (input->ExpectTag(34)) goto parse_top;
16010         if (input->ExpectTag(45)) goto parse_loss_weight;
16011         break;
16012       }
16013
16014       // repeated float loss_weight = 5;
16015       case 5: {
16016         if (tag == 45) {
16017          parse_loss_weight:
16018           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
16019                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
16020                  1, 45, input, this->mutable_loss_weight())));
16021         } else if (tag == 42) {
16022           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
16023                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
16024                  input, this->mutable_loss_weight())));
16025         } else {
16026           goto handle_unusual;
16027         }
16028         if (input->ExpectTag(45)) goto parse_loss_weight;
16029         if (input->ExpectTag(50)) goto parse_param;
16030         break;
16031       }
16032
16033       // repeated .opencv_caffe.ParamSpec param = 6;
16034       case 6: {
16035         if (tag == 50) {
16036          parse_param:
16037           DO_(input->IncrementRecursionDepth());
16038          parse_loop_param:
16039           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16040                 input, add_param()));
16041         } else {
16042           goto handle_unusual;
16043         }
16044         if (input->ExpectTag(50)) goto parse_loop_param;
16045         if (input->ExpectTag(58)) goto parse_loop_blobs;
16046         input->UnsafeDecrementRecursionDepth();
16047         break;
16048       }
16049
16050       // repeated .opencv_caffe.BlobProto blobs = 7;
16051       case 7: {
16052         if (tag == 58) {
16053           DO_(input->IncrementRecursionDepth());
16054          parse_loop_blobs:
16055           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16056                 input, add_blobs()));
16057         } else {
16058           goto handle_unusual;
16059         }
16060         if (input->ExpectTag(58)) goto parse_loop_blobs;
16061         if (input->ExpectTag(66)) goto parse_loop_include;
16062         input->UnsafeDecrementRecursionDepth();
16063         break;
16064       }
16065
16066       // repeated .opencv_caffe.NetStateRule include = 8;
16067       case 8: {
16068         if (tag == 66) {
16069           DO_(input->IncrementRecursionDepth());
16070          parse_loop_include:
16071           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16072                 input, add_include()));
16073         } else {
16074           goto handle_unusual;
16075         }
16076         if (input->ExpectTag(66)) goto parse_loop_include;
16077         if (input->ExpectTag(74)) goto parse_loop_exclude;
16078         input->UnsafeDecrementRecursionDepth();
16079         break;
16080       }
16081
16082       // repeated .opencv_caffe.NetStateRule exclude = 9;
16083       case 9: {
16084         if (tag == 74) {
16085           DO_(input->IncrementRecursionDepth());
16086          parse_loop_exclude:
16087           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
16088                 input, add_exclude()));
16089         } else {
16090           goto handle_unusual;
16091         }
16092         if (input->ExpectTag(74)) goto parse_loop_exclude;
16093         input->UnsafeDecrementRecursionDepth();
16094         if (input->ExpectTag(80)) goto parse_phase;
16095         break;
16096       }
16097
16098       // optional .opencv_caffe.Phase phase = 10;
16099       case 10: {
16100         if (tag == 80) {
16101          parse_phase:
16102           int value;
16103           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
16104                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
16105                  input, &value)));
16106           if (::opencv_caffe::Phase_IsValid(value)) {
16107             set_phase(static_cast< ::opencv_caffe::Phase >(value));
16108           } else {
16109             mutable_unknown_fields()->AddVarint(10, value);
16110           }
16111         } else {
16112           goto handle_unusual;
16113         }
16114         if (input->ExpectTag(88)) goto parse_propagate_down;
16115         break;
16116       }
16117
16118       // repeated bool propagate_down = 11;
16119       case 11: {
16120         if (tag == 88) {
16121          parse_propagate_down:
16122           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
16123                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
16124                  1, 88, input, this->mutable_propagate_down())));
16125         } else if (tag == 90) {
16126           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
16127                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
16128                  input, this->mutable_propagate_down())));
16129         } else {
16130           goto handle_unusual;
16131         }
16132         if (input->ExpectTag(88)) goto parse_propagate_down;
16133         if (input->ExpectTag(802)) goto parse_transform_param;
16134         break;
16135       }
16136
16137       // optional .opencv_caffe.TransformationParameter transform_param = 100;
16138       case 100: {
16139         if (tag == 802) {
16140          parse_transform_param:
16141           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16142                input, mutable_transform_param()));
16143         } else {
16144           goto handle_unusual;
16145         }
16146         if (input->ExpectTag(810)) goto parse_loss_param;
16147         break;
16148       }
16149
16150       // optional .opencv_caffe.LossParameter loss_param = 101;
16151       case 101: {
16152         if (tag == 810) {
16153          parse_loss_param:
16154           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16155                input, mutable_loss_param()));
16156         } else {
16157           goto handle_unusual;
16158         }
16159         if (input->ExpectTag(818)) goto parse_accuracy_param;
16160         break;
16161       }
16162
16163       // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
16164       case 102: {
16165         if (tag == 818) {
16166          parse_accuracy_param:
16167           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16168                input, mutable_accuracy_param()));
16169         } else {
16170           goto handle_unusual;
16171         }
16172         if (input->ExpectTag(826)) goto parse_argmax_param;
16173         break;
16174       }
16175
16176       // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
16177       case 103: {
16178         if (tag == 826) {
16179          parse_argmax_param:
16180           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16181                input, mutable_argmax_param()));
16182         } else {
16183           goto handle_unusual;
16184         }
16185         if (input->ExpectTag(834)) goto parse_concat_param;
16186         break;
16187       }
16188
16189       // optional .opencv_caffe.ConcatParameter concat_param = 104;
16190       case 104: {
16191         if (tag == 834) {
16192          parse_concat_param:
16193           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16194                input, mutable_concat_param()));
16195         } else {
16196           goto handle_unusual;
16197         }
16198         if (input->ExpectTag(842)) goto parse_contrastive_loss_param;
16199         break;
16200       }
16201
16202       // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
16203       case 105: {
16204         if (tag == 842) {
16205          parse_contrastive_loss_param:
16206           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16207                input, mutable_contrastive_loss_param()));
16208         } else {
16209           goto handle_unusual;
16210         }
16211         if (input->ExpectTag(850)) goto parse_convolution_param;
16212         break;
16213       }
16214
16215       // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
16216       case 106: {
16217         if (tag == 850) {
16218          parse_convolution_param:
16219           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16220                input, mutable_convolution_param()));
16221         } else {
16222           goto handle_unusual;
16223         }
16224         if (input->ExpectTag(858)) goto parse_data_param;
16225         break;
16226       }
16227
16228       // optional .opencv_caffe.DataParameter data_param = 107;
16229       case 107: {
16230         if (tag == 858) {
16231          parse_data_param:
16232           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16233                input, mutable_data_param()));
16234         } else {
16235           goto handle_unusual;
16236         }
16237         if (input->ExpectTag(866)) goto parse_dropout_param;
16238         break;
16239       }
16240
16241       // optional .opencv_caffe.DropoutParameter dropout_param = 108;
16242       case 108: {
16243         if (tag == 866) {
16244          parse_dropout_param:
16245           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16246                input, mutable_dropout_param()));
16247         } else {
16248           goto handle_unusual;
16249         }
16250         if (input->ExpectTag(874)) goto parse_dummy_data_param;
16251         break;
16252       }
16253
16254       // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
16255       case 109: {
16256         if (tag == 874) {
16257          parse_dummy_data_param:
16258           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16259                input, mutable_dummy_data_param()));
16260         } else {
16261           goto handle_unusual;
16262         }
16263         if (input->ExpectTag(882)) goto parse_eltwise_param;
16264         break;
16265       }
16266
16267       // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
16268       case 110: {
16269         if (tag == 882) {
16270          parse_eltwise_param:
16271           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16272                input, mutable_eltwise_param()));
16273         } else {
16274           goto handle_unusual;
16275         }
16276         if (input->ExpectTag(890)) goto parse_exp_param;
16277         break;
16278       }
16279
16280       // optional .opencv_caffe.ExpParameter exp_param = 111;
16281       case 111: {
16282         if (tag == 890) {
16283          parse_exp_param:
16284           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16285                input, mutable_exp_param()));
16286         } else {
16287           goto handle_unusual;
16288         }
16289         if (input->ExpectTag(898)) goto parse_hdf5_data_param;
16290         break;
16291       }
16292
16293       // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
16294       case 112: {
16295         if (tag == 898) {
16296          parse_hdf5_data_param:
16297           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16298                input, mutable_hdf5_data_param()));
16299         } else {
16300           goto handle_unusual;
16301         }
16302         if (input->ExpectTag(906)) goto parse_hdf5_output_param;
16303         break;
16304       }
16305
16306       // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
16307       case 113: {
16308         if (tag == 906) {
16309          parse_hdf5_output_param:
16310           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16311                input, mutable_hdf5_output_param()));
16312         } else {
16313           goto handle_unusual;
16314         }
16315         if (input->ExpectTag(914)) goto parse_hinge_loss_param;
16316         break;
16317       }
16318
16319       // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
16320       case 114: {
16321         if (tag == 914) {
16322          parse_hinge_loss_param:
16323           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16324                input, mutable_hinge_loss_param()));
16325         } else {
16326           goto handle_unusual;
16327         }
16328         if (input->ExpectTag(922)) goto parse_image_data_param;
16329         break;
16330       }
16331
16332       // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
16333       case 115: {
16334         if (tag == 922) {
16335          parse_image_data_param:
16336           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16337                input, mutable_image_data_param()));
16338         } else {
16339           goto handle_unusual;
16340         }
16341         if (input->ExpectTag(930)) goto parse_infogain_loss_param;
16342         break;
16343       }
16344
16345       // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
16346       case 116: {
16347         if (tag == 930) {
16348          parse_infogain_loss_param:
16349           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16350                input, mutable_infogain_loss_param()));
16351         } else {
16352           goto handle_unusual;
16353         }
16354         if (input->ExpectTag(938)) goto parse_inner_product_param;
16355         break;
16356       }
16357
16358       // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
16359       case 117: {
16360         if (tag == 938) {
16361          parse_inner_product_param:
16362           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16363                input, mutable_inner_product_param()));
16364         } else {
16365           goto handle_unusual;
16366         }
16367         if (input->ExpectTag(946)) goto parse_lrn_param;
16368         break;
16369       }
16370
16371       // optional .opencv_caffe.LRNParameter lrn_param = 118;
16372       case 118: {
16373         if (tag == 946) {
16374          parse_lrn_param:
16375           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16376                input, mutable_lrn_param()));
16377         } else {
16378           goto handle_unusual;
16379         }
16380         if (input->ExpectTag(954)) goto parse_memory_data_param;
16381         break;
16382       }
16383
16384       // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
16385       case 119: {
16386         if (tag == 954) {
16387          parse_memory_data_param:
16388           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16389                input, mutable_memory_data_param()));
16390         } else {
16391           goto handle_unusual;
16392         }
16393         if (input->ExpectTag(962)) goto parse_mvn_param;
16394         break;
16395       }
16396
16397       // optional .opencv_caffe.MVNParameter mvn_param = 120;
16398       case 120: {
16399         if (tag == 962) {
16400          parse_mvn_param:
16401           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16402                input, mutable_mvn_param()));
16403         } else {
16404           goto handle_unusual;
16405         }
16406         if (input->ExpectTag(970)) goto parse_pooling_param;
16407         break;
16408       }
16409
16410       // optional .opencv_caffe.PoolingParameter pooling_param = 121;
16411       case 121: {
16412         if (tag == 970) {
16413          parse_pooling_param:
16414           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16415                input, mutable_pooling_param()));
16416         } else {
16417           goto handle_unusual;
16418         }
16419         if (input->ExpectTag(978)) goto parse_power_param;
16420         break;
16421       }
16422
16423       // optional .opencv_caffe.PowerParameter power_param = 122;
16424       case 122: {
16425         if (tag == 978) {
16426          parse_power_param:
16427           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16428                input, mutable_power_param()));
16429         } else {
16430           goto handle_unusual;
16431         }
16432         if (input->ExpectTag(986)) goto parse_relu_param;
16433         break;
16434       }
16435
16436       // optional .opencv_caffe.ReLUParameter relu_param = 123;
16437       case 123: {
16438         if (tag == 986) {
16439          parse_relu_param:
16440           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16441                input, mutable_relu_param()));
16442         } else {
16443           goto handle_unusual;
16444         }
16445         if (input->ExpectTag(994)) goto parse_sigmoid_param;
16446         break;
16447       }
16448
16449       // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
16450       case 124: {
16451         if (tag == 994) {
16452          parse_sigmoid_param:
16453           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16454                input, mutable_sigmoid_param()));
16455         } else {
16456           goto handle_unusual;
16457         }
16458         if (input->ExpectTag(1002)) goto parse_softmax_param;
16459         break;
16460       }
16461
16462       // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
16463       case 125: {
16464         if (tag == 1002) {
16465          parse_softmax_param:
16466           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16467                input, mutable_softmax_param()));
16468         } else {
16469           goto handle_unusual;
16470         }
16471         if (input->ExpectTag(1010)) goto parse_slice_param;
16472         break;
16473       }
16474
16475       // optional .opencv_caffe.SliceParameter slice_param = 126;
16476       case 126: {
16477         if (tag == 1010) {
16478          parse_slice_param:
16479           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16480                input, mutable_slice_param()));
16481         } else {
16482           goto handle_unusual;
16483         }
16484         if (input->ExpectTag(1018)) goto parse_tanh_param;
16485         break;
16486       }
16487
16488       // optional .opencv_caffe.TanHParameter tanh_param = 127;
16489       case 127: {
16490         if (tag == 1018) {
16491          parse_tanh_param:
16492           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16493                input, mutable_tanh_param()));
16494         } else {
16495           goto handle_unusual;
16496         }
16497         if (input->ExpectTag(1026)) goto parse_threshold_param;
16498         break;
16499       }
16500
16501       // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
16502       case 128: {
16503         if (tag == 1026) {
16504          parse_threshold_param:
16505           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16506                input, mutable_threshold_param()));
16507         } else {
16508           goto handle_unusual;
16509         }
16510         if (input->ExpectTag(1034)) goto parse_window_data_param;
16511         break;
16512       }
16513
16514       // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
16515       case 129: {
16516         if (tag == 1034) {
16517          parse_window_data_param:
16518           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16519                input, mutable_window_data_param()));
16520         } else {
16521           goto handle_unusual;
16522         }
16523         if (input->ExpectTag(1042)) goto parse_python_param;
16524         break;
16525       }
16526
16527       // optional .opencv_caffe.PythonParameter python_param = 130;
16528       case 130: {
16529         if (tag == 1042) {
16530          parse_python_param:
16531           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16532                input, mutable_python_param()));
16533         } else {
16534           goto handle_unusual;
16535         }
16536         if (input->ExpectTag(1050)) goto parse_prelu_param;
16537         break;
16538       }
16539
16540       // optional .opencv_caffe.PReLUParameter prelu_param = 131;
16541       case 131: {
16542         if (tag == 1050) {
16543          parse_prelu_param:
16544           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16545                input, mutable_prelu_param()));
16546         } else {
16547           goto handle_unusual;
16548         }
16549         if (input->ExpectTag(1058)) goto parse_spp_param;
16550         break;
16551       }
16552
16553       // optional .opencv_caffe.SPPParameter spp_param = 132;
16554       case 132: {
16555         if (tag == 1058) {
16556          parse_spp_param:
16557           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16558                input, mutable_spp_param()));
16559         } else {
16560           goto handle_unusual;
16561         }
16562         if (input->ExpectTag(1066)) goto parse_reshape_param;
16563         break;
16564       }
16565
16566       // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
16567       case 133: {
16568         if (tag == 1066) {
16569          parse_reshape_param:
16570           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16571                input, mutable_reshape_param()));
16572         } else {
16573           goto handle_unusual;
16574         }
16575         if (input->ExpectTag(1074)) goto parse_log_param;
16576         break;
16577       }
16578
16579       // optional .opencv_caffe.LogParameter log_param = 134;
16580       case 134: {
16581         if (tag == 1074) {
16582          parse_log_param:
16583           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16584                input, mutable_log_param()));
16585         } else {
16586           goto handle_unusual;
16587         }
16588         if (input->ExpectTag(1082)) goto parse_flatten_param;
16589         break;
16590       }
16591
16592       // optional .opencv_caffe.FlattenParameter flatten_param = 135;
16593       case 135: {
16594         if (tag == 1082) {
16595          parse_flatten_param:
16596           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16597                input, mutable_flatten_param()));
16598         } else {
16599           goto handle_unusual;
16600         }
16601         if (input->ExpectTag(1090)) goto parse_reduction_param;
16602         break;
16603       }
16604
16605       // optional .opencv_caffe.ReductionParameter reduction_param = 136;
16606       case 136: {
16607         if (tag == 1090) {
16608          parse_reduction_param:
16609           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16610                input, mutable_reduction_param()));
16611         } else {
16612           goto handle_unusual;
16613         }
16614         if (input->ExpectTag(1098)) goto parse_embed_param;
16615         break;
16616       }
16617
16618       // optional .opencv_caffe.EmbedParameter embed_param = 137;
16619       case 137: {
16620         if (tag == 1098) {
16621          parse_embed_param:
16622           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16623                input, mutable_embed_param()));
16624         } else {
16625           goto handle_unusual;
16626         }
16627         if (input->ExpectTag(1106)) goto parse_tile_param;
16628         break;
16629       }
16630
16631       // optional .opencv_caffe.TileParameter tile_param = 138;
16632       case 138: {
16633         if (tag == 1106) {
16634          parse_tile_param:
16635           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16636                input, mutable_tile_param()));
16637         } else {
16638           goto handle_unusual;
16639         }
16640         if (input->ExpectTag(1114)) goto parse_batch_norm_param;
16641         break;
16642       }
16643
16644       // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
16645       case 139: {
16646         if (tag == 1114) {
16647          parse_batch_norm_param:
16648           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16649                input, mutable_batch_norm_param()));
16650         } else {
16651           goto handle_unusual;
16652         }
16653         if (input->ExpectTag(1122)) goto parse_elu_param;
16654         break;
16655       }
16656
16657       // optional .opencv_caffe.ELUParameter elu_param = 140;
16658       case 140: {
16659         if (tag == 1122) {
16660          parse_elu_param:
16661           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16662                input, mutable_elu_param()));
16663         } else {
16664           goto handle_unusual;
16665         }
16666         if (input->ExpectTag(1130)) goto parse_bias_param;
16667         break;
16668       }
16669
16670       // optional .opencv_caffe.BiasParameter bias_param = 141;
16671       case 141: {
16672         if (tag == 1130) {
16673          parse_bias_param:
16674           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16675                input, mutable_bias_param()));
16676         } else {
16677           goto handle_unusual;
16678         }
16679         if (input->ExpectTag(1138)) goto parse_scale_param;
16680         break;
16681       }
16682
16683       // optional .opencv_caffe.ScaleParameter scale_param = 142;
16684       case 142: {
16685         if (tag == 1138) {
16686          parse_scale_param:
16687           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16688                input, mutable_scale_param()));
16689         } else {
16690           goto handle_unusual;
16691         }
16692         if (input->ExpectTag(1146)) goto parse_input_param;
16693         break;
16694       }
16695
16696       // optional .opencv_caffe.InputParameter input_param = 143;
16697       case 143: {
16698         if (tag == 1146) {
16699          parse_input_param:
16700           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16701                input, mutable_input_param()));
16702         } else {
16703           goto handle_unusual;
16704         }
16705         if (input->ExpectTag(1154)) goto parse_crop_param;
16706         break;
16707       }
16708
16709       // optional .opencv_caffe.CropParameter crop_param = 144;
16710       case 144: {
16711         if (tag == 1154) {
16712          parse_crop_param:
16713           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16714                input, mutable_crop_param()));
16715         } else {
16716           goto handle_unusual;
16717         }
16718         if (input->ExpectTag(1162)) goto parse_parameter_param;
16719         break;
16720       }
16721
16722       // optional .opencv_caffe.ParameterParameter parameter_param = 145;
16723       case 145: {
16724         if (tag == 1162) {
16725          parse_parameter_param:
16726           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16727                input, mutable_parameter_param()));
16728         } else {
16729           goto handle_unusual;
16730         }
16731         if (input->ExpectTag(1170)) goto parse_recurrent_param;
16732         break;
16733       }
16734
16735       // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
16736       case 146: {
16737         if (tag == 1170) {
16738          parse_recurrent_param:
16739           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16740                input, mutable_recurrent_param()));
16741         } else {
16742           goto handle_unusual;
16743         }
16744         if (input->ExpectTag(1178)) goto parse_detection_output_param;
16745         break;
16746       }
16747
16748       // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
16749       case 147: {
16750         if (tag == 1178) {
16751          parse_detection_output_param:
16752           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16753                input, mutable_detection_output_param()));
16754         } else {
16755           goto handle_unusual;
16756         }
16757         if (input->ExpectTag(1186)) goto parse_permute_param;
16758         break;
16759       }
16760
16761       // optional .opencv_caffe.PermuteParameter permute_param = 148;
16762       case 148: {
16763         if (tag == 1186) {
16764          parse_permute_param:
16765           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16766                input, mutable_permute_param()));
16767         } else {
16768           goto handle_unusual;
16769         }
16770         if (input->ExpectTag(1194)) goto parse_norm_param;
16771         break;
16772       }
16773
16774       // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
16775       case 149: {
16776         if (tag == 1194) {
16777          parse_norm_param:
16778           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16779                input, mutable_norm_param()));
16780         } else {
16781           goto handle_unusual;
16782         }
16783         if (input->ExpectTag(1202)) goto parse_prior_box_param;
16784         break;
16785       }
16786
16787       // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
16788       case 150: {
16789         if (tag == 1202) {
16790          parse_prior_box_param:
16791           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16792                input, mutable_prior_box_param()));
16793         } else {
16794           goto handle_unusual;
16795         }
16796         if (input->ExpectTag(66133690)) goto parse_roi_pooling_param;
16797         break;
16798       }
16799
16800       // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
16801       case 8266711: {
16802         if (tag == 66133690) {
16803          parse_roi_pooling_param:
16804           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
16805                input, mutable_roi_pooling_param()));
16806         } else {
16807           goto handle_unusual;
16808         }
16809         if (input->ExpectAtEnd()) goto success;
16810         break;
16811       }
16812
16813       default: {
16814       handle_unusual:
16815         if (tag == 0 ||
16816             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
16817             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
16818           goto success;
16819         }
16820         DO_(::google::protobuf::internal::WireFormat::SkipField(
16821               input, tag, mutable_unknown_fields()));
16822         break;
16823       }
16824     }
16825   }
16826 success:
16827   // @@protoc_insertion_point(parse_success:opencv_caffe.LayerParameter)
16828   return true;
16829 failure:
16830   // @@protoc_insertion_point(parse_failure:opencv_caffe.LayerParameter)
16831   return false;
16832 #undef DO_
16833 }
16834
16835 void LayerParameter::SerializeWithCachedSizes(
16836     ::google::protobuf::io::CodedOutputStream* output) const {
16837   // @@protoc_insertion_point(serialize_start:opencv_caffe.LayerParameter)
16838   // optional string name = 1;
16839   if (has_name()) {
16840     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16841       this->name().data(), this->name().length(),
16842       ::google::protobuf::internal::WireFormat::SERIALIZE,
16843       "opencv_caffe.LayerParameter.name");
16844     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
16845       1, this->name(), output);
16846   }
16847
16848   // optional string type = 2;
16849   if (has_type()) {
16850     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16851       this->type().data(), this->type().length(),
16852       ::google::protobuf::internal::WireFormat::SERIALIZE,
16853       "opencv_caffe.LayerParameter.type");
16854     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
16855       2, this->type(), output);
16856   }
16857
16858   // repeated string bottom = 3;
16859   for (int i = 0; i < this->bottom_size(); i++) {
16860     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16861       this->bottom(i).data(), this->bottom(i).length(),
16862       ::google::protobuf::internal::WireFormat::SERIALIZE,
16863       "opencv_caffe.LayerParameter.bottom");
16864     ::google::protobuf::internal::WireFormatLite::WriteString(
16865       3, this->bottom(i), output);
16866   }
16867
16868   // repeated string top = 4;
16869   for (int i = 0; i < this->top_size(); i++) {
16870     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
16871       this->top(i).data(), this->top(i).length(),
16872       ::google::protobuf::internal::WireFormat::SERIALIZE,
16873       "opencv_caffe.LayerParameter.top");
16874     ::google::protobuf::internal::WireFormatLite::WriteString(
16875       4, this->top(i), output);
16876   }
16877
16878   // repeated float loss_weight = 5;
16879   for (int i = 0; i < this->loss_weight_size(); i++) {
16880     ::google::protobuf::internal::WireFormatLite::WriteFloat(
16881       5, this->loss_weight(i), output);
16882   }
16883
16884   // repeated .opencv_caffe.ParamSpec param = 6;
16885   for (unsigned int i = 0, n = this->param_size(); i < n; i++) {
16886     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16887       6, this->param(i), output);
16888   }
16889
16890   // repeated .opencv_caffe.BlobProto blobs = 7;
16891   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
16892     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16893       7, this->blobs(i), output);
16894   }
16895
16896   // repeated .opencv_caffe.NetStateRule include = 8;
16897   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
16898     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16899       8, this->include(i), output);
16900   }
16901
16902   // repeated .opencv_caffe.NetStateRule exclude = 9;
16903   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
16904     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16905       9, this->exclude(i), output);
16906   }
16907
16908   // optional .opencv_caffe.Phase phase = 10;
16909   if (has_phase()) {
16910     ::google::protobuf::internal::WireFormatLite::WriteEnum(
16911       10, this->phase(), output);
16912   }
16913
16914   // repeated bool propagate_down = 11;
16915   for (int i = 0; i < this->propagate_down_size(); i++) {
16916     ::google::protobuf::internal::WireFormatLite::WriteBool(
16917       11, this->propagate_down(i), output);
16918   }
16919
16920   // optional .opencv_caffe.TransformationParameter transform_param = 100;
16921   if (has_transform_param()) {
16922     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16923       100, *this->transform_param_, output);
16924   }
16925
16926   // optional .opencv_caffe.LossParameter loss_param = 101;
16927   if (has_loss_param()) {
16928     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16929       101, *this->loss_param_, output);
16930   }
16931
16932   // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
16933   if (has_accuracy_param()) {
16934     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16935       102, *this->accuracy_param_, output);
16936   }
16937
16938   // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
16939   if (has_argmax_param()) {
16940     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16941       103, *this->argmax_param_, output);
16942   }
16943
16944   // optional .opencv_caffe.ConcatParameter concat_param = 104;
16945   if (has_concat_param()) {
16946     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16947       104, *this->concat_param_, output);
16948   }
16949
16950   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
16951   if (has_contrastive_loss_param()) {
16952     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16953       105, *this->contrastive_loss_param_, output);
16954   }
16955
16956   // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
16957   if (has_convolution_param()) {
16958     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16959       106, *this->convolution_param_, output);
16960   }
16961
16962   // optional .opencv_caffe.DataParameter data_param = 107;
16963   if (has_data_param()) {
16964     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16965       107, *this->data_param_, output);
16966   }
16967
16968   // optional .opencv_caffe.DropoutParameter dropout_param = 108;
16969   if (has_dropout_param()) {
16970     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16971       108, *this->dropout_param_, output);
16972   }
16973
16974   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
16975   if (has_dummy_data_param()) {
16976     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16977       109, *this->dummy_data_param_, output);
16978   }
16979
16980   // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
16981   if (has_eltwise_param()) {
16982     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16983       110, *this->eltwise_param_, output);
16984   }
16985
16986   // optional .opencv_caffe.ExpParameter exp_param = 111;
16987   if (has_exp_param()) {
16988     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16989       111, *this->exp_param_, output);
16990   }
16991
16992   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
16993   if (has_hdf5_data_param()) {
16994     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
16995       112, *this->hdf5_data_param_, output);
16996   }
16997
16998   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
16999   if (has_hdf5_output_param()) {
17000     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17001       113, *this->hdf5_output_param_, output);
17002   }
17003
17004   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
17005   if (has_hinge_loss_param()) {
17006     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17007       114, *this->hinge_loss_param_, output);
17008   }
17009
17010   // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
17011   if (has_image_data_param()) {
17012     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17013       115, *this->image_data_param_, output);
17014   }
17015
17016   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
17017   if (has_infogain_loss_param()) {
17018     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17019       116, *this->infogain_loss_param_, output);
17020   }
17021
17022   // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
17023   if (has_inner_product_param()) {
17024     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17025       117, *this->inner_product_param_, output);
17026   }
17027
17028   // optional .opencv_caffe.LRNParameter lrn_param = 118;
17029   if (has_lrn_param()) {
17030     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17031       118, *this->lrn_param_, output);
17032   }
17033
17034   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
17035   if (has_memory_data_param()) {
17036     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17037       119, *this->memory_data_param_, output);
17038   }
17039
17040   // optional .opencv_caffe.MVNParameter mvn_param = 120;
17041   if (has_mvn_param()) {
17042     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17043       120, *this->mvn_param_, output);
17044   }
17045
17046   // optional .opencv_caffe.PoolingParameter pooling_param = 121;
17047   if (has_pooling_param()) {
17048     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17049       121, *this->pooling_param_, output);
17050   }
17051
17052   // optional .opencv_caffe.PowerParameter power_param = 122;
17053   if (has_power_param()) {
17054     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17055       122, *this->power_param_, output);
17056   }
17057
17058   // optional .opencv_caffe.ReLUParameter relu_param = 123;
17059   if (has_relu_param()) {
17060     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17061       123, *this->relu_param_, output);
17062   }
17063
17064   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
17065   if (has_sigmoid_param()) {
17066     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17067       124, *this->sigmoid_param_, output);
17068   }
17069
17070   // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
17071   if (has_softmax_param()) {
17072     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17073       125, *this->softmax_param_, output);
17074   }
17075
17076   // optional .opencv_caffe.SliceParameter slice_param = 126;
17077   if (has_slice_param()) {
17078     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17079       126, *this->slice_param_, output);
17080   }
17081
17082   // optional .opencv_caffe.TanHParameter tanh_param = 127;
17083   if (has_tanh_param()) {
17084     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17085       127, *this->tanh_param_, output);
17086   }
17087
17088   // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
17089   if (has_threshold_param()) {
17090     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17091       128, *this->threshold_param_, output);
17092   }
17093
17094   // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
17095   if (has_window_data_param()) {
17096     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17097       129, *this->window_data_param_, output);
17098   }
17099
17100   // optional .opencv_caffe.PythonParameter python_param = 130;
17101   if (has_python_param()) {
17102     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17103       130, *this->python_param_, output);
17104   }
17105
17106   // optional .opencv_caffe.PReLUParameter prelu_param = 131;
17107   if (has_prelu_param()) {
17108     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17109       131, *this->prelu_param_, output);
17110   }
17111
17112   // optional .opencv_caffe.SPPParameter spp_param = 132;
17113   if (has_spp_param()) {
17114     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17115       132, *this->spp_param_, output);
17116   }
17117
17118   // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
17119   if (has_reshape_param()) {
17120     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17121       133, *this->reshape_param_, output);
17122   }
17123
17124   // optional .opencv_caffe.LogParameter log_param = 134;
17125   if (has_log_param()) {
17126     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17127       134, *this->log_param_, output);
17128   }
17129
17130   // optional .opencv_caffe.FlattenParameter flatten_param = 135;
17131   if (has_flatten_param()) {
17132     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17133       135, *this->flatten_param_, output);
17134   }
17135
17136   // optional .opencv_caffe.ReductionParameter reduction_param = 136;
17137   if (has_reduction_param()) {
17138     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17139       136, *this->reduction_param_, output);
17140   }
17141
17142   // optional .opencv_caffe.EmbedParameter embed_param = 137;
17143   if (has_embed_param()) {
17144     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17145       137, *this->embed_param_, output);
17146   }
17147
17148   // optional .opencv_caffe.TileParameter tile_param = 138;
17149   if (has_tile_param()) {
17150     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17151       138, *this->tile_param_, output);
17152   }
17153
17154   // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17155   if (has_batch_norm_param()) {
17156     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17157       139, *this->batch_norm_param_, output);
17158   }
17159
17160   // optional .opencv_caffe.ELUParameter elu_param = 140;
17161   if (has_elu_param()) {
17162     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17163       140, *this->elu_param_, output);
17164   }
17165
17166   // optional .opencv_caffe.BiasParameter bias_param = 141;
17167   if (has_bias_param()) {
17168     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17169       141, *this->bias_param_, output);
17170   }
17171
17172   // optional .opencv_caffe.ScaleParameter scale_param = 142;
17173   if (has_scale_param()) {
17174     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17175       142, *this->scale_param_, output);
17176   }
17177
17178   // optional .opencv_caffe.InputParameter input_param = 143;
17179   if (has_input_param()) {
17180     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17181       143, *this->input_param_, output);
17182   }
17183
17184   // optional .opencv_caffe.CropParameter crop_param = 144;
17185   if (has_crop_param()) {
17186     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17187       144, *this->crop_param_, output);
17188   }
17189
17190   // optional .opencv_caffe.ParameterParameter parameter_param = 145;
17191   if (has_parameter_param()) {
17192     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17193       145, *this->parameter_param_, output);
17194   }
17195
17196   // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
17197   if (has_recurrent_param()) {
17198     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17199       146, *this->recurrent_param_, output);
17200   }
17201
17202   // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17203   if (has_detection_output_param()) {
17204     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17205       147, *this->detection_output_param_, output);
17206   }
17207
17208   // optional .opencv_caffe.PermuteParameter permute_param = 148;
17209   if (has_permute_param()) {
17210     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17211       148, *this->permute_param_, output);
17212   }
17213
17214   // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
17215   if (has_norm_param()) {
17216     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17217       149, *this->norm_param_, output);
17218   }
17219
17220   // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
17221   if (has_prior_box_param()) {
17222     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17223       150, *this->prior_box_param_, output);
17224   }
17225
17226   // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
17227   if (has_roi_pooling_param()) {
17228     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
17229       8266711, *this->roi_pooling_param_, output);
17230   }
17231
17232   if (_internal_metadata_.have_unknown_fields()) {
17233     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
17234         unknown_fields(), output);
17235   }
17236   // @@protoc_insertion_point(serialize_end:opencv_caffe.LayerParameter)
17237 }
17238
17239 ::google::protobuf::uint8* LayerParameter::InternalSerializeWithCachedSizesToArray(
17240     bool deterministic, ::google::protobuf::uint8* target) const {
17241   (void)deterministic; // Unused
17242   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LayerParameter)
17243   // optional string name = 1;
17244   if (has_name()) {
17245     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17246       this->name().data(), this->name().length(),
17247       ::google::protobuf::internal::WireFormat::SERIALIZE,
17248       "opencv_caffe.LayerParameter.name");
17249     target =
17250       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
17251         1, this->name(), target);
17252   }
17253
17254   // optional string type = 2;
17255   if (has_type()) {
17256     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17257       this->type().data(), this->type().length(),
17258       ::google::protobuf::internal::WireFormat::SERIALIZE,
17259       "opencv_caffe.LayerParameter.type");
17260     target =
17261       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
17262         2, this->type(), target);
17263   }
17264
17265   // repeated string bottom = 3;
17266   for (int i = 0; i < this->bottom_size(); i++) {
17267     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17268       this->bottom(i).data(), this->bottom(i).length(),
17269       ::google::protobuf::internal::WireFormat::SERIALIZE,
17270       "opencv_caffe.LayerParameter.bottom");
17271     target = ::google::protobuf::internal::WireFormatLite::
17272       WriteStringToArray(3, this->bottom(i), target);
17273   }
17274
17275   // repeated string top = 4;
17276   for (int i = 0; i < this->top_size(); i++) {
17277     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
17278       this->top(i).data(), this->top(i).length(),
17279       ::google::protobuf::internal::WireFormat::SERIALIZE,
17280       "opencv_caffe.LayerParameter.top");
17281     target = ::google::protobuf::internal::WireFormatLite::
17282       WriteStringToArray(4, this->top(i), target);
17283   }
17284
17285   // repeated float loss_weight = 5;
17286   for (int i = 0; i < this->loss_weight_size(); i++) {
17287     target = ::google::protobuf::internal::WireFormatLite::
17288       WriteFloatToArray(5, this->loss_weight(i), target);
17289   }
17290
17291   // repeated .opencv_caffe.ParamSpec param = 6;
17292   for (unsigned int i = 0, n = this->param_size(); i < n; i++) {
17293     target = ::google::protobuf::internal::WireFormatLite::
17294       InternalWriteMessageNoVirtualToArray(
17295         6, this->param(i), false, target);
17296   }
17297
17298   // repeated .opencv_caffe.BlobProto blobs = 7;
17299   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
17300     target = ::google::protobuf::internal::WireFormatLite::
17301       InternalWriteMessageNoVirtualToArray(
17302         7, this->blobs(i), false, target);
17303   }
17304
17305   // repeated .opencv_caffe.NetStateRule include = 8;
17306   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
17307     target = ::google::protobuf::internal::WireFormatLite::
17308       InternalWriteMessageNoVirtualToArray(
17309         8, this->include(i), false, target);
17310   }
17311
17312   // repeated .opencv_caffe.NetStateRule exclude = 9;
17313   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
17314     target = ::google::protobuf::internal::WireFormatLite::
17315       InternalWriteMessageNoVirtualToArray(
17316         9, this->exclude(i), false, target);
17317   }
17318
17319   // optional .opencv_caffe.Phase phase = 10;
17320   if (has_phase()) {
17321     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
17322       10, this->phase(), target);
17323   }
17324
17325   // repeated bool propagate_down = 11;
17326   for (int i = 0; i < this->propagate_down_size(); i++) {
17327     target = ::google::protobuf::internal::WireFormatLite::
17328       WriteBoolToArray(11, this->propagate_down(i), target);
17329   }
17330
17331   // optional .opencv_caffe.TransformationParameter transform_param = 100;
17332   if (has_transform_param()) {
17333     target = ::google::protobuf::internal::WireFormatLite::
17334       InternalWriteMessageNoVirtualToArray(
17335         100, *this->transform_param_, false, target);
17336   }
17337
17338   // optional .opencv_caffe.LossParameter loss_param = 101;
17339   if (has_loss_param()) {
17340     target = ::google::protobuf::internal::WireFormatLite::
17341       InternalWriteMessageNoVirtualToArray(
17342         101, *this->loss_param_, false, target);
17343   }
17344
17345   // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
17346   if (has_accuracy_param()) {
17347     target = ::google::protobuf::internal::WireFormatLite::
17348       InternalWriteMessageNoVirtualToArray(
17349         102, *this->accuracy_param_, false, target);
17350   }
17351
17352   // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
17353   if (has_argmax_param()) {
17354     target = ::google::protobuf::internal::WireFormatLite::
17355       InternalWriteMessageNoVirtualToArray(
17356         103, *this->argmax_param_, false, target);
17357   }
17358
17359   // optional .opencv_caffe.ConcatParameter concat_param = 104;
17360   if (has_concat_param()) {
17361     target = ::google::protobuf::internal::WireFormatLite::
17362       InternalWriteMessageNoVirtualToArray(
17363         104, *this->concat_param_, false, target);
17364   }
17365
17366   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
17367   if (has_contrastive_loss_param()) {
17368     target = ::google::protobuf::internal::WireFormatLite::
17369       InternalWriteMessageNoVirtualToArray(
17370         105, *this->contrastive_loss_param_, false, target);
17371   }
17372
17373   // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
17374   if (has_convolution_param()) {
17375     target = ::google::protobuf::internal::WireFormatLite::
17376       InternalWriteMessageNoVirtualToArray(
17377         106, *this->convolution_param_, false, target);
17378   }
17379
17380   // optional .opencv_caffe.DataParameter data_param = 107;
17381   if (has_data_param()) {
17382     target = ::google::protobuf::internal::WireFormatLite::
17383       InternalWriteMessageNoVirtualToArray(
17384         107, *this->data_param_, false, target);
17385   }
17386
17387   // optional .opencv_caffe.DropoutParameter dropout_param = 108;
17388   if (has_dropout_param()) {
17389     target = ::google::protobuf::internal::WireFormatLite::
17390       InternalWriteMessageNoVirtualToArray(
17391         108, *this->dropout_param_, false, target);
17392   }
17393
17394   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
17395   if (has_dummy_data_param()) {
17396     target = ::google::protobuf::internal::WireFormatLite::
17397       InternalWriteMessageNoVirtualToArray(
17398         109, *this->dummy_data_param_, false, target);
17399   }
17400
17401   // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
17402   if (has_eltwise_param()) {
17403     target = ::google::protobuf::internal::WireFormatLite::
17404       InternalWriteMessageNoVirtualToArray(
17405         110, *this->eltwise_param_, false, target);
17406   }
17407
17408   // optional .opencv_caffe.ExpParameter exp_param = 111;
17409   if (has_exp_param()) {
17410     target = ::google::protobuf::internal::WireFormatLite::
17411       InternalWriteMessageNoVirtualToArray(
17412         111, *this->exp_param_, false, target);
17413   }
17414
17415   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
17416   if (has_hdf5_data_param()) {
17417     target = ::google::protobuf::internal::WireFormatLite::
17418       InternalWriteMessageNoVirtualToArray(
17419         112, *this->hdf5_data_param_, false, target);
17420   }
17421
17422   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
17423   if (has_hdf5_output_param()) {
17424     target = ::google::protobuf::internal::WireFormatLite::
17425       InternalWriteMessageNoVirtualToArray(
17426         113, *this->hdf5_output_param_, false, target);
17427   }
17428
17429   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
17430   if (has_hinge_loss_param()) {
17431     target = ::google::protobuf::internal::WireFormatLite::
17432       InternalWriteMessageNoVirtualToArray(
17433         114, *this->hinge_loss_param_, false, target);
17434   }
17435
17436   // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
17437   if (has_image_data_param()) {
17438     target = ::google::protobuf::internal::WireFormatLite::
17439       InternalWriteMessageNoVirtualToArray(
17440         115, *this->image_data_param_, false, target);
17441   }
17442
17443   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
17444   if (has_infogain_loss_param()) {
17445     target = ::google::protobuf::internal::WireFormatLite::
17446       InternalWriteMessageNoVirtualToArray(
17447         116, *this->infogain_loss_param_, false, target);
17448   }
17449
17450   // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
17451   if (has_inner_product_param()) {
17452     target = ::google::protobuf::internal::WireFormatLite::
17453       InternalWriteMessageNoVirtualToArray(
17454         117, *this->inner_product_param_, false, target);
17455   }
17456
17457   // optional .opencv_caffe.LRNParameter lrn_param = 118;
17458   if (has_lrn_param()) {
17459     target = ::google::protobuf::internal::WireFormatLite::
17460       InternalWriteMessageNoVirtualToArray(
17461         118, *this->lrn_param_, false, target);
17462   }
17463
17464   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
17465   if (has_memory_data_param()) {
17466     target = ::google::protobuf::internal::WireFormatLite::
17467       InternalWriteMessageNoVirtualToArray(
17468         119, *this->memory_data_param_, false, target);
17469   }
17470
17471   // optional .opencv_caffe.MVNParameter mvn_param = 120;
17472   if (has_mvn_param()) {
17473     target = ::google::protobuf::internal::WireFormatLite::
17474       InternalWriteMessageNoVirtualToArray(
17475         120, *this->mvn_param_, false, target);
17476   }
17477
17478   // optional .opencv_caffe.PoolingParameter pooling_param = 121;
17479   if (has_pooling_param()) {
17480     target = ::google::protobuf::internal::WireFormatLite::
17481       InternalWriteMessageNoVirtualToArray(
17482         121, *this->pooling_param_, false, target);
17483   }
17484
17485   // optional .opencv_caffe.PowerParameter power_param = 122;
17486   if (has_power_param()) {
17487     target = ::google::protobuf::internal::WireFormatLite::
17488       InternalWriteMessageNoVirtualToArray(
17489         122, *this->power_param_, false, target);
17490   }
17491
17492   // optional .opencv_caffe.ReLUParameter relu_param = 123;
17493   if (has_relu_param()) {
17494     target = ::google::protobuf::internal::WireFormatLite::
17495       InternalWriteMessageNoVirtualToArray(
17496         123, *this->relu_param_, false, target);
17497   }
17498
17499   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
17500   if (has_sigmoid_param()) {
17501     target = ::google::protobuf::internal::WireFormatLite::
17502       InternalWriteMessageNoVirtualToArray(
17503         124, *this->sigmoid_param_, false, target);
17504   }
17505
17506   // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
17507   if (has_softmax_param()) {
17508     target = ::google::protobuf::internal::WireFormatLite::
17509       InternalWriteMessageNoVirtualToArray(
17510         125, *this->softmax_param_, false, target);
17511   }
17512
17513   // optional .opencv_caffe.SliceParameter slice_param = 126;
17514   if (has_slice_param()) {
17515     target = ::google::protobuf::internal::WireFormatLite::
17516       InternalWriteMessageNoVirtualToArray(
17517         126, *this->slice_param_, false, target);
17518   }
17519
17520   // optional .opencv_caffe.TanHParameter tanh_param = 127;
17521   if (has_tanh_param()) {
17522     target = ::google::protobuf::internal::WireFormatLite::
17523       InternalWriteMessageNoVirtualToArray(
17524         127, *this->tanh_param_, false, target);
17525   }
17526
17527   // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
17528   if (has_threshold_param()) {
17529     target = ::google::protobuf::internal::WireFormatLite::
17530       InternalWriteMessageNoVirtualToArray(
17531         128, *this->threshold_param_, false, target);
17532   }
17533
17534   // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
17535   if (has_window_data_param()) {
17536     target = ::google::protobuf::internal::WireFormatLite::
17537       InternalWriteMessageNoVirtualToArray(
17538         129, *this->window_data_param_, false, target);
17539   }
17540
17541   // optional .opencv_caffe.PythonParameter python_param = 130;
17542   if (has_python_param()) {
17543     target = ::google::protobuf::internal::WireFormatLite::
17544       InternalWriteMessageNoVirtualToArray(
17545         130, *this->python_param_, false, target);
17546   }
17547
17548   // optional .opencv_caffe.PReLUParameter prelu_param = 131;
17549   if (has_prelu_param()) {
17550     target = ::google::protobuf::internal::WireFormatLite::
17551       InternalWriteMessageNoVirtualToArray(
17552         131, *this->prelu_param_, false, target);
17553   }
17554
17555   // optional .opencv_caffe.SPPParameter spp_param = 132;
17556   if (has_spp_param()) {
17557     target = ::google::protobuf::internal::WireFormatLite::
17558       InternalWriteMessageNoVirtualToArray(
17559         132, *this->spp_param_, false, target);
17560   }
17561
17562   // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
17563   if (has_reshape_param()) {
17564     target = ::google::protobuf::internal::WireFormatLite::
17565       InternalWriteMessageNoVirtualToArray(
17566         133, *this->reshape_param_, false, target);
17567   }
17568
17569   // optional .opencv_caffe.LogParameter log_param = 134;
17570   if (has_log_param()) {
17571     target = ::google::protobuf::internal::WireFormatLite::
17572       InternalWriteMessageNoVirtualToArray(
17573         134, *this->log_param_, false, target);
17574   }
17575
17576   // optional .opencv_caffe.FlattenParameter flatten_param = 135;
17577   if (has_flatten_param()) {
17578     target = ::google::protobuf::internal::WireFormatLite::
17579       InternalWriteMessageNoVirtualToArray(
17580         135, *this->flatten_param_, false, target);
17581   }
17582
17583   // optional .opencv_caffe.ReductionParameter reduction_param = 136;
17584   if (has_reduction_param()) {
17585     target = ::google::protobuf::internal::WireFormatLite::
17586       InternalWriteMessageNoVirtualToArray(
17587         136, *this->reduction_param_, false, target);
17588   }
17589
17590   // optional .opencv_caffe.EmbedParameter embed_param = 137;
17591   if (has_embed_param()) {
17592     target = ::google::protobuf::internal::WireFormatLite::
17593       InternalWriteMessageNoVirtualToArray(
17594         137, *this->embed_param_, false, target);
17595   }
17596
17597   // optional .opencv_caffe.TileParameter tile_param = 138;
17598   if (has_tile_param()) {
17599     target = ::google::protobuf::internal::WireFormatLite::
17600       InternalWriteMessageNoVirtualToArray(
17601         138, *this->tile_param_, false, target);
17602   }
17603
17604   // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17605   if (has_batch_norm_param()) {
17606     target = ::google::protobuf::internal::WireFormatLite::
17607       InternalWriteMessageNoVirtualToArray(
17608         139, *this->batch_norm_param_, false, target);
17609   }
17610
17611   // optional .opencv_caffe.ELUParameter elu_param = 140;
17612   if (has_elu_param()) {
17613     target = ::google::protobuf::internal::WireFormatLite::
17614       InternalWriteMessageNoVirtualToArray(
17615         140, *this->elu_param_, false, target);
17616   }
17617
17618   // optional .opencv_caffe.BiasParameter bias_param = 141;
17619   if (has_bias_param()) {
17620     target = ::google::protobuf::internal::WireFormatLite::
17621       InternalWriteMessageNoVirtualToArray(
17622         141, *this->bias_param_, false, target);
17623   }
17624
17625   // optional .opencv_caffe.ScaleParameter scale_param = 142;
17626   if (has_scale_param()) {
17627     target = ::google::protobuf::internal::WireFormatLite::
17628       InternalWriteMessageNoVirtualToArray(
17629         142, *this->scale_param_, false, target);
17630   }
17631
17632   // optional .opencv_caffe.InputParameter input_param = 143;
17633   if (has_input_param()) {
17634     target = ::google::protobuf::internal::WireFormatLite::
17635       InternalWriteMessageNoVirtualToArray(
17636         143, *this->input_param_, false, target);
17637   }
17638
17639   // optional .opencv_caffe.CropParameter crop_param = 144;
17640   if (has_crop_param()) {
17641     target = ::google::protobuf::internal::WireFormatLite::
17642       InternalWriteMessageNoVirtualToArray(
17643         144, *this->crop_param_, false, target);
17644   }
17645
17646   // optional .opencv_caffe.ParameterParameter parameter_param = 145;
17647   if (has_parameter_param()) {
17648     target = ::google::protobuf::internal::WireFormatLite::
17649       InternalWriteMessageNoVirtualToArray(
17650         145, *this->parameter_param_, false, target);
17651   }
17652
17653   // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
17654   if (has_recurrent_param()) {
17655     target = ::google::protobuf::internal::WireFormatLite::
17656       InternalWriteMessageNoVirtualToArray(
17657         146, *this->recurrent_param_, false, target);
17658   }
17659
17660   // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17661   if (has_detection_output_param()) {
17662     target = ::google::protobuf::internal::WireFormatLite::
17663       InternalWriteMessageNoVirtualToArray(
17664         147, *this->detection_output_param_, false, target);
17665   }
17666
17667   // optional .opencv_caffe.PermuteParameter permute_param = 148;
17668   if (has_permute_param()) {
17669     target = ::google::protobuf::internal::WireFormatLite::
17670       InternalWriteMessageNoVirtualToArray(
17671         148, *this->permute_param_, false, target);
17672   }
17673
17674   // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
17675   if (has_norm_param()) {
17676     target = ::google::protobuf::internal::WireFormatLite::
17677       InternalWriteMessageNoVirtualToArray(
17678         149, *this->norm_param_, false, target);
17679   }
17680
17681   // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
17682   if (has_prior_box_param()) {
17683     target = ::google::protobuf::internal::WireFormatLite::
17684       InternalWriteMessageNoVirtualToArray(
17685         150, *this->prior_box_param_, false, target);
17686   }
17687
17688   // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
17689   if (has_roi_pooling_param()) {
17690     target = ::google::protobuf::internal::WireFormatLite::
17691       InternalWriteMessageNoVirtualToArray(
17692         8266711, *this->roi_pooling_param_, false, target);
17693   }
17694
17695   if (_internal_metadata_.have_unknown_fields()) {
17696     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
17697         unknown_fields(), target);
17698   }
17699   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LayerParameter)
17700   return target;
17701 }
17702
17703 size_t LayerParameter::ByteSizeLong() const {
17704 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LayerParameter)
17705   size_t total_size = 0;
17706
17707   if (_has_bits_[0 / 32] & 19u) {
17708     // optional string name = 1;
17709     if (has_name()) {
17710       total_size += 1 +
17711         ::google::protobuf::internal::WireFormatLite::StringSize(
17712           this->name());
17713     }
17714
17715     // optional string type = 2;
17716     if (has_type()) {
17717       total_size += 1 +
17718         ::google::protobuf::internal::WireFormatLite::StringSize(
17719           this->type());
17720     }
17721
17722     // optional .opencv_caffe.Phase phase = 10;
17723     if (has_phase()) {
17724       total_size += 1 +
17725         ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase());
17726     }
17727
17728   }
17729   if (_has_bits_[11 / 32] & 63488u) {
17730     // optional .opencv_caffe.TransformationParameter transform_param = 100;
17731     if (has_transform_param()) {
17732       total_size += 2 +
17733         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17734           *this->transform_param_);
17735     }
17736
17737     // optional .opencv_caffe.LossParameter loss_param = 101;
17738     if (has_loss_param()) {
17739       total_size += 2 +
17740         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17741           *this->loss_param_);
17742     }
17743
17744     // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
17745     if (has_accuracy_param()) {
17746       total_size += 2 +
17747         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17748           *this->accuracy_param_);
17749     }
17750
17751     // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
17752     if (has_argmax_param()) {
17753       total_size += 2 +
17754         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17755           *this->argmax_param_);
17756     }
17757
17758     // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17759     if (has_batch_norm_param()) {
17760       total_size += 2 +
17761         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17762           *this->batch_norm_param_);
17763     }
17764
17765   }
17766   if (_has_bits_[16 / 32] & 16711680u) {
17767     // optional .opencv_caffe.BiasParameter bias_param = 141;
17768     if (has_bias_param()) {
17769       total_size += 2 +
17770         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17771           *this->bias_param_);
17772     }
17773
17774     // optional .opencv_caffe.ConcatParameter concat_param = 104;
17775     if (has_concat_param()) {
17776       total_size += 2 +
17777         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17778           *this->concat_param_);
17779     }
17780
17781     // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
17782     if (has_contrastive_loss_param()) {
17783       total_size += 2 +
17784         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17785           *this->contrastive_loss_param_);
17786     }
17787
17788     // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
17789     if (has_convolution_param()) {
17790       total_size += 2 +
17791         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17792           *this->convolution_param_);
17793     }
17794
17795     // optional .opencv_caffe.CropParameter crop_param = 144;
17796     if (has_crop_param()) {
17797       total_size += 2 +
17798         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17799           *this->crop_param_);
17800     }
17801
17802     // optional .opencv_caffe.DataParameter data_param = 107;
17803     if (has_data_param()) {
17804       total_size += 2 +
17805         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17806           *this->data_param_);
17807     }
17808
17809     // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17810     if (has_detection_output_param()) {
17811       total_size += 2 +
17812         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17813           *this->detection_output_param_);
17814     }
17815
17816     // optional .opencv_caffe.DropoutParameter dropout_param = 108;
17817     if (has_dropout_param()) {
17818       total_size += 2 +
17819         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17820           *this->dropout_param_);
17821     }
17822
17823   }
17824   if (_has_bits_[24 / 32] & 4278190080u) {
17825     // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
17826     if (has_dummy_data_param()) {
17827       total_size += 2 +
17828         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17829           *this->dummy_data_param_);
17830     }
17831
17832     // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
17833     if (has_eltwise_param()) {
17834       total_size += 2 +
17835         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17836           *this->eltwise_param_);
17837     }
17838
17839     // optional .opencv_caffe.ELUParameter elu_param = 140;
17840     if (has_elu_param()) {
17841       total_size += 2 +
17842         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17843           *this->elu_param_);
17844     }
17845
17846     // optional .opencv_caffe.EmbedParameter embed_param = 137;
17847     if (has_embed_param()) {
17848       total_size += 2 +
17849         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17850           *this->embed_param_);
17851     }
17852
17853     // optional .opencv_caffe.ExpParameter exp_param = 111;
17854     if (has_exp_param()) {
17855       total_size += 2 +
17856         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17857           *this->exp_param_);
17858     }
17859
17860     // optional .opencv_caffe.FlattenParameter flatten_param = 135;
17861     if (has_flatten_param()) {
17862       total_size += 2 +
17863         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17864           *this->flatten_param_);
17865     }
17866
17867     // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
17868     if (has_hdf5_data_param()) {
17869       total_size += 2 +
17870         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17871           *this->hdf5_data_param_);
17872     }
17873
17874     // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
17875     if (has_hdf5_output_param()) {
17876       total_size += 2 +
17877         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17878           *this->hdf5_output_param_);
17879     }
17880
17881   }
17882   if (_has_bits_[32 / 32] & 255u) {
17883     // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
17884     if (has_hinge_loss_param()) {
17885       total_size += 2 +
17886         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17887           *this->hinge_loss_param_);
17888     }
17889
17890     // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
17891     if (has_image_data_param()) {
17892       total_size += 2 +
17893         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17894           *this->image_data_param_);
17895     }
17896
17897     // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
17898     if (has_infogain_loss_param()) {
17899       total_size += 2 +
17900         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17901           *this->infogain_loss_param_);
17902     }
17903
17904     // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
17905     if (has_inner_product_param()) {
17906       total_size += 2 +
17907         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17908           *this->inner_product_param_);
17909     }
17910
17911     // optional .opencv_caffe.InputParameter input_param = 143;
17912     if (has_input_param()) {
17913       total_size += 2 +
17914         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17915           *this->input_param_);
17916     }
17917
17918     // optional .opencv_caffe.LogParameter log_param = 134;
17919     if (has_log_param()) {
17920       total_size += 2 +
17921         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17922           *this->log_param_);
17923     }
17924
17925     // optional .opencv_caffe.LRNParameter lrn_param = 118;
17926     if (has_lrn_param()) {
17927       total_size += 2 +
17928         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17929           *this->lrn_param_);
17930     }
17931
17932     // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
17933     if (has_memory_data_param()) {
17934       total_size += 2 +
17935         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17936           *this->memory_data_param_);
17937     }
17938
17939   }
17940   if (_has_bits_[40 / 32] & 65280u) {
17941     // optional .opencv_caffe.MVNParameter mvn_param = 120;
17942     if (has_mvn_param()) {
17943       total_size += 2 +
17944         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17945           *this->mvn_param_);
17946     }
17947
17948     // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
17949     if (has_norm_param()) {
17950       total_size += 2 +
17951         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17952           *this->norm_param_);
17953     }
17954
17955     // optional .opencv_caffe.PermuteParameter permute_param = 148;
17956     if (has_permute_param()) {
17957       total_size += 2 +
17958         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17959           *this->permute_param_);
17960     }
17961
17962     // optional .opencv_caffe.ParameterParameter parameter_param = 145;
17963     if (has_parameter_param()) {
17964       total_size += 2 +
17965         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17966           *this->parameter_param_);
17967     }
17968
17969     // optional .opencv_caffe.PoolingParameter pooling_param = 121;
17970     if (has_pooling_param()) {
17971       total_size += 2 +
17972         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17973           *this->pooling_param_);
17974     }
17975
17976     // optional .opencv_caffe.PowerParameter power_param = 122;
17977     if (has_power_param()) {
17978       total_size += 2 +
17979         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17980           *this->power_param_);
17981     }
17982
17983     // optional .opencv_caffe.PReLUParameter prelu_param = 131;
17984     if (has_prelu_param()) {
17985       total_size += 2 +
17986         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17987           *this->prelu_param_);
17988     }
17989
17990     // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
17991     if (has_prior_box_param()) {
17992       total_size += 2 +
17993         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
17994           *this->prior_box_param_);
17995     }
17996
17997   }
17998   if (_has_bits_[48 / 32] & 16711680u) {
17999     // optional .opencv_caffe.PythonParameter python_param = 130;
18000     if (has_python_param()) {
18001       total_size += 2 +
18002         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18003           *this->python_param_);
18004     }
18005
18006     // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
18007     if (has_recurrent_param()) {
18008       total_size += 2 +
18009         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18010           *this->recurrent_param_);
18011     }
18012
18013     // optional .opencv_caffe.ReductionParameter reduction_param = 136;
18014     if (has_reduction_param()) {
18015       total_size += 2 +
18016         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18017           *this->reduction_param_);
18018     }
18019
18020     // optional .opencv_caffe.ReLUParameter relu_param = 123;
18021     if (has_relu_param()) {
18022       total_size += 2 +
18023         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18024           *this->relu_param_);
18025     }
18026
18027     // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
18028     if (has_reshape_param()) {
18029       total_size += 2 +
18030         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18031           *this->reshape_param_);
18032     }
18033
18034     // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
18035     if (has_roi_pooling_param()) {
18036       total_size += 4 +
18037         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18038           *this->roi_pooling_param_);
18039     }
18040
18041     // optional .opencv_caffe.ScaleParameter scale_param = 142;
18042     if (has_scale_param()) {
18043       total_size += 2 +
18044         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18045           *this->scale_param_);
18046     }
18047
18048     // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
18049     if (has_sigmoid_param()) {
18050       total_size += 2 +
18051         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18052           *this->sigmoid_param_);
18053     }
18054
18055   }
18056   if (_has_bits_[56 / 32] & 2130706432u) {
18057     // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
18058     if (has_softmax_param()) {
18059       total_size += 2 +
18060         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18061           *this->softmax_param_);
18062     }
18063
18064     // optional .opencv_caffe.SPPParameter spp_param = 132;
18065     if (has_spp_param()) {
18066       total_size += 2 +
18067         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18068           *this->spp_param_);
18069     }
18070
18071     // optional .opencv_caffe.SliceParameter slice_param = 126;
18072     if (has_slice_param()) {
18073       total_size += 2 +
18074         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18075           *this->slice_param_);
18076     }
18077
18078     // optional .opencv_caffe.TanHParameter tanh_param = 127;
18079     if (has_tanh_param()) {
18080       total_size += 2 +
18081         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18082           *this->tanh_param_);
18083     }
18084
18085     // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
18086     if (has_threshold_param()) {
18087       total_size += 2 +
18088         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18089           *this->threshold_param_);
18090     }
18091
18092     // optional .opencv_caffe.TileParameter tile_param = 138;
18093     if (has_tile_param()) {
18094       total_size += 2 +
18095         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18096           *this->tile_param_);
18097     }
18098
18099     // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
18100     if (has_window_data_param()) {
18101       total_size += 2 +
18102         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18103           *this->window_data_param_);
18104     }
18105
18106   }
18107   // repeated string bottom = 3;
18108   total_size += 1 *
18109       ::google::protobuf::internal::FromIntSize(this->bottom_size());
18110   for (int i = 0; i < this->bottom_size(); i++) {
18111     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
18112       this->bottom(i));
18113   }
18114
18115   // repeated string top = 4;
18116   total_size += 1 *
18117       ::google::protobuf::internal::FromIntSize(this->top_size());
18118   for (int i = 0; i < this->top_size(); i++) {
18119     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
18120       this->top(i));
18121   }
18122
18123   // repeated float loss_weight = 5;
18124   {
18125     size_t data_size = 0;
18126     unsigned int count = this->loss_weight_size();
18127     data_size = 4UL * count;
18128     total_size += 1 *
18129                   ::google::protobuf::internal::FromIntSize(this->loss_weight_size());
18130     total_size += data_size;
18131   }
18132
18133   // repeated .opencv_caffe.ParamSpec param = 6;
18134   {
18135     unsigned int count = this->param_size();
18136     total_size += 1UL * count;
18137     for (unsigned int i = 0; i < count; i++) {
18138       total_size +=
18139         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18140           this->param(i));
18141     }
18142   }
18143
18144   // repeated .opencv_caffe.BlobProto blobs = 7;
18145   {
18146     unsigned int count = this->blobs_size();
18147     total_size += 1UL * count;
18148     for (unsigned int i = 0; i < count; i++) {
18149       total_size +=
18150         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18151           this->blobs(i));
18152     }
18153   }
18154
18155   // repeated bool propagate_down = 11;
18156   {
18157     size_t data_size = 0;
18158     unsigned int count = this->propagate_down_size();
18159     data_size = 1UL * count;
18160     total_size += 1 *
18161                   ::google::protobuf::internal::FromIntSize(this->propagate_down_size());
18162     total_size += data_size;
18163   }
18164
18165   // repeated .opencv_caffe.NetStateRule include = 8;
18166   {
18167     unsigned int count = this->include_size();
18168     total_size += 1UL * count;
18169     for (unsigned int i = 0; i < count; i++) {
18170       total_size +=
18171         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18172           this->include(i));
18173     }
18174   }
18175
18176   // repeated .opencv_caffe.NetStateRule exclude = 9;
18177   {
18178     unsigned int count = this->exclude_size();
18179     total_size += 1UL * count;
18180     for (unsigned int i = 0; i < count; i++) {
18181       total_size +=
18182         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
18183           this->exclude(i));
18184     }
18185   }
18186
18187   if (_internal_metadata_.have_unknown_fields()) {
18188     total_size +=
18189       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
18190         unknown_fields());
18191   }
18192   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
18193   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
18194   _cached_size_ = cached_size;
18195   GOOGLE_SAFE_CONCURRENT_WRITES_END();
18196   return total_size;
18197 }
18198
18199 void LayerParameter::MergeFrom(const ::google::protobuf::Message& from) {
18200 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LayerParameter)
18201   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
18202   const LayerParameter* source =
18203       ::google::protobuf::internal::DynamicCastToGenerated<const LayerParameter>(
18204           &from);
18205   if (source == NULL) {
18206   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LayerParameter)
18207     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
18208   } else {
18209   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LayerParameter)
18210     UnsafeMergeFrom(*source);
18211   }
18212 }
18213
18214 void LayerParameter::MergeFrom(const LayerParameter& from) {
18215 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LayerParameter)
18216   if (GOOGLE_PREDICT_TRUE(&from != this)) {
18217     UnsafeMergeFrom(from);
18218   } else {
18219     MergeFromFail(__LINE__);
18220   }
18221 }
18222
18223 void LayerParameter::UnsafeMergeFrom(const LayerParameter& from) {
18224   GOOGLE_DCHECK(&from != this);
18225   bottom_.UnsafeMergeFrom(from.bottom_);
18226   top_.UnsafeMergeFrom(from.top_);
18227   loss_weight_.UnsafeMergeFrom(from.loss_weight_);
18228   param_.MergeFrom(from.param_);
18229   blobs_.MergeFrom(from.blobs_);
18230   propagate_down_.UnsafeMergeFrom(from.propagate_down_);
18231   include_.MergeFrom(from.include_);
18232   exclude_.MergeFrom(from.exclude_);
18233   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
18234     if (from.has_name()) {
18235       set_has_name();
18236       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
18237     }
18238     if (from.has_type()) {
18239       set_has_type();
18240       type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.type_);
18241     }
18242     if (from.has_phase()) {
18243       set_phase(from.phase());
18244     }
18245   }
18246   if (from._has_bits_[11 / 32] & (0xffu << (11 % 32))) {
18247     if (from.has_transform_param()) {
18248       mutable_transform_param()->::opencv_caffe::TransformationParameter::MergeFrom(from.transform_param());
18249     }
18250     if (from.has_loss_param()) {
18251       mutable_loss_param()->::opencv_caffe::LossParameter::MergeFrom(from.loss_param());
18252     }
18253     if (from.has_accuracy_param()) {
18254       mutable_accuracy_param()->::opencv_caffe::AccuracyParameter::MergeFrom(from.accuracy_param());
18255     }
18256     if (from.has_argmax_param()) {
18257       mutable_argmax_param()->::opencv_caffe::ArgMaxParameter::MergeFrom(from.argmax_param());
18258     }
18259     if (from.has_batch_norm_param()) {
18260       mutable_batch_norm_param()->::opencv_caffe::BatchNormParameter::MergeFrom(from.batch_norm_param());
18261     }
18262   }
18263   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
18264     if (from.has_bias_param()) {
18265       mutable_bias_param()->::opencv_caffe::BiasParameter::MergeFrom(from.bias_param());
18266     }
18267     if (from.has_concat_param()) {
18268       mutable_concat_param()->::opencv_caffe::ConcatParameter::MergeFrom(from.concat_param());
18269     }
18270     if (from.has_contrastive_loss_param()) {
18271       mutable_contrastive_loss_param()->::opencv_caffe::ContrastiveLossParameter::MergeFrom(from.contrastive_loss_param());
18272     }
18273     if (from.has_convolution_param()) {
18274       mutable_convolution_param()->::opencv_caffe::ConvolutionParameter::MergeFrom(from.convolution_param());
18275     }
18276     if (from.has_crop_param()) {
18277       mutable_crop_param()->::opencv_caffe::CropParameter::MergeFrom(from.crop_param());
18278     }
18279     if (from.has_data_param()) {
18280       mutable_data_param()->::opencv_caffe::DataParameter::MergeFrom(from.data_param());
18281     }
18282     if (from.has_detection_output_param()) {
18283       mutable_detection_output_param()->::opencv_caffe::DetectionOutputParameter::MergeFrom(from.detection_output_param());
18284     }
18285     if (from.has_dropout_param()) {
18286       mutable_dropout_param()->::opencv_caffe::DropoutParameter::MergeFrom(from.dropout_param());
18287     }
18288   }
18289   if (from._has_bits_[24 / 32] & (0xffu << (24 % 32))) {
18290     if (from.has_dummy_data_param()) {
18291       mutable_dummy_data_param()->::opencv_caffe::DummyDataParameter::MergeFrom(from.dummy_data_param());
18292     }
18293     if (from.has_eltwise_param()) {
18294       mutable_eltwise_param()->::opencv_caffe::EltwiseParameter::MergeFrom(from.eltwise_param());
18295     }
18296     if (from.has_elu_param()) {
18297       mutable_elu_param()->::opencv_caffe::ELUParameter::MergeFrom(from.elu_param());
18298     }
18299     if (from.has_embed_param()) {
18300       mutable_embed_param()->::opencv_caffe::EmbedParameter::MergeFrom(from.embed_param());
18301     }
18302     if (from.has_exp_param()) {
18303       mutable_exp_param()->::opencv_caffe::ExpParameter::MergeFrom(from.exp_param());
18304     }
18305     if (from.has_flatten_param()) {
18306       mutable_flatten_param()->::opencv_caffe::FlattenParameter::MergeFrom(from.flatten_param());
18307     }
18308     if (from.has_hdf5_data_param()) {
18309       mutable_hdf5_data_param()->::opencv_caffe::HDF5DataParameter::MergeFrom(from.hdf5_data_param());
18310     }
18311     if (from.has_hdf5_output_param()) {
18312       mutable_hdf5_output_param()->::opencv_caffe::HDF5OutputParameter::MergeFrom(from.hdf5_output_param());
18313     }
18314   }
18315   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
18316     if (from.has_hinge_loss_param()) {
18317       mutable_hinge_loss_param()->::opencv_caffe::HingeLossParameter::MergeFrom(from.hinge_loss_param());
18318     }
18319     if (from.has_image_data_param()) {
18320       mutable_image_data_param()->::opencv_caffe::ImageDataParameter::MergeFrom(from.image_data_param());
18321     }
18322     if (from.has_infogain_loss_param()) {
18323       mutable_infogain_loss_param()->::opencv_caffe::InfogainLossParameter::MergeFrom(from.infogain_loss_param());
18324     }
18325     if (from.has_inner_product_param()) {
18326       mutable_inner_product_param()->::opencv_caffe::InnerProductParameter::MergeFrom(from.inner_product_param());
18327     }
18328     if (from.has_input_param()) {
18329       mutable_input_param()->::opencv_caffe::InputParameter::MergeFrom(from.input_param());
18330     }
18331     if (from.has_log_param()) {
18332       mutable_log_param()->::opencv_caffe::LogParameter::MergeFrom(from.log_param());
18333     }
18334     if (from.has_lrn_param()) {
18335       mutable_lrn_param()->::opencv_caffe::LRNParameter::MergeFrom(from.lrn_param());
18336     }
18337     if (from.has_memory_data_param()) {
18338       mutable_memory_data_param()->::opencv_caffe::MemoryDataParameter::MergeFrom(from.memory_data_param());
18339     }
18340   }
18341   if (from._has_bits_[40 / 32] & (0xffu << (40 % 32))) {
18342     if (from.has_mvn_param()) {
18343       mutable_mvn_param()->::opencv_caffe::MVNParameter::MergeFrom(from.mvn_param());
18344     }
18345     if (from.has_norm_param()) {
18346       mutable_norm_param()->::opencv_caffe::NormalizeBBoxParameter::MergeFrom(from.norm_param());
18347     }
18348     if (from.has_permute_param()) {
18349       mutable_permute_param()->::opencv_caffe::PermuteParameter::MergeFrom(from.permute_param());
18350     }
18351     if (from.has_parameter_param()) {
18352       mutable_parameter_param()->::opencv_caffe::ParameterParameter::MergeFrom(from.parameter_param());
18353     }
18354     if (from.has_pooling_param()) {
18355       mutable_pooling_param()->::opencv_caffe::PoolingParameter::MergeFrom(from.pooling_param());
18356     }
18357     if (from.has_power_param()) {
18358       mutable_power_param()->::opencv_caffe::PowerParameter::MergeFrom(from.power_param());
18359     }
18360     if (from.has_prelu_param()) {
18361       mutable_prelu_param()->::opencv_caffe::PReLUParameter::MergeFrom(from.prelu_param());
18362     }
18363     if (from.has_prior_box_param()) {
18364       mutable_prior_box_param()->::opencv_caffe::PriorBoxParameter::MergeFrom(from.prior_box_param());
18365     }
18366   }
18367   if (from._has_bits_[48 / 32] & (0xffu << (48 % 32))) {
18368     if (from.has_python_param()) {
18369       mutable_python_param()->::opencv_caffe::PythonParameter::MergeFrom(from.python_param());
18370     }
18371     if (from.has_recurrent_param()) {
18372       mutable_recurrent_param()->::opencv_caffe::RecurrentParameter::MergeFrom(from.recurrent_param());
18373     }
18374     if (from.has_reduction_param()) {
18375       mutable_reduction_param()->::opencv_caffe::ReductionParameter::MergeFrom(from.reduction_param());
18376     }
18377     if (from.has_relu_param()) {
18378       mutable_relu_param()->::opencv_caffe::ReLUParameter::MergeFrom(from.relu_param());
18379     }
18380     if (from.has_reshape_param()) {
18381       mutable_reshape_param()->::opencv_caffe::ReshapeParameter::MergeFrom(from.reshape_param());
18382     }
18383     if (from.has_roi_pooling_param()) {
18384       mutable_roi_pooling_param()->::opencv_caffe::ROIPoolingParameter::MergeFrom(from.roi_pooling_param());
18385     }
18386     if (from.has_scale_param()) {
18387       mutable_scale_param()->::opencv_caffe::ScaleParameter::MergeFrom(from.scale_param());
18388     }
18389     if (from.has_sigmoid_param()) {
18390       mutable_sigmoid_param()->::opencv_caffe::SigmoidParameter::MergeFrom(from.sigmoid_param());
18391     }
18392   }
18393   if (from._has_bits_[56 / 32] & (0xffu << (56 % 32))) {
18394     if (from.has_softmax_param()) {
18395       mutable_softmax_param()->::opencv_caffe::SoftmaxParameter::MergeFrom(from.softmax_param());
18396     }
18397     if (from.has_spp_param()) {
18398       mutable_spp_param()->::opencv_caffe::SPPParameter::MergeFrom(from.spp_param());
18399     }
18400     if (from.has_slice_param()) {
18401       mutable_slice_param()->::opencv_caffe::SliceParameter::MergeFrom(from.slice_param());
18402     }
18403     if (from.has_tanh_param()) {
18404       mutable_tanh_param()->::opencv_caffe::TanHParameter::MergeFrom(from.tanh_param());
18405     }
18406     if (from.has_threshold_param()) {
18407       mutable_threshold_param()->::opencv_caffe::ThresholdParameter::MergeFrom(from.threshold_param());
18408     }
18409     if (from.has_tile_param()) {
18410       mutable_tile_param()->::opencv_caffe::TileParameter::MergeFrom(from.tile_param());
18411     }
18412     if (from.has_window_data_param()) {
18413       mutable_window_data_param()->::opencv_caffe::WindowDataParameter::MergeFrom(from.window_data_param());
18414     }
18415   }
18416   if (from._internal_metadata_.have_unknown_fields()) {
18417     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
18418       from.unknown_fields(), &_internal_metadata_);
18419   }
18420 }
18421
18422 void LayerParameter::CopyFrom(const ::google::protobuf::Message& from) {
18423 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LayerParameter)
18424   if (&from == this) return;
18425   Clear();
18426   MergeFrom(from);
18427 }
18428
18429 void LayerParameter::CopyFrom(const LayerParameter& from) {
18430 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LayerParameter)
18431   if (&from == this) return;
18432   Clear();
18433   UnsafeMergeFrom(from);
18434 }
18435
18436 bool LayerParameter::IsInitialized() const {
18437
18438   return true;
18439 }
18440
18441 void LayerParameter::Swap(LayerParameter* other) {
18442   if (other == this) return;
18443   InternalSwap(other);
18444 }
18445 void LayerParameter::InternalSwap(LayerParameter* other) {
18446   name_.Swap(&other->name_);
18447   type_.Swap(&other->type_);
18448   bottom_.UnsafeArenaSwap(&other->bottom_);
18449   top_.UnsafeArenaSwap(&other->top_);
18450   std::swap(phase_, other->phase_);
18451   loss_weight_.UnsafeArenaSwap(&other->loss_weight_);
18452   param_.UnsafeArenaSwap(&other->param_);
18453   blobs_.UnsafeArenaSwap(&other->blobs_);
18454   propagate_down_.UnsafeArenaSwap(&other->propagate_down_);
18455   include_.UnsafeArenaSwap(&other->include_);
18456   exclude_.UnsafeArenaSwap(&other->exclude_);
18457   std::swap(transform_param_, other->transform_param_);
18458   std::swap(loss_param_, other->loss_param_);
18459   std::swap(accuracy_param_, other->accuracy_param_);
18460   std::swap(argmax_param_, other->argmax_param_);
18461   std::swap(batch_norm_param_, other->batch_norm_param_);
18462   std::swap(bias_param_, other->bias_param_);
18463   std::swap(concat_param_, other->concat_param_);
18464   std::swap(contrastive_loss_param_, other->contrastive_loss_param_);
18465   std::swap(convolution_param_, other->convolution_param_);
18466   std::swap(crop_param_, other->crop_param_);
18467   std::swap(data_param_, other->data_param_);
18468   std::swap(detection_output_param_, other->detection_output_param_);
18469   std::swap(dropout_param_, other->dropout_param_);
18470   std::swap(dummy_data_param_, other->dummy_data_param_);
18471   std::swap(eltwise_param_, other->eltwise_param_);
18472   std::swap(elu_param_, other->elu_param_);
18473   std::swap(embed_param_, other->embed_param_);
18474   std::swap(exp_param_, other->exp_param_);
18475   std::swap(flatten_param_, other->flatten_param_);
18476   std::swap(hdf5_data_param_, other->hdf5_data_param_);
18477   std::swap(hdf5_output_param_, other->hdf5_output_param_);
18478   std::swap(hinge_loss_param_, other->hinge_loss_param_);
18479   std::swap(image_data_param_, other->image_data_param_);
18480   std::swap(infogain_loss_param_, other->infogain_loss_param_);
18481   std::swap(inner_product_param_, other->inner_product_param_);
18482   std::swap(input_param_, other->input_param_);
18483   std::swap(log_param_, other->log_param_);
18484   std::swap(lrn_param_, other->lrn_param_);
18485   std::swap(memory_data_param_, other->memory_data_param_);
18486   std::swap(mvn_param_, other->mvn_param_);
18487   std::swap(norm_param_, other->norm_param_);
18488   std::swap(permute_param_, other->permute_param_);
18489   std::swap(parameter_param_, other->parameter_param_);
18490   std::swap(pooling_param_, other->pooling_param_);
18491   std::swap(power_param_, other->power_param_);
18492   std::swap(prelu_param_, other->prelu_param_);
18493   std::swap(prior_box_param_, other->prior_box_param_);
18494   std::swap(python_param_, other->python_param_);
18495   std::swap(recurrent_param_, other->recurrent_param_);
18496   std::swap(reduction_param_, other->reduction_param_);
18497   std::swap(relu_param_, other->relu_param_);
18498   std::swap(reshape_param_, other->reshape_param_);
18499   std::swap(roi_pooling_param_, other->roi_pooling_param_);
18500   std::swap(scale_param_, other->scale_param_);
18501   std::swap(sigmoid_param_, other->sigmoid_param_);
18502   std::swap(softmax_param_, other->softmax_param_);
18503   std::swap(spp_param_, other->spp_param_);
18504   std::swap(slice_param_, other->slice_param_);
18505   std::swap(tanh_param_, other->tanh_param_);
18506   std::swap(threshold_param_, other->threshold_param_);
18507   std::swap(tile_param_, other->tile_param_);
18508   std::swap(window_data_param_, other->window_data_param_);
18509   std::swap(_has_bits_[0], other->_has_bits_[0]);
18510   std::swap(_has_bits_[1], other->_has_bits_[1]);
18511   _internal_metadata_.Swap(&other->_internal_metadata_);
18512   std::swap(_cached_size_, other->_cached_size_);
18513 }
18514
18515 ::google::protobuf::Metadata LayerParameter::GetMetadata() const {
18516   protobuf_AssignDescriptorsOnce();
18517   ::google::protobuf::Metadata metadata;
18518   metadata.descriptor = LayerParameter_descriptor_;
18519   metadata.reflection = LayerParameter_reflection_;
18520   return metadata;
18521 }
18522
18523 #if PROTOBUF_INLINE_NOT_IN_HEADERS
18524 // LayerParameter
18525
18526 // optional string name = 1;
18527 bool LayerParameter::has_name() const {
18528   return (_has_bits_[0] & 0x00000001u) != 0;
18529 }
18530 void LayerParameter::set_has_name() {
18531   _has_bits_[0] |= 0x00000001u;
18532 }
18533 void LayerParameter::clear_has_name() {
18534   _has_bits_[0] &= ~0x00000001u;
18535 }
18536 void LayerParameter::clear_name() {
18537   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18538   clear_has_name();
18539 }
18540 const ::std::string& LayerParameter::name() const {
18541   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.name)
18542   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18543 }
18544 void LayerParameter::set_name(const ::std::string& value) {
18545   set_has_name();
18546   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
18547   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.name)
18548 }
18549 void LayerParameter::set_name(const char* value) {
18550   set_has_name();
18551   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
18552   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.name)
18553 }
18554 void LayerParameter::set_name(const char* value, size_t size) {
18555   set_has_name();
18556   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
18557       ::std::string(reinterpret_cast<const char*>(value), size));
18558   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.name)
18559 }
18560 ::std::string* LayerParameter::mutable_name() {
18561   set_has_name();
18562   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.name)
18563   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18564 }
18565 ::std::string* LayerParameter::release_name() {
18566   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.name)
18567   clear_has_name();
18568   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18569 }
18570 void LayerParameter::set_allocated_name(::std::string* name) {
18571   if (name != NULL) {
18572     set_has_name();
18573   } else {
18574     clear_has_name();
18575   }
18576   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
18577   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.name)
18578 }
18579
18580 // optional string type = 2;
18581 bool LayerParameter::has_type() const {
18582   return (_has_bits_[0] & 0x00000002u) != 0;
18583 }
18584 void LayerParameter::set_has_type() {
18585   _has_bits_[0] |= 0x00000002u;
18586 }
18587 void LayerParameter::clear_has_type() {
18588   _has_bits_[0] &= ~0x00000002u;
18589 }
18590 void LayerParameter::clear_type() {
18591   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18592   clear_has_type();
18593 }
18594 const ::std::string& LayerParameter::type() const {
18595   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.type)
18596   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18597 }
18598 void LayerParameter::set_type(const ::std::string& value) {
18599   set_has_type();
18600   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
18601   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.type)
18602 }
18603 void LayerParameter::set_type(const char* value) {
18604   set_has_type();
18605   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
18606   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.type)
18607 }
18608 void LayerParameter::set_type(const char* value, size_t size) {
18609   set_has_type();
18610   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
18611       ::std::string(reinterpret_cast<const char*>(value), size));
18612   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.type)
18613 }
18614 ::std::string* LayerParameter::mutable_type() {
18615   set_has_type();
18616   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.type)
18617   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18618 }
18619 ::std::string* LayerParameter::release_type() {
18620   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.type)
18621   clear_has_type();
18622   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
18623 }
18624 void LayerParameter::set_allocated_type(::std::string* type) {
18625   if (type != NULL) {
18626     set_has_type();
18627   } else {
18628     clear_has_type();
18629   }
18630   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
18631   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.type)
18632 }
18633
18634 // repeated string bottom = 3;
18635 int LayerParameter::bottom_size() const {
18636   return bottom_.size();
18637 }
18638 void LayerParameter::clear_bottom() {
18639   bottom_.Clear();
18640 }
18641 const ::std::string& LayerParameter::bottom(int index) const {
18642   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bottom)
18643   return bottom_.Get(index);
18644 }
18645 ::std::string* LayerParameter::mutable_bottom(int index) {
18646   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bottom)
18647   return bottom_.Mutable(index);
18648 }
18649 void LayerParameter::set_bottom(int index, const ::std::string& value) {
18650   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.bottom)
18651   bottom_.Mutable(index)->assign(value);
18652 }
18653 void LayerParameter::set_bottom(int index, const char* value) {
18654   bottom_.Mutable(index)->assign(value);
18655   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.bottom)
18656 }
18657 void LayerParameter::set_bottom(int index, const char* value, size_t size) {
18658   bottom_.Mutable(index)->assign(
18659     reinterpret_cast<const char*>(value), size);
18660   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.bottom)
18661 }
18662 ::std::string* LayerParameter::add_bottom() {
18663   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.bottom)
18664   return bottom_.Add();
18665 }
18666 void LayerParameter::add_bottom(const ::std::string& value) {
18667   bottom_.Add()->assign(value);
18668   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.bottom)
18669 }
18670 void LayerParameter::add_bottom(const char* value) {
18671   bottom_.Add()->assign(value);
18672   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.bottom)
18673 }
18674 void LayerParameter::add_bottom(const char* value, size_t size) {
18675   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
18676   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.bottom)
18677 }
18678 const ::google::protobuf::RepeatedPtrField< ::std::string>&
18679 LayerParameter::bottom() const {
18680   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.bottom)
18681   return bottom_;
18682 }
18683 ::google::protobuf::RepeatedPtrField< ::std::string>*
18684 LayerParameter::mutable_bottom() {
18685   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.bottom)
18686   return &bottom_;
18687 }
18688
18689 // repeated string top = 4;
18690 int LayerParameter::top_size() const {
18691   return top_.size();
18692 }
18693 void LayerParameter::clear_top() {
18694   top_.Clear();
18695 }
18696 const ::std::string& LayerParameter::top(int index) const {
18697   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.top)
18698   return top_.Get(index);
18699 }
18700 ::std::string* LayerParameter::mutable_top(int index) {
18701   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.top)
18702   return top_.Mutable(index);
18703 }
18704 void LayerParameter::set_top(int index, const ::std::string& value) {
18705   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.top)
18706   top_.Mutable(index)->assign(value);
18707 }
18708 void LayerParameter::set_top(int index, const char* value) {
18709   top_.Mutable(index)->assign(value);
18710   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.top)
18711 }
18712 void LayerParameter::set_top(int index, const char* value, size_t size) {
18713   top_.Mutable(index)->assign(
18714     reinterpret_cast<const char*>(value), size);
18715   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.top)
18716 }
18717 ::std::string* LayerParameter::add_top() {
18718   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.top)
18719   return top_.Add();
18720 }
18721 void LayerParameter::add_top(const ::std::string& value) {
18722   top_.Add()->assign(value);
18723   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.top)
18724 }
18725 void LayerParameter::add_top(const char* value) {
18726   top_.Add()->assign(value);
18727   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.top)
18728 }
18729 void LayerParameter::add_top(const char* value, size_t size) {
18730   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
18731   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.top)
18732 }
18733 const ::google::protobuf::RepeatedPtrField< ::std::string>&
18734 LayerParameter::top() const {
18735   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.top)
18736   return top_;
18737 }
18738 ::google::protobuf::RepeatedPtrField< ::std::string>*
18739 LayerParameter::mutable_top() {
18740   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.top)
18741   return &top_;
18742 }
18743
18744 // optional .opencv_caffe.Phase phase = 10;
18745 bool LayerParameter::has_phase() const {
18746   return (_has_bits_[0] & 0x00000010u) != 0;
18747 }
18748 void LayerParameter::set_has_phase() {
18749   _has_bits_[0] |= 0x00000010u;
18750 }
18751 void LayerParameter::clear_has_phase() {
18752   _has_bits_[0] &= ~0x00000010u;
18753 }
18754 void LayerParameter::clear_phase() {
18755   phase_ = 0;
18756   clear_has_phase();
18757 }
18758 ::opencv_caffe::Phase LayerParameter::phase() const {
18759   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.phase)
18760   return static_cast< ::opencv_caffe::Phase >(phase_);
18761 }
18762 void LayerParameter::set_phase(::opencv_caffe::Phase value) {
18763   assert(::opencv_caffe::Phase_IsValid(value));
18764   set_has_phase();
18765   phase_ = value;
18766   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.phase)
18767 }
18768
18769 // repeated float loss_weight = 5;
18770 int LayerParameter::loss_weight_size() const {
18771   return loss_weight_.size();
18772 }
18773 void LayerParameter::clear_loss_weight() {
18774   loss_weight_.Clear();
18775 }
18776 float LayerParameter::loss_weight(int index) const {
18777   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_weight)
18778   return loss_weight_.Get(index);
18779 }
18780 void LayerParameter::set_loss_weight(int index, float value) {
18781   loss_weight_.Set(index, value);
18782   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.loss_weight)
18783 }
18784 void LayerParameter::add_loss_weight(float value) {
18785   loss_weight_.Add(value);
18786   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.loss_weight)
18787 }
18788 const ::google::protobuf::RepeatedField< float >&
18789 LayerParameter::loss_weight() const {
18790   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.loss_weight)
18791   return loss_weight_;
18792 }
18793 ::google::protobuf::RepeatedField< float >*
18794 LayerParameter::mutable_loss_weight() {
18795   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.loss_weight)
18796   return &loss_weight_;
18797 }
18798
18799 // repeated .opencv_caffe.ParamSpec param = 6;
18800 int LayerParameter::param_size() const {
18801   return param_.size();
18802 }
18803 void LayerParameter::clear_param() {
18804   param_.Clear();
18805 }
18806 const ::opencv_caffe::ParamSpec& LayerParameter::param(int index) const {
18807   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.param)
18808   return param_.Get(index);
18809 }
18810 ::opencv_caffe::ParamSpec* LayerParameter::mutable_param(int index) {
18811   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.param)
18812   return param_.Mutable(index);
18813 }
18814 ::opencv_caffe::ParamSpec* LayerParameter::add_param() {
18815   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.param)
18816   return param_.Add();
18817 }
18818 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >*
18819 LayerParameter::mutable_param() {
18820   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.param)
18821   return &param_;
18822 }
18823 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >&
18824 LayerParameter::param() const {
18825   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.param)
18826   return param_;
18827 }
18828
18829 // repeated .opencv_caffe.BlobProto blobs = 7;
18830 int LayerParameter::blobs_size() const {
18831   return blobs_.size();
18832 }
18833 void LayerParameter::clear_blobs() {
18834   blobs_.Clear();
18835 }
18836 const ::opencv_caffe::BlobProto& LayerParameter::blobs(int index) const {
18837   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.blobs)
18838   return blobs_.Get(index);
18839 }
18840 ::opencv_caffe::BlobProto* LayerParameter::mutable_blobs(int index) {
18841   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.blobs)
18842   return blobs_.Mutable(index);
18843 }
18844 ::opencv_caffe::BlobProto* LayerParameter::add_blobs() {
18845   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.blobs)
18846   return blobs_.Add();
18847 }
18848 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
18849 LayerParameter::mutable_blobs() {
18850   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.blobs)
18851   return &blobs_;
18852 }
18853 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
18854 LayerParameter::blobs() const {
18855   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.blobs)
18856   return blobs_;
18857 }
18858
18859 // repeated bool propagate_down = 11;
18860 int LayerParameter::propagate_down_size() const {
18861   return propagate_down_.size();
18862 }
18863 void LayerParameter::clear_propagate_down() {
18864   propagate_down_.Clear();
18865 }
18866 bool LayerParameter::propagate_down(int index) const {
18867   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.propagate_down)
18868   return propagate_down_.Get(index);
18869 }
18870 void LayerParameter::set_propagate_down(int index, bool value) {
18871   propagate_down_.Set(index, value);
18872   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.propagate_down)
18873 }
18874 void LayerParameter::add_propagate_down(bool value) {
18875   propagate_down_.Add(value);
18876   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.propagate_down)
18877 }
18878 const ::google::protobuf::RepeatedField< bool >&
18879 LayerParameter::propagate_down() const {
18880   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.propagate_down)
18881   return propagate_down_;
18882 }
18883 ::google::protobuf::RepeatedField< bool >*
18884 LayerParameter::mutable_propagate_down() {
18885   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.propagate_down)
18886   return &propagate_down_;
18887 }
18888
18889 // repeated .opencv_caffe.NetStateRule include = 8;
18890 int LayerParameter::include_size() const {
18891   return include_.size();
18892 }
18893 void LayerParameter::clear_include() {
18894   include_.Clear();
18895 }
18896 const ::opencv_caffe::NetStateRule& LayerParameter::include(int index) const {
18897   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.include)
18898   return include_.Get(index);
18899 }
18900 ::opencv_caffe::NetStateRule* LayerParameter::mutable_include(int index) {
18901   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.include)
18902   return include_.Mutable(index);
18903 }
18904 ::opencv_caffe::NetStateRule* LayerParameter::add_include() {
18905   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.include)
18906   return include_.Add();
18907 }
18908 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
18909 LayerParameter::mutable_include() {
18910   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.include)
18911   return &include_;
18912 }
18913 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
18914 LayerParameter::include() const {
18915   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.include)
18916   return include_;
18917 }
18918
18919 // repeated .opencv_caffe.NetStateRule exclude = 9;
18920 int LayerParameter::exclude_size() const {
18921   return exclude_.size();
18922 }
18923 void LayerParameter::clear_exclude() {
18924   exclude_.Clear();
18925 }
18926 const ::opencv_caffe::NetStateRule& LayerParameter::exclude(int index) const {
18927   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exclude)
18928   return exclude_.Get(index);
18929 }
18930 ::opencv_caffe::NetStateRule* LayerParameter::mutable_exclude(int index) {
18931   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exclude)
18932   return exclude_.Mutable(index);
18933 }
18934 ::opencv_caffe::NetStateRule* LayerParameter::add_exclude() {
18935   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.exclude)
18936   return exclude_.Add();
18937 }
18938 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
18939 LayerParameter::mutable_exclude() {
18940   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.exclude)
18941   return &exclude_;
18942 }
18943 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
18944 LayerParameter::exclude() const {
18945   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.exclude)
18946   return exclude_;
18947 }
18948
18949 // optional .opencv_caffe.TransformationParameter transform_param = 100;
18950 bool LayerParameter::has_transform_param() const {
18951   return (_has_bits_[0] & 0x00000800u) != 0;
18952 }
18953 void LayerParameter::set_has_transform_param() {
18954   _has_bits_[0] |= 0x00000800u;
18955 }
18956 void LayerParameter::clear_has_transform_param() {
18957   _has_bits_[0] &= ~0x00000800u;
18958 }
18959 void LayerParameter::clear_transform_param() {
18960   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
18961   clear_has_transform_param();
18962 }
18963 const ::opencv_caffe::TransformationParameter& LayerParameter::transform_param() const {
18964   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.transform_param)
18965   return transform_param_ != NULL ? *transform_param_
18966                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
18967 }
18968 ::opencv_caffe::TransformationParameter* LayerParameter::mutable_transform_param() {
18969   set_has_transform_param();
18970   if (transform_param_ == NULL) {
18971     transform_param_ = new ::opencv_caffe::TransformationParameter;
18972   }
18973   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.transform_param)
18974   return transform_param_;
18975 }
18976 ::opencv_caffe::TransformationParameter* LayerParameter::release_transform_param() {
18977   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.transform_param)
18978   clear_has_transform_param();
18979   ::opencv_caffe::TransformationParameter* temp = transform_param_;
18980   transform_param_ = NULL;
18981   return temp;
18982 }
18983 void LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
18984   delete transform_param_;
18985   transform_param_ = transform_param;
18986   if (transform_param) {
18987     set_has_transform_param();
18988   } else {
18989     clear_has_transform_param();
18990   }
18991   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.transform_param)
18992 }
18993
18994 // optional .opencv_caffe.LossParameter loss_param = 101;
18995 bool LayerParameter::has_loss_param() const {
18996   return (_has_bits_[0] & 0x00001000u) != 0;
18997 }
18998 void LayerParameter::set_has_loss_param() {
18999   _has_bits_[0] |= 0x00001000u;
19000 }
19001 void LayerParameter::clear_has_loss_param() {
19002   _has_bits_[0] &= ~0x00001000u;
19003 }
19004 void LayerParameter::clear_loss_param() {
19005   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
19006   clear_has_loss_param();
19007 }
19008 const ::opencv_caffe::LossParameter& LayerParameter::loss_param() const {
19009   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_param)
19010   return loss_param_ != NULL ? *loss_param_
19011                          : *::opencv_caffe::LossParameter::internal_default_instance();
19012 }
19013 ::opencv_caffe::LossParameter* LayerParameter::mutable_loss_param() {
19014   set_has_loss_param();
19015   if (loss_param_ == NULL) {
19016     loss_param_ = new ::opencv_caffe::LossParameter;
19017   }
19018   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.loss_param)
19019   return loss_param_;
19020 }
19021 ::opencv_caffe::LossParameter* LayerParameter::release_loss_param() {
19022   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.loss_param)
19023   clear_has_loss_param();
19024   ::opencv_caffe::LossParameter* temp = loss_param_;
19025   loss_param_ = NULL;
19026   return temp;
19027 }
19028 void LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
19029   delete loss_param_;
19030   loss_param_ = loss_param;
19031   if (loss_param) {
19032     set_has_loss_param();
19033   } else {
19034     clear_has_loss_param();
19035   }
19036   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.loss_param)
19037 }
19038
19039 // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
19040 bool LayerParameter::has_accuracy_param() const {
19041   return (_has_bits_[0] & 0x00002000u) != 0;
19042 }
19043 void LayerParameter::set_has_accuracy_param() {
19044   _has_bits_[0] |= 0x00002000u;
19045 }
19046 void LayerParameter::clear_has_accuracy_param() {
19047   _has_bits_[0] &= ~0x00002000u;
19048 }
19049 void LayerParameter::clear_accuracy_param() {
19050   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
19051   clear_has_accuracy_param();
19052 }
19053 const ::opencv_caffe::AccuracyParameter& LayerParameter::accuracy_param() const {
19054   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.accuracy_param)
19055   return accuracy_param_ != NULL ? *accuracy_param_
19056                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
19057 }
19058 ::opencv_caffe::AccuracyParameter* LayerParameter::mutable_accuracy_param() {
19059   set_has_accuracy_param();
19060   if (accuracy_param_ == NULL) {
19061     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
19062   }
19063   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.accuracy_param)
19064   return accuracy_param_;
19065 }
19066 ::opencv_caffe::AccuracyParameter* LayerParameter::release_accuracy_param() {
19067   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.accuracy_param)
19068   clear_has_accuracy_param();
19069   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
19070   accuracy_param_ = NULL;
19071   return temp;
19072 }
19073 void LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
19074   delete accuracy_param_;
19075   accuracy_param_ = accuracy_param;
19076   if (accuracy_param) {
19077     set_has_accuracy_param();
19078   } else {
19079     clear_has_accuracy_param();
19080   }
19081   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.accuracy_param)
19082 }
19083
19084 // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
19085 bool LayerParameter::has_argmax_param() const {
19086   return (_has_bits_[0] & 0x00004000u) != 0;
19087 }
19088 void LayerParameter::set_has_argmax_param() {
19089   _has_bits_[0] |= 0x00004000u;
19090 }
19091 void LayerParameter::clear_has_argmax_param() {
19092   _has_bits_[0] &= ~0x00004000u;
19093 }
19094 void LayerParameter::clear_argmax_param() {
19095   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
19096   clear_has_argmax_param();
19097 }
19098 const ::opencv_caffe::ArgMaxParameter& LayerParameter::argmax_param() const {
19099   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.argmax_param)
19100   return argmax_param_ != NULL ? *argmax_param_
19101                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
19102 }
19103 ::opencv_caffe::ArgMaxParameter* LayerParameter::mutable_argmax_param() {
19104   set_has_argmax_param();
19105   if (argmax_param_ == NULL) {
19106     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
19107   }
19108   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.argmax_param)
19109   return argmax_param_;
19110 }
19111 ::opencv_caffe::ArgMaxParameter* LayerParameter::release_argmax_param() {
19112   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.argmax_param)
19113   clear_has_argmax_param();
19114   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
19115   argmax_param_ = NULL;
19116   return temp;
19117 }
19118 void LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
19119   delete argmax_param_;
19120   argmax_param_ = argmax_param;
19121   if (argmax_param) {
19122     set_has_argmax_param();
19123   } else {
19124     clear_has_argmax_param();
19125   }
19126   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.argmax_param)
19127 }
19128
19129 // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
19130 bool LayerParameter::has_batch_norm_param() const {
19131   return (_has_bits_[0] & 0x00008000u) != 0;
19132 }
19133 void LayerParameter::set_has_batch_norm_param() {
19134   _has_bits_[0] |= 0x00008000u;
19135 }
19136 void LayerParameter::clear_has_batch_norm_param() {
19137   _has_bits_[0] &= ~0x00008000u;
19138 }
19139 void LayerParameter::clear_batch_norm_param() {
19140   if (batch_norm_param_ != NULL) batch_norm_param_->::opencv_caffe::BatchNormParameter::Clear();
19141   clear_has_batch_norm_param();
19142 }
19143 const ::opencv_caffe::BatchNormParameter& LayerParameter::batch_norm_param() const {
19144   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.batch_norm_param)
19145   return batch_norm_param_ != NULL ? *batch_norm_param_
19146                          : *::opencv_caffe::BatchNormParameter::internal_default_instance();
19147 }
19148 ::opencv_caffe::BatchNormParameter* LayerParameter::mutable_batch_norm_param() {
19149   set_has_batch_norm_param();
19150   if (batch_norm_param_ == NULL) {
19151     batch_norm_param_ = new ::opencv_caffe::BatchNormParameter;
19152   }
19153   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.batch_norm_param)
19154   return batch_norm_param_;
19155 }
19156 ::opencv_caffe::BatchNormParameter* LayerParameter::release_batch_norm_param() {
19157   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.batch_norm_param)
19158   clear_has_batch_norm_param();
19159   ::opencv_caffe::BatchNormParameter* temp = batch_norm_param_;
19160   batch_norm_param_ = NULL;
19161   return temp;
19162 }
19163 void LayerParameter::set_allocated_batch_norm_param(::opencv_caffe::BatchNormParameter* batch_norm_param) {
19164   delete batch_norm_param_;
19165   batch_norm_param_ = batch_norm_param;
19166   if (batch_norm_param) {
19167     set_has_batch_norm_param();
19168   } else {
19169     clear_has_batch_norm_param();
19170   }
19171   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.batch_norm_param)
19172 }
19173
19174 // optional .opencv_caffe.BiasParameter bias_param = 141;
19175 bool LayerParameter::has_bias_param() const {
19176   return (_has_bits_[0] & 0x00010000u) != 0;
19177 }
19178 void LayerParameter::set_has_bias_param() {
19179   _has_bits_[0] |= 0x00010000u;
19180 }
19181 void LayerParameter::clear_has_bias_param() {
19182   _has_bits_[0] &= ~0x00010000u;
19183 }
19184 void LayerParameter::clear_bias_param() {
19185   if (bias_param_ != NULL) bias_param_->::opencv_caffe::BiasParameter::Clear();
19186   clear_has_bias_param();
19187 }
19188 const ::opencv_caffe::BiasParameter& LayerParameter::bias_param() const {
19189   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bias_param)
19190   return bias_param_ != NULL ? *bias_param_
19191                          : *::opencv_caffe::BiasParameter::internal_default_instance();
19192 }
19193 ::opencv_caffe::BiasParameter* LayerParameter::mutable_bias_param() {
19194   set_has_bias_param();
19195   if (bias_param_ == NULL) {
19196     bias_param_ = new ::opencv_caffe::BiasParameter;
19197   }
19198   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bias_param)
19199   return bias_param_;
19200 }
19201 ::opencv_caffe::BiasParameter* LayerParameter::release_bias_param() {
19202   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.bias_param)
19203   clear_has_bias_param();
19204   ::opencv_caffe::BiasParameter* temp = bias_param_;
19205   bias_param_ = NULL;
19206   return temp;
19207 }
19208 void LayerParameter::set_allocated_bias_param(::opencv_caffe::BiasParameter* bias_param) {
19209   delete bias_param_;
19210   bias_param_ = bias_param;
19211   if (bias_param) {
19212     set_has_bias_param();
19213   } else {
19214     clear_has_bias_param();
19215   }
19216   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.bias_param)
19217 }
19218
19219 // optional .opencv_caffe.ConcatParameter concat_param = 104;
19220 bool LayerParameter::has_concat_param() const {
19221   return (_has_bits_[0] & 0x00020000u) != 0;
19222 }
19223 void LayerParameter::set_has_concat_param() {
19224   _has_bits_[0] |= 0x00020000u;
19225 }
19226 void LayerParameter::clear_has_concat_param() {
19227   _has_bits_[0] &= ~0x00020000u;
19228 }
19229 void LayerParameter::clear_concat_param() {
19230   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
19231   clear_has_concat_param();
19232 }
19233 const ::opencv_caffe::ConcatParameter& LayerParameter::concat_param() const {
19234   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.concat_param)
19235   return concat_param_ != NULL ? *concat_param_
19236                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
19237 }
19238 ::opencv_caffe::ConcatParameter* LayerParameter::mutable_concat_param() {
19239   set_has_concat_param();
19240   if (concat_param_ == NULL) {
19241     concat_param_ = new ::opencv_caffe::ConcatParameter;
19242   }
19243   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.concat_param)
19244   return concat_param_;
19245 }
19246 ::opencv_caffe::ConcatParameter* LayerParameter::release_concat_param() {
19247   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.concat_param)
19248   clear_has_concat_param();
19249   ::opencv_caffe::ConcatParameter* temp = concat_param_;
19250   concat_param_ = NULL;
19251   return temp;
19252 }
19253 void LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
19254   delete concat_param_;
19255   concat_param_ = concat_param;
19256   if (concat_param) {
19257     set_has_concat_param();
19258   } else {
19259     clear_has_concat_param();
19260   }
19261   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.concat_param)
19262 }
19263
19264 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
19265 bool LayerParameter::has_contrastive_loss_param() const {
19266   return (_has_bits_[0] & 0x00040000u) != 0;
19267 }
19268 void LayerParameter::set_has_contrastive_loss_param() {
19269   _has_bits_[0] |= 0x00040000u;
19270 }
19271 void LayerParameter::clear_has_contrastive_loss_param() {
19272   _has_bits_[0] &= ~0x00040000u;
19273 }
19274 void LayerParameter::clear_contrastive_loss_param() {
19275   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
19276   clear_has_contrastive_loss_param();
19277 }
19278 const ::opencv_caffe::ContrastiveLossParameter& LayerParameter::contrastive_loss_param() const {
19279   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.contrastive_loss_param)
19280   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
19281                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
19282 }
19283 ::opencv_caffe::ContrastiveLossParameter* LayerParameter::mutable_contrastive_loss_param() {
19284   set_has_contrastive_loss_param();
19285   if (contrastive_loss_param_ == NULL) {
19286     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
19287   }
19288   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.contrastive_loss_param)
19289   return contrastive_loss_param_;
19290 }
19291 ::opencv_caffe::ContrastiveLossParameter* LayerParameter::release_contrastive_loss_param() {
19292   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.contrastive_loss_param)
19293   clear_has_contrastive_loss_param();
19294   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
19295   contrastive_loss_param_ = NULL;
19296   return temp;
19297 }
19298 void LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
19299   delete contrastive_loss_param_;
19300   contrastive_loss_param_ = contrastive_loss_param;
19301   if (contrastive_loss_param) {
19302     set_has_contrastive_loss_param();
19303   } else {
19304     clear_has_contrastive_loss_param();
19305   }
19306   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.contrastive_loss_param)
19307 }
19308
19309 // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
19310 bool LayerParameter::has_convolution_param() const {
19311   return (_has_bits_[0] & 0x00080000u) != 0;
19312 }
19313 void LayerParameter::set_has_convolution_param() {
19314   _has_bits_[0] |= 0x00080000u;
19315 }
19316 void LayerParameter::clear_has_convolution_param() {
19317   _has_bits_[0] &= ~0x00080000u;
19318 }
19319 void LayerParameter::clear_convolution_param() {
19320   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
19321   clear_has_convolution_param();
19322 }
19323 const ::opencv_caffe::ConvolutionParameter& LayerParameter::convolution_param() const {
19324   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.convolution_param)
19325   return convolution_param_ != NULL ? *convolution_param_
19326                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
19327 }
19328 ::opencv_caffe::ConvolutionParameter* LayerParameter::mutable_convolution_param() {
19329   set_has_convolution_param();
19330   if (convolution_param_ == NULL) {
19331     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
19332   }
19333   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.convolution_param)
19334   return convolution_param_;
19335 }
19336 ::opencv_caffe::ConvolutionParameter* LayerParameter::release_convolution_param() {
19337   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.convolution_param)
19338   clear_has_convolution_param();
19339   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
19340   convolution_param_ = NULL;
19341   return temp;
19342 }
19343 void LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
19344   delete convolution_param_;
19345   convolution_param_ = convolution_param;
19346   if (convolution_param) {
19347     set_has_convolution_param();
19348   } else {
19349     clear_has_convolution_param();
19350   }
19351   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.convolution_param)
19352 }
19353
19354 // optional .opencv_caffe.CropParameter crop_param = 144;
19355 bool LayerParameter::has_crop_param() const {
19356   return (_has_bits_[0] & 0x00100000u) != 0;
19357 }
19358 void LayerParameter::set_has_crop_param() {
19359   _has_bits_[0] |= 0x00100000u;
19360 }
19361 void LayerParameter::clear_has_crop_param() {
19362   _has_bits_[0] &= ~0x00100000u;
19363 }
19364 void LayerParameter::clear_crop_param() {
19365   if (crop_param_ != NULL) crop_param_->::opencv_caffe::CropParameter::Clear();
19366   clear_has_crop_param();
19367 }
19368 const ::opencv_caffe::CropParameter& LayerParameter::crop_param() const {
19369   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.crop_param)
19370   return crop_param_ != NULL ? *crop_param_
19371                          : *::opencv_caffe::CropParameter::internal_default_instance();
19372 }
19373 ::opencv_caffe::CropParameter* LayerParameter::mutable_crop_param() {
19374   set_has_crop_param();
19375   if (crop_param_ == NULL) {
19376     crop_param_ = new ::opencv_caffe::CropParameter;
19377   }
19378   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.crop_param)
19379   return crop_param_;
19380 }
19381 ::opencv_caffe::CropParameter* LayerParameter::release_crop_param() {
19382   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.crop_param)
19383   clear_has_crop_param();
19384   ::opencv_caffe::CropParameter* temp = crop_param_;
19385   crop_param_ = NULL;
19386   return temp;
19387 }
19388 void LayerParameter::set_allocated_crop_param(::opencv_caffe::CropParameter* crop_param) {
19389   delete crop_param_;
19390   crop_param_ = crop_param;
19391   if (crop_param) {
19392     set_has_crop_param();
19393   } else {
19394     clear_has_crop_param();
19395   }
19396   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.crop_param)
19397 }
19398
19399 // optional .opencv_caffe.DataParameter data_param = 107;
19400 bool LayerParameter::has_data_param() const {
19401   return (_has_bits_[0] & 0x00200000u) != 0;
19402 }
19403 void LayerParameter::set_has_data_param() {
19404   _has_bits_[0] |= 0x00200000u;
19405 }
19406 void LayerParameter::clear_has_data_param() {
19407   _has_bits_[0] &= ~0x00200000u;
19408 }
19409 void LayerParameter::clear_data_param() {
19410   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
19411   clear_has_data_param();
19412 }
19413 const ::opencv_caffe::DataParameter& LayerParameter::data_param() const {
19414   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.data_param)
19415   return data_param_ != NULL ? *data_param_
19416                          : *::opencv_caffe::DataParameter::internal_default_instance();
19417 }
19418 ::opencv_caffe::DataParameter* LayerParameter::mutable_data_param() {
19419   set_has_data_param();
19420   if (data_param_ == NULL) {
19421     data_param_ = new ::opencv_caffe::DataParameter;
19422   }
19423   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.data_param)
19424   return data_param_;
19425 }
19426 ::opencv_caffe::DataParameter* LayerParameter::release_data_param() {
19427   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.data_param)
19428   clear_has_data_param();
19429   ::opencv_caffe::DataParameter* temp = data_param_;
19430   data_param_ = NULL;
19431   return temp;
19432 }
19433 void LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
19434   delete data_param_;
19435   data_param_ = data_param;
19436   if (data_param) {
19437     set_has_data_param();
19438   } else {
19439     clear_has_data_param();
19440   }
19441   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.data_param)
19442 }
19443
19444 // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
19445 bool LayerParameter::has_detection_output_param() const {
19446   return (_has_bits_[0] & 0x00400000u) != 0;
19447 }
19448 void LayerParameter::set_has_detection_output_param() {
19449   _has_bits_[0] |= 0x00400000u;
19450 }
19451 void LayerParameter::clear_has_detection_output_param() {
19452   _has_bits_[0] &= ~0x00400000u;
19453 }
19454 void LayerParameter::clear_detection_output_param() {
19455   if (detection_output_param_ != NULL) detection_output_param_->::opencv_caffe::DetectionOutputParameter::Clear();
19456   clear_has_detection_output_param();
19457 }
19458 const ::opencv_caffe::DetectionOutputParameter& LayerParameter::detection_output_param() const {
19459   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.detection_output_param)
19460   return detection_output_param_ != NULL ? *detection_output_param_
19461                          : *::opencv_caffe::DetectionOutputParameter::internal_default_instance();
19462 }
19463 ::opencv_caffe::DetectionOutputParameter* LayerParameter::mutable_detection_output_param() {
19464   set_has_detection_output_param();
19465   if (detection_output_param_ == NULL) {
19466     detection_output_param_ = new ::opencv_caffe::DetectionOutputParameter;
19467   }
19468   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.detection_output_param)
19469   return detection_output_param_;
19470 }
19471 ::opencv_caffe::DetectionOutputParameter* LayerParameter::release_detection_output_param() {
19472   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.detection_output_param)
19473   clear_has_detection_output_param();
19474   ::opencv_caffe::DetectionOutputParameter* temp = detection_output_param_;
19475   detection_output_param_ = NULL;
19476   return temp;
19477 }
19478 void LayerParameter::set_allocated_detection_output_param(::opencv_caffe::DetectionOutputParameter* detection_output_param) {
19479   delete detection_output_param_;
19480   detection_output_param_ = detection_output_param;
19481   if (detection_output_param) {
19482     set_has_detection_output_param();
19483   } else {
19484     clear_has_detection_output_param();
19485   }
19486   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.detection_output_param)
19487 }
19488
19489 // optional .opencv_caffe.DropoutParameter dropout_param = 108;
19490 bool LayerParameter::has_dropout_param() const {
19491   return (_has_bits_[0] & 0x00800000u) != 0;
19492 }
19493 void LayerParameter::set_has_dropout_param() {
19494   _has_bits_[0] |= 0x00800000u;
19495 }
19496 void LayerParameter::clear_has_dropout_param() {
19497   _has_bits_[0] &= ~0x00800000u;
19498 }
19499 void LayerParameter::clear_dropout_param() {
19500   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
19501   clear_has_dropout_param();
19502 }
19503 const ::opencv_caffe::DropoutParameter& LayerParameter::dropout_param() const {
19504   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dropout_param)
19505   return dropout_param_ != NULL ? *dropout_param_
19506                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
19507 }
19508 ::opencv_caffe::DropoutParameter* LayerParameter::mutable_dropout_param() {
19509   set_has_dropout_param();
19510   if (dropout_param_ == NULL) {
19511     dropout_param_ = new ::opencv_caffe::DropoutParameter;
19512   }
19513   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dropout_param)
19514   return dropout_param_;
19515 }
19516 ::opencv_caffe::DropoutParameter* LayerParameter::release_dropout_param() {
19517   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dropout_param)
19518   clear_has_dropout_param();
19519   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
19520   dropout_param_ = NULL;
19521   return temp;
19522 }
19523 void LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
19524   delete dropout_param_;
19525   dropout_param_ = dropout_param;
19526   if (dropout_param) {
19527     set_has_dropout_param();
19528   } else {
19529     clear_has_dropout_param();
19530   }
19531   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dropout_param)
19532 }
19533
19534 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
19535 bool LayerParameter::has_dummy_data_param() const {
19536   return (_has_bits_[0] & 0x01000000u) != 0;
19537 }
19538 void LayerParameter::set_has_dummy_data_param() {
19539   _has_bits_[0] |= 0x01000000u;
19540 }
19541 void LayerParameter::clear_has_dummy_data_param() {
19542   _has_bits_[0] &= ~0x01000000u;
19543 }
19544 void LayerParameter::clear_dummy_data_param() {
19545   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
19546   clear_has_dummy_data_param();
19547 }
19548 const ::opencv_caffe::DummyDataParameter& LayerParameter::dummy_data_param() const {
19549   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dummy_data_param)
19550   return dummy_data_param_ != NULL ? *dummy_data_param_
19551                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
19552 }
19553 ::opencv_caffe::DummyDataParameter* LayerParameter::mutable_dummy_data_param() {
19554   set_has_dummy_data_param();
19555   if (dummy_data_param_ == NULL) {
19556     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
19557   }
19558   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dummy_data_param)
19559   return dummy_data_param_;
19560 }
19561 ::opencv_caffe::DummyDataParameter* LayerParameter::release_dummy_data_param() {
19562   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dummy_data_param)
19563   clear_has_dummy_data_param();
19564   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
19565   dummy_data_param_ = NULL;
19566   return temp;
19567 }
19568 void LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
19569   delete dummy_data_param_;
19570   dummy_data_param_ = dummy_data_param;
19571   if (dummy_data_param) {
19572     set_has_dummy_data_param();
19573   } else {
19574     clear_has_dummy_data_param();
19575   }
19576   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dummy_data_param)
19577 }
19578
19579 // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
19580 bool LayerParameter::has_eltwise_param() const {
19581   return (_has_bits_[0] & 0x02000000u) != 0;
19582 }
19583 void LayerParameter::set_has_eltwise_param() {
19584   _has_bits_[0] |= 0x02000000u;
19585 }
19586 void LayerParameter::clear_has_eltwise_param() {
19587   _has_bits_[0] &= ~0x02000000u;
19588 }
19589 void LayerParameter::clear_eltwise_param() {
19590   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
19591   clear_has_eltwise_param();
19592 }
19593 const ::opencv_caffe::EltwiseParameter& LayerParameter::eltwise_param() const {
19594   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.eltwise_param)
19595   return eltwise_param_ != NULL ? *eltwise_param_
19596                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
19597 }
19598 ::opencv_caffe::EltwiseParameter* LayerParameter::mutable_eltwise_param() {
19599   set_has_eltwise_param();
19600   if (eltwise_param_ == NULL) {
19601     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
19602   }
19603   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.eltwise_param)
19604   return eltwise_param_;
19605 }
19606 ::opencv_caffe::EltwiseParameter* LayerParameter::release_eltwise_param() {
19607   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.eltwise_param)
19608   clear_has_eltwise_param();
19609   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
19610   eltwise_param_ = NULL;
19611   return temp;
19612 }
19613 void LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
19614   delete eltwise_param_;
19615   eltwise_param_ = eltwise_param;
19616   if (eltwise_param) {
19617     set_has_eltwise_param();
19618   } else {
19619     clear_has_eltwise_param();
19620   }
19621   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.eltwise_param)
19622 }
19623
19624 // optional .opencv_caffe.ELUParameter elu_param = 140;
19625 bool LayerParameter::has_elu_param() const {
19626   return (_has_bits_[0] & 0x04000000u) != 0;
19627 }
19628 void LayerParameter::set_has_elu_param() {
19629   _has_bits_[0] |= 0x04000000u;
19630 }
19631 void LayerParameter::clear_has_elu_param() {
19632   _has_bits_[0] &= ~0x04000000u;
19633 }
19634 void LayerParameter::clear_elu_param() {
19635   if (elu_param_ != NULL) elu_param_->::opencv_caffe::ELUParameter::Clear();
19636   clear_has_elu_param();
19637 }
19638 const ::opencv_caffe::ELUParameter& LayerParameter::elu_param() const {
19639   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.elu_param)
19640   return elu_param_ != NULL ? *elu_param_
19641                          : *::opencv_caffe::ELUParameter::internal_default_instance();
19642 }
19643 ::opencv_caffe::ELUParameter* LayerParameter::mutable_elu_param() {
19644   set_has_elu_param();
19645   if (elu_param_ == NULL) {
19646     elu_param_ = new ::opencv_caffe::ELUParameter;
19647   }
19648   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.elu_param)
19649   return elu_param_;
19650 }
19651 ::opencv_caffe::ELUParameter* LayerParameter::release_elu_param() {
19652   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.elu_param)
19653   clear_has_elu_param();
19654   ::opencv_caffe::ELUParameter* temp = elu_param_;
19655   elu_param_ = NULL;
19656   return temp;
19657 }
19658 void LayerParameter::set_allocated_elu_param(::opencv_caffe::ELUParameter* elu_param) {
19659   delete elu_param_;
19660   elu_param_ = elu_param;
19661   if (elu_param) {
19662     set_has_elu_param();
19663   } else {
19664     clear_has_elu_param();
19665   }
19666   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.elu_param)
19667 }
19668
19669 // optional .opencv_caffe.EmbedParameter embed_param = 137;
19670 bool LayerParameter::has_embed_param() const {
19671   return (_has_bits_[0] & 0x08000000u) != 0;
19672 }
19673 void LayerParameter::set_has_embed_param() {
19674   _has_bits_[0] |= 0x08000000u;
19675 }
19676 void LayerParameter::clear_has_embed_param() {
19677   _has_bits_[0] &= ~0x08000000u;
19678 }
19679 void LayerParameter::clear_embed_param() {
19680   if (embed_param_ != NULL) embed_param_->::opencv_caffe::EmbedParameter::Clear();
19681   clear_has_embed_param();
19682 }
19683 const ::opencv_caffe::EmbedParameter& LayerParameter::embed_param() const {
19684   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.embed_param)
19685   return embed_param_ != NULL ? *embed_param_
19686                          : *::opencv_caffe::EmbedParameter::internal_default_instance();
19687 }
19688 ::opencv_caffe::EmbedParameter* LayerParameter::mutable_embed_param() {
19689   set_has_embed_param();
19690   if (embed_param_ == NULL) {
19691     embed_param_ = new ::opencv_caffe::EmbedParameter;
19692   }
19693   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.embed_param)
19694   return embed_param_;
19695 }
19696 ::opencv_caffe::EmbedParameter* LayerParameter::release_embed_param() {
19697   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.embed_param)
19698   clear_has_embed_param();
19699   ::opencv_caffe::EmbedParameter* temp = embed_param_;
19700   embed_param_ = NULL;
19701   return temp;
19702 }
19703 void LayerParameter::set_allocated_embed_param(::opencv_caffe::EmbedParameter* embed_param) {
19704   delete embed_param_;
19705   embed_param_ = embed_param;
19706   if (embed_param) {
19707     set_has_embed_param();
19708   } else {
19709     clear_has_embed_param();
19710   }
19711   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.embed_param)
19712 }
19713
19714 // optional .opencv_caffe.ExpParameter exp_param = 111;
19715 bool LayerParameter::has_exp_param() const {
19716   return (_has_bits_[0] & 0x10000000u) != 0;
19717 }
19718 void LayerParameter::set_has_exp_param() {
19719   _has_bits_[0] |= 0x10000000u;
19720 }
19721 void LayerParameter::clear_has_exp_param() {
19722   _has_bits_[0] &= ~0x10000000u;
19723 }
19724 void LayerParameter::clear_exp_param() {
19725   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
19726   clear_has_exp_param();
19727 }
19728 const ::opencv_caffe::ExpParameter& LayerParameter::exp_param() const {
19729   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exp_param)
19730   return exp_param_ != NULL ? *exp_param_
19731                          : *::opencv_caffe::ExpParameter::internal_default_instance();
19732 }
19733 ::opencv_caffe::ExpParameter* LayerParameter::mutable_exp_param() {
19734   set_has_exp_param();
19735   if (exp_param_ == NULL) {
19736     exp_param_ = new ::opencv_caffe::ExpParameter;
19737   }
19738   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exp_param)
19739   return exp_param_;
19740 }
19741 ::opencv_caffe::ExpParameter* LayerParameter::release_exp_param() {
19742   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.exp_param)
19743   clear_has_exp_param();
19744   ::opencv_caffe::ExpParameter* temp = exp_param_;
19745   exp_param_ = NULL;
19746   return temp;
19747 }
19748 void LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
19749   delete exp_param_;
19750   exp_param_ = exp_param;
19751   if (exp_param) {
19752     set_has_exp_param();
19753   } else {
19754     clear_has_exp_param();
19755   }
19756   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.exp_param)
19757 }
19758
19759 // optional .opencv_caffe.FlattenParameter flatten_param = 135;
19760 bool LayerParameter::has_flatten_param() const {
19761   return (_has_bits_[0] & 0x20000000u) != 0;
19762 }
19763 void LayerParameter::set_has_flatten_param() {
19764   _has_bits_[0] |= 0x20000000u;
19765 }
19766 void LayerParameter::clear_has_flatten_param() {
19767   _has_bits_[0] &= ~0x20000000u;
19768 }
19769 void LayerParameter::clear_flatten_param() {
19770   if (flatten_param_ != NULL) flatten_param_->::opencv_caffe::FlattenParameter::Clear();
19771   clear_has_flatten_param();
19772 }
19773 const ::opencv_caffe::FlattenParameter& LayerParameter::flatten_param() const {
19774   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.flatten_param)
19775   return flatten_param_ != NULL ? *flatten_param_
19776                          : *::opencv_caffe::FlattenParameter::internal_default_instance();
19777 }
19778 ::opencv_caffe::FlattenParameter* LayerParameter::mutable_flatten_param() {
19779   set_has_flatten_param();
19780   if (flatten_param_ == NULL) {
19781     flatten_param_ = new ::opencv_caffe::FlattenParameter;
19782   }
19783   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.flatten_param)
19784   return flatten_param_;
19785 }
19786 ::opencv_caffe::FlattenParameter* LayerParameter::release_flatten_param() {
19787   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.flatten_param)
19788   clear_has_flatten_param();
19789   ::opencv_caffe::FlattenParameter* temp = flatten_param_;
19790   flatten_param_ = NULL;
19791   return temp;
19792 }
19793 void LayerParameter::set_allocated_flatten_param(::opencv_caffe::FlattenParameter* flatten_param) {
19794   delete flatten_param_;
19795   flatten_param_ = flatten_param;
19796   if (flatten_param) {
19797     set_has_flatten_param();
19798   } else {
19799     clear_has_flatten_param();
19800   }
19801   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.flatten_param)
19802 }
19803
19804 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
19805 bool LayerParameter::has_hdf5_data_param() const {
19806   return (_has_bits_[0] & 0x40000000u) != 0;
19807 }
19808 void LayerParameter::set_has_hdf5_data_param() {
19809   _has_bits_[0] |= 0x40000000u;
19810 }
19811 void LayerParameter::clear_has_hdf5_data_param() {
19812   _has_bits_[0] &= ~0x40000000u;
19813 }
19814 void LayerParameter::clear_hdf5_data_param() {
19815   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
19816   clear_has_hdf5_data_param();
19817 }
19818 const ::opencv_caffe::HDF5DataParameter& LayerParameter::hdf5_data_param() const {
19819   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_data_param)
19820   return hdf5_data_param_ != NULL ? *hdf5_data_param_
19821                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
19822 }
19823 ::opencv_caffe::HDF5DataParameter* LayerParameter::mutable_hdf5_data_param() {
19824   set_has_hdf5_data_param();
19825   if (hdf5_data_param_ == NULL) {
19826     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
19827   }
19828   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_data_param)
19829   return hdf5_data_param_;
19830 }
19831 ::opencv_caffe::HDF5DataParameter* LayerParameter::release_hdf5_data_param() {
19832   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_data_param)
19833   clear_has_hdf5_data_param();
19834   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
19835   hdf5_data_param_ = NULL;
19836   return temp;
19837 }
19838 void LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
19839   delete hdf5_data_param_;
19840   hdf5_data_param_ = hdf5_data_param;
19841   if (hdf5_data_param) {
19842     set_has_hdf5_data_param();
19843   } else {
19844     clear_has_hdf5_data_param();
19845   }
19846   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_data_param)
19847 }
19848
19849 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
19850 bool LayerParameter::has_hdf5_output_param() const {
19851   return (_has_bits_[0] & 0x80000000u) != 0;
19852 }
19853 void LayerParameter::set_has_hdf5_output_param() {
19854   _has_bits_[0] |= 0x80000000u;
19855 }
19856 void LayerParameter::clear_has_hdf5_output_param() {
19857   _has_bits_[0] &= ~0x80000000u;
19858 }
19859 void LayerParameter::clear_hdf5_output_param() {
19860   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
19861   clear_has_hdf5_output_param();
19862 }
19863 const ::opencv_caffe::HDF5OutputParameter& LayerParameter::hdf5_output_param() const {
19864   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_output_param)
19865   return hdf5_output_param_ != NULL ? *hdf5_output_param_
19866                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
19867 }
19868 ::opencv_caffe::HDF5OutputParameter* LayerParameter::mutable_hdf5_output_param() {
19869   set_has_hdf5_output_param();
19870   if (hdf5_output_param_ == NULL) {
19871     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
19872   }
19873   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_output_param)
19874   return hdf5_output_param_;
19875 }
19876 ::opencv_caffe::HDF5OutputParameter* LayerParameter::release_hdf5_output_param() {
19877   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_output_param)
19878   clear_has_hdf5_output_param();
19879   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
19880   hdf5_output_param_ = NULL;
19881   return temp;
19882 }
19883 void LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
19884   delete hdf5_output_param_;
19885   hdf5_output_param_ = hdf5_output_param;
19886   if (hdf5_output_param) {
19887     set_has_hdf5_output_param();
19888   } else {
19889     clear_has_hdf5_output_param();
19890   }
19891   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_output_param)
19892 }
19893
19894 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
19895 bool LayerParameter::has_hinge_loss_param() const {
19896   return (_has_bits_[1] & 0x00000001u) != 0;
19897 }
19898 void LayerParameter::set_has_hinge_loss_param() {
19899   _has_bits_[1] |= 0x00000001u;
19900 }
19901 void LayerParameter::clear_has_hinge_loss_param() {
19902   _has_bits_[1] &= ~0x00000001u;
19903 }
19904 void LayerParameter::clear_hinge_loss_param() {
19905   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
19906   clear_has_hinge_loss_param();
19907 }
19908 const ::opencv_caffe::HingeLossParameter& LayerParameter::hinge_loss_param() const {
19909   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hinge_loss_param)
19910   return hinge_loss_param_ != NULL ? *hinge_loss_param_
19911                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
19912 }
19913 ::opencv_caffe::HingeLossParameter* LayerParameter::mutable_hinge_loss_param() {
19914   set_has_hinge_loss_param();
19915   if (hinge_loss_param_ == NULL) {
19916     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
19917   }
19918   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hinge_loss_param)
19919   return hinge_loss_param_;
19920 }
19921 ::opencv_caffe::HingeLossParameter* LayerParameter::release_hinge_loss_param() {
19922   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hinge_loss_param)
19923   clear_has_hinge_loss_param();
19924   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
19925   hinge_loss_param_ = NULL;
19926   return temp;
19927 }
19928 void LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
19929   delete hinge_loss_param_;
19930   hinge_loss_param_ = hinge_loss_param;
19931   if (hinge_loss_param) {
19932     set_has_hinge_loss_param();
19933   } else {
19934     clear_has_hinge_loss_param();
19935   }
19936   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hinge_loss_param)
19937 }
19938
19939 // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
19940 bool LayerParameter::has_image_data_param() const {
19941   return (_has_bits_[1] & 0x00000002u) != 0;
19942 }
19943 void LayerParameter::set_has_image_data_param() {
19944   _has_bits_[1] |= 0x00000002u;
19945 }
19946 void LayerParameter::clear_has_image_data_param() {
19947   _has_bits_[1] &= ~0x00000002u;
19948 }
19949 void LayerParameter::clear_image_data_param() {
19950   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
19951   clear_has_image_data_param();
19952 }
19953 const ::opencv_caffe::ImageDataParameter& LayerParameter::image_data_param() const {
19954   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.image_data_param)
19955   return image_data_param_ != NULL ? *image_data_param_
19956                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
19957 }
19958 ::opencv_caffe::ImageDataParameter* LayerParameter::mutable_image_data_param() {
19959   set_has_image_data_param();
19960   if (image_data_param_ == NULL) {
19961     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
19962   }
19963   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.image_data_param)
19964   return image_data_param_;
19965 }
19966 ::opencv_caffe::ImageDataParameter* LayerParameter::release_image_data_param() {
19967   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.image_data_param)
19968   clear_has_image_data_param();
19969   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
19970   image_data_param_ = NULL;
19971   return temp;
19972 }
19973 void LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
19974   delete image_data_param_;
19975   image_data_param_ = image_data_param;
19976   if (image_data_param) {
19977     set_has_image_data_param();
19978   } else {
19979     clear_has_image_data_param();
19980   }
19981   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.image_data_param)
19982 }
19983
19984 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
19985 bool LayerParameter::has_infogain_loss_param() const {
19986   return (_has_bits_[1] & 0x00000004u) != 0;
19987 }
19988 void LayerParameter::set_has_infogain_loss_param() {
19989   _has_bits_[1] |= 0x00000004u;
19990 }
19991 void LayerParameter::clear_has_infogain_loss_param() {
19992   _has_bits_[1] &= ~0x00000004u;
19993 }
19994 void LayerParameter::clear_infogain_loss_param() {
19995   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
19996   clear_has_infogain_loss_param();
19997 }
19998 const ::opencv_caffe::InfogainLossParameter& LayerParameter::infogain_loss_param() const {
19999   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.infogain_loss_param)
20000   return infogain_loss_param_ != NULL ? *infogain_loss_param_
20001                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
20002 }
20003 ::opencv_caffe::InfogainLossParameter* LayerParameter::mutable_infogain_loss_param() {
20004   set_has_infogain_loss_param();
20005   if (infogain_loss_param_ == NULL) {
20006     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
20007   }
20008   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.infogain_loss_param)
20009   return infogain_loss_param_;
20010 }
20011 ::opencv_caffe::InfogainLossParameter* LayerParameter::release_infogain_loss_param() {
20012   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.infogain_loss_param)
20013   clear_has_infogain_loss_param();
20014   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
20015   infogain_loss_param_ = NULL;
20016   return temp;
20017 }
20018 void LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
20019   delete infogain_loss_param_;
20020   infogain_loss_param_ = infogain_loss_param;
20021   if (infogain_loss_param) {
20022     set_has_infogain_loss_param();
20023   } else {
20024     clear_has_infogain_loss_param();
20025   }
20026   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.infogain_loss_param)
20027 }
20028
20029 // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
20030 bool LayerParameter::has_inner_product_param() const {
20031   return (_has_bits_[1] & 0x00000008u) != 0;
20032 }
20033 void LayerParameter::set_has_inner_product_param() {
20034   _has_bits_[1] |= 0x00000008u;
20035 }
20036 void LayerParameter::clear_has_inner_product_param() {
20037   _has_bits_[1] &= ~0x00000008u;
20038 }
20039 void LayerParameter::clear_inner_product_param() {
20040   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
20041   clear_has_inner_product_param();
20042 }
20043 const ::opencv_caffe::InnerProductParameter& LayerParameter::inner_product_param() const {
20044   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.inner_product_param)
20045   return inner_product_param_ != NULL ? *inner_product_param_
20046                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
20047 }
20048 ::opencv_caffe::InnerProductParameter* LayerParameter::mutable_inner_product_param() {
20049   set_has_inner_product_param();
20050   if (inner_product_param_ == NULL) {
20051     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
20052   }
20053   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.inner_product_param)
20054   return inner_product_param_;
20055 }
20056 ::opencv_caffe::InnerProductParameter* LayerParameter::release_inner_product_param() {
20057   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.inner_product_param)
20058   clear_has_inner_product_param();
20059   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
20060   inner_product_param_ = NULL;
20061   return temp;
20062 }
20063 void LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
20064   delete inner_product_param_;
20065   inner_product_param_ = inner_product_param;
20066   if (inner_product_param) {
20067     set_has_inner_product_param();
20068   } else {
20069     clear_has_inner_product_param();
20070   }
20071   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.inner_product_param)
20072 }
20073
20074 // optional .opencv_caffe.InputParameter input_param = 143;
20075 bool LayerParameter::has_input_param() const {
20076   return (_has_bits_[1] & 0x00000010u) != 0;
20077 }
20078 void LayerParameter::set_has_input_param() {
20079   _has_bits_[1] |= 0x00000010u;
20080 }
20081 void LayerParameter::clear_has_input_param() {
20082   _has_bits_[1] &= ~0x00000010u;
20083 }
20084 void LayerParameter::clear_input_param() {
20085   if (input_param_ != NULL) input_param_->::opencv_caffe::InputParameter::Clear();
20086   clear_has_input_param();
20087 }
20088 const ::opencv_caffe::InputParameter& LayerParameter::input_param() const {
20089   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.input_param)
20090   return input_param_ != NULL ? *input_param_
20091                          : *::opencv_caffe::InputParameter::internal_default_instance();
20092 }
20093 ::opencv_caffe::InputParameter* LayerParameter::mutable_input_param() {
20094   set_has_input_param();
20095   if (input_param_ == NULL) {
20096     input_param_ = new ::opencv_caffe::InputParameter;
20097   }
20098   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.input_param)
20099   return input_param_;
20100 }
20101 ::opencv_caffe::InputParameter* LayerParameter::release_input_param() {
20102   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.input_param)
20103   clear_has_input_param();
20104   ::opencv_caffe::InputParameter* temp = input_param_;
20105   input_param_ = NULL;
20106   return temp;
20107 }
20108 void LayerParameter::set_allocated_input_param(::opencv_caffe::InputParameter* input_param) {
20109   delete input_param_;
20110   input_param_ = input_param;
20111   if (input_param) {
20112     set_has_input_param();
20113   } else {
20114     clear_has_input_param();
20115   }
20116   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.input_param)
20117 }
20118
20119 // optional .opencv_caffe.LogParameter log_param = 134;
20120 bool LayerParameter::has_log_param() const {
20121   return (_has_bits_[1] & 0x00000020u) != 0;
20122 }
20123 void LayerParameter::set_has_log_param() {
20124   _has_bits_[1] |= 0x00000020u;
20125 }
20126 void LayerParameter::clear_has_log_param() {
20127   _has_bits_[1] &= ~0x00000020u;
20128 }
20129 void LayerParameter::clear_log_param() {
20130   if (log_param_ != NULL) log_param_->::opencv_caffe::LogParameter::Clear();
20131   clear_has_log_param();
20132 }
20133 const ::opencv_caffe::LogParameter& LayerParameter::log_param() const {
20134   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.log_param)
20135   return log_param_ != NULL ? *log_param_
20136                          : *::opencv_caffe::LogParameter::internal_default_instance();
20137 }
20138 ::opencv_caffe::LogParameter* LayerParameter::mutable_log_param() {
20139   set_has_log_param();
20140   if (log_param_ == NULL) {
20141     log_param_ = new ::opencv_caffe::LogParameter;
20142   }
20143   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.log_param)
20144   return log_param_;
20145 }
20146 ::opencv_caffe::LogParameter* LayerParameter::release_log_param() {
20147   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.log_param)
20148   clear_has_log_param();
20149   ::opencv_caffe::LogParameter* temp = log_param_;
20150   log_param_ = NULL;
20151   return temp;
20152 }
20153 void LayerParameter::set_allocated_log_param(::opencv_caffe::LogParameter* log_param) {
20154   delete log_param_;
20155   log_param_ = log_param;
20156   if (log_param) {
20157     set_has_log_param();
20158   } else {
20159     clear_has_log_param();
20160   }
20161   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.log_param)
20162 }
20163
20164 // optional .opencv_caffe.LRNParameter lrn_param = 118;
20165 bool LayerParameter::has_lrn_param() const {
20166   return (_has_bits_[1] & 0x00000040u) != 0;
20167 }
20168 void LayerParameter::set_has_lrn_param() {
20169   _has_bits_[1] |= 0x00000040u;
20170 }
20171 void LayerParameter::clear_has_lrn_param() {
20172   _has_bits_[1] &= ~0x00000040u;
20173 }
20174 void LayerParameter::clear_lrn_param() {
20175   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
20176   clear_has_lrn_param();
20177 }
20178 const ::opencv_caffe::LRNParameter& LayerParameter::lrn_param() const {
20179   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.lrn_param)
20180   return lrn_param_ != NULL ? *lrn_param_
20181                          : *::opencv_caffe::LRNParameter::internal_default_instance();
20182 }
20183 ::opencv_caffe::LRNParameter* LayerParameter::mutable_lrn_param() {
20184   set_has_lrn_param();
20185   if (lrn_param_ == NULL) {
20186     lrn_param_ = new ::opencv_caffe::LRNParameter;
20187   }
20188   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.lrn_param)
20189   return lrn_param_;
20190 }
20191 ::opencv_caffe::LRNParameter* LayerParameter::release_lrn_param() {
20192   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.lrn_param)
20193   clear_has_lrn_param();
20194   ::opencv_caffe::LRNParameter* temp = lrn_param_;
20195   lrn_param_ = NULL;
20196   return temp;
20197 }
20198 void LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
20199   delete lrn_param_;
20200   lrn_param_ = lrn_param;
20201   if (lrn_param) {
20202     set_has_lrn_param();
20203   } else {
20204     clear_has_lrn_param();
20205   }
20206   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.lrn_param)
20207 }
20208
20209 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
20210 bool LayerParameter::has_memory_data_param() const {
20211   return (_has_bits_[1] & 0x00000080u) != 0;
20212 }
20213 void LayerParameter::set_has_memory_data_param() {
20214   _has_bits_[1] |= 0x00000080u;
20215 }
20216 void LayerParameter::clear_has_memory_data_param() {
20217   _has_bits_[1] &= ~0x00000080u;
20218 }
20219 void LayerParameter::clear_memory_data_param() {
20220   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
20221   clear_has_memory_data_param();
20222 }
20223 const ::opencv_caffe::MemoryDataParameter& LayerParameter::memory_data_param() const {
20224   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.memory_data_param)
20225   return memory_data_param_ != NULL ? *memory_data_param_
20226                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
20227 }
20228 ::opencv_caffe::MemoryDataParameter* LayerParameter::mutable_memory_data_param() {
20229   set_has_memory_data_param();
20230   if (memory_data_param_ == NULL) {
20231     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
20232   }
20233   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.memory_data_param)
20234   return memory_data_param_;
20235 }
20236 ::opencv_caffe::MemoryDataParameter* LayerParameter::release_memory_data_param() {
20237   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.memory_data_param)
20238   clear_has_memory_data_param();
20239   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
20240   memory_data_param_ = NULL;
20241   return temp;
20242 }
20243 void LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
20244   delete memory_data_param_;
20245   memory_data_param_ = memory_data_param;
20246   if (memory_data_param) {
20247     set_has_memory_data_param();
20248   } else {
20249     clear_has_memory_data_param();
20250   }
20251   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.memory_data_param)
20252 }
20253
20254 // optional .opencv_caffe.MVNParameter mvn_param = 120;
20255 bool LayerParameter::has_mvn_param() const {
20256   return (_has_bits_[1] & 0x00000100u) != 0;
20257 }
20258 void LayerParameter::set_has_mvn_param() {
20259   _has_bits_[1] |= 0x00000100u;
20260 }
20261 void LayerParameter::clear_has_mvn_param() {
20262   _has_bits_[1] &= ~0x00000100u;
20263 }
20264 void LayerParameter::clear_mvn_param() {
20265   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
20266   clear_has_mvn_param();
20267 }
20268 const ::opencv_caffe::MVNParameter& LayerParameter::mvn_param() const {
20269   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.mvn_param)
20270   return mvn_param_ != NULL ? *mvn_param_
20271                          : *::opencv_caffe::MVNParameter::internal_default_instance();
20272 }
20273 ::opencv_caffe::MVNParameter* LayerParameter::mutable_mvn_param() {
20274   set_has_mvn_param();
20275   if (mvn_param_ == NULL) {
20276     mvn_param_ = new ::opencv_caffe::MVNParameter;
20277   }
20278   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.mvn_param)
20279   return mvn_param_;
20280 }
20281 ::opencv_caffe::MVNParameter* LayerParameter::release_mvn_param() {
20282   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.mvn_param)
20283   clear_has_mvn_param();
20284   ::opencv_caffe::MVNParameter* temp = mvn_param_;
20285   mvn_param_ = NULL;
20286   return temp;
20287 }
20288 void LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
20289   delete mvn_param_;
20290   mvn_param_ = mvn_param;
20291   if (mvn_param) {
20292     set_has_mvn_param();
20293   } else {
20294     clear_has_mvn_param();
20295   }
20296   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.mvn_param)
20297 }
20298
20299 // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
20300 bool LayerParameter::has_norm_param() const {
20301   return (_has_bits_[1] & 0x00000200u) != 0;
20302 }
20303 void LayerParameter::set_has_norm_param() {
20304   _has_bits_[1] |= 0x00000200u;
20305 }
20306 void LayerParameter::clear_has_norm_param() {
20307   _has_bits_[1] &= ~0x00000200u;
20308 }
20309 void LayerParameter::clear_norm_param() {
20310   if (norm_param_ != NULL) norm_param_->::opencv_caffe::NormalizeBBoxParameter::Clear();
20311   clear_has_norm_param();
20312 }
20313 const ::opencv_caffe::NormalizeBBoxParameter& LayerParameter::norm_param() const {
20314   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.norm_param)
20315   return norm_param_ != NULL ? *norm_param_
20316                          : *::opencv_caffe::NormalizeBBoxParameter::internal_default_instance();
20317 }
20318 ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::mutable_norm_param() {
20319   set_has_norm_param();
20320   if (norm_param_ == NULL) {
20321     norm_param_ = new ::opencv_caffe::NormalizeBBoxParameter;
20322   }
20323   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.norm_param)
20324   return norm_param_;
20325 }
20326 ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::release_norm_param() {
20327   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.norm_param)
20328   clear_has_norm_param();
20329   ::opencv_caffe::NormalizeBBoxParameter* temp = norm_param_;
20330   norm_param_ = NULL;
20331   return temp;
20332 }
20333 void LayerParameter::set_allocated_norm_param(::opencv_caffe::NormalizeBBoxParameter* norm_param) {
20334   delete norm_param_;
20335   norm_param_ = norm_param;
20336   if (norm_param) {
20337     set_has_norm_param();
20338   } else {
20339     clear_has_norm_param();
20340   }
20341   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.norm_param)
20342 }
20343
20344 // optional .opencv_caffe.PermuteParameter permute_param = 148;
20345 bool LayerParameter::has_permute_param() const {
20346   return (_has_bits_[1] & 0x00000400u) != 0;
20347 }
20348 void LayerParameter::set_has_permute_param() {
20349   _has_bits_[1] |= 0x00000400u;
20350 }
20351 void LayerParameter::clear_has_permute_param() {
20352   _has_bits_[1] &= ~0x00000400u;
20353 }
20354 void LayerParameter::clear_permute_param() {
20355   if (permute_param_ != NULL) permute_param_->::opencv_caffe::PermuteParameter::Clear();
20356   clear_has_permute_param();
20357 }
20358 const ::opencv_caffe::PermuteParameter& LayerParameter::permute_param() const {
20359   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.permute_param)
20360   return permute_param_ != NULL ? *permute_param_
20361                          : *::opencv_caffe::PermuteParameter::internal_default_instance();
20362 }
20363 ::opencv_caffe::PermuteParameter* LayerParameter::mutable_permute_param() {
20364   set_has_permute_param();
20365   if (permute_param_ == NULL) {
20366     permute_param_ = new ::opencv_caffe::PermuteParameter;
20367   }
20368   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.permute_param)
20369   return permute_param_;
20370 }
20371 ::opencv_caffe::PermuteParameter* LayerParameter::release_permute_param() {
20372   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.permute_param)
20373   clear_has_permute_param();
20374   ::opencv_caffe::PermuteParameter* temp = permute_param_;
20375   permute_param_ = NULL;
20376   return temp;
20377 }
20378 void LayerParameter::set_allocated_permute_param(::opencv_caffe::PermuteParameter* permute_param) {
20379   delete permute_param_;
20380   permute_param_ = permute_param;
20381   if (permute_param) {
20382     set_has_permute_param();
20383   } else {
20384     clear_has_permute_param();
20385   }
20386   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.permute_param)
20387 }
20388
20389 // optional .opencv_caffe.ParameterParameter parameter_param = 145;
20390 bool LayerParameter::has_parameter_param() const {
20391   return (_has_bits_[1] & 0x00000800u) != 0;
20392 }
20393 void LayerParameter::set_has_parameter_param() {
20394   _has_bits_[1] |= 0x00000800u;
20395 }
20396 void LayerParameter::clear_has_parameter_param() {
20397   _has_bits_[1] &= ~0x00000800u;
20398 }
20399 void LayerParameter::clear_parameter_param() {
20400   if (parameter_param_ != NULL) parameter_param_->::opencv_caffe::ParameterParameter::Clear();
20401   clear_has_parameter_param();
20402 }
20403 const ::opencv_caffe::ParameterParameter& LayerParameter::parameter_param() const {
20404   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.parameter_param)
20405   return parameter_param_ != NULL ? *parameter_param_
20406                          : *::opencv_caffe::ParameterParameter::internal_default_instance();
20407 }
20408 ::opencv_caffe::ParameterParameter* LayerParameter::mutable_parameter_param() {
20409   set_has_parameter_param();
20410   if (parameter_param_ == NULL) {
20411     parameter_param_ = new ::opencv_caffe::ParameterParameter;
20412   }
20413   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.parameter_param)
20414   return parameter_param_;
20415 }
20416 ::opencv_caffe::ParameterParameter* LayerParameter::release_parameter_param() {
20417   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.parameter_param)
20418   clear_has_parameter_param();
20419   ::opencv_caffe::ParameterParameter* temp = parameter_param_;
20420   parameter_param_ = NULL;
20421   return temp;
20422 }
20423 void LayerParameter::set_allocated_parameter_param(::opencv_caffe::ParameterParameter* parameter_param) {
20424   delete parameter_param_;
20425   parameter_param_ = parameter_param;
20426   if (parameter_param) {
20427     set_has_parameter_param();
20428   } else {
20429     clear_has_parameter_param();
20430   }
20431   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.parameter_param)
20432 }
20433
20434 // optional .opencv_caffe.PoolingParameter pooling_param = 121;
20435 bool LayerParameter::has_pooling_param() const {
20436   return (_has_bits_[1] & 0x00001000u) != 0;
20437 }
20438 void LayerParameter::set_has_pooling_param() {
20439   _has_bits_[1] |= 0x00001000u;
20440 }
20441 void LayerParameter::clear_has_pooling_param() {
20442   _has_bits_[1] &= ~0x00001000u;
20443 }
20444 void LayerParameter::clear_pooling_param() {
20445   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
20446   clear_has_pooling_param();
20447 }
20448 const ::opencv_caffe::PoolingParameter& LayerParameter::pooling_param() const {
20449   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.pooling_param)
20450   return pooling_param_ != NULL ? *pooling_param_
20451                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
20452 }
20453 ::opencv_caffe::PoolingParameter* LayerParameter::mutable_pooling_param() {
20454   set_has_pooling_param();
20455   if (pooling_param_ == NULL) {
20456     pooling_param_ = new ::opencv_caffe::PoolingParameter;
20457   }
20458   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.pooling_param)
20459   return pooling_param_;
20460 }
20461 ::opencv_caffe::PoolingParameter* LayerParameter::release_pooling_param() {
20462   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.pooling_param)
20463   clear_has_pooling_param();
20464   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
20465   pooling_param_ = NULL;
20466   return temp;
20467 }
20468 void LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
20469   delete pooling_param_;
20470   pooling_param_ = pooling_param;
20471   if (pooling_param) {
20472     set_has_pooling_param();
20473   } else {
20474     clear_has_pooling_param();
20475   }
20476   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.pooling_param)
20477 }
20478
20479 // optional .opencv_caffe.PowerParameter power_param = 122;
20480 bool LayerParameter::has_power_param() const {
20481   return (_has_bits_[1] & 0x00002000u) != 0;
20482 }
20483 void LayerParameter::set_has_power_param() {
20484   _has_bits_[1] |= 0x00002000u;
20485 }
20486 void LayerParameter::clear_has_power_param() {
20487   _has_bits_[1] &= ~0x00002000u;
20488 }
20489 void LayerParameter::clear_power_param() {
20490   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
20491   clear_has_power_param();
20492 }
20493 const ::opencv_caffe::PowerParameter& LayerParameter::power_param() const {
20494   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.power_param)
20495   return power_param_ != NULL ? *power_param_
20496                          : *::opencv_caffe::PowerParameter::internal_default_instance();
20497 }
20498 ::opencv_caffe::PowerParameter* LayerParameter::mutable_power_param() {
20499   set_has_power_param();
20500   if (power_param_ == NULL) {
20501     power_param_ = new ::opencv_caffe::PowerParameter;
20502   }
20503   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.power_param)
20504   return power_param_;
20505 }
20506 ::opencv_caffe::PowerParameter* LayerParameter::release_power_param() {
20507   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.power_param)
20508   clear_has_power_param();
20509   ::opencv_caffe::PowerParameter* temp = power_param_;
20510   power_param_ = NULL;
20511   return temp;
20512 }
20513 void LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
20514   delete power_param_;
20515   power_param_ = power_param;
20516   if (power_param) {
20517     set_has_power_param();
20518   } else {
20519     clear_has_power_param();
20520   }
20521   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.power_param)
20522 }
20523
20524 // optional .opencv_caffe.PReLUParameter prelu_param = 131;
20525 bool LayerParameter::has_prelu_param() const {
20526   return (_has_bits_[1] & 0x00004000u) != 0;
20527 }
20528 void LayerParameter::set_has_prelu_param() {
20529   _has_bits_[1] |= 0x00004000u;
20530 }
20531 void LayerParameter::clear_has_prelu_param() {
20532   _has_bits_[1] &= ~0x00004000u;
20533 }
20534 void LayerParameter::clear_prelu_param() {
20535   if (prelu_param_ != NULL) prelu_param_->::opencv_caffe::PReLUParameter::Clear();
20536   clear_has_prelu_param();
20537 }
20538 const ::opencv_caffe::PReLUParameter& LayerParameter::prelu_param() const {
20539   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prelu_param)
20540   return prelu_param_ != NULL ? *prelu_param_
20541                          : *::opencv_caffe::PReLUParameter::internal_default_instance();
20542 }
20543 ::opencv_caffe::PReLUParameter* LayerParameter::mutable_prelu_param() {
20544   set_has_prelu_param();
20545   if (prelu_param_ == NULL) {
20546     prelu_param_ = new ::opencv_caffe::PReLUParameter;
20547   }
20548   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prelu_param)
20549   return prelu_param_;
20550 }
20551 ::opencv_caffe::PReLUParameter* LayerParameter::release_prelu_param() {
20552   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prelu_param)
20553   clear_has_prelu_param();
20554   ::opencv_caffe::PReLUParameter* temp = prelu_param_;
20555   prelu_param_ = NULL;
20556   return temp;
20557 }
20558 void LayerParameter::set_allocated_prelu_param(::opencv_caffe::PReLUParameter* prelu_param) {
20559   delete prelu_param_;
20560   prelu_param_ = prelu_param;
20561   if (prelu_param) {
20562     set_has_prelu_param();
20563   } else {
20564     clear_has_prelu_param();
20565   }
20566   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prelu_param)
20567 }
20568
20569 // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
20570 bool LayerParameter::has_prior_box_param() const {
20571   return (_has_bits_[1] & 0x00008000u) != 0;
20572 }
20573 void LayerParameter::set_has_prior_box_param() {
20574   _has_bits_[1] |= 0x00008000u;
20575 }
20576 void LayerParameter::clear_has_prior_box_param() {
20577   _has_bits_[1] &= ~0x00008000u;
20578 }
20579 void LayerParameter::clear_prior_box_param() {
20580   if (prior_box_param_ != NULL) prior_box_param_->::opencv_caffe::PriorBoxParameter::Clear();
20581   clear_has_prior_box_param();
20582 }
20583 const ::opencv_caffe::PriorBoxParameter& LayerParameter::prior_box_param() const {
20584   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prior_box_param)
20585   return prior_box_param_ != NULL ? *prior_box_param_
20586                          : *::opencv_caffe::PriorBoxParameter::internal_default_instance();
20587 }
20588 ::opencv_caffe::PriorBoxParameter* LayerParameter::mutable_prior_box_param() {
20589   set_has_prior_box_param();
20590   if (prior_box_param_ == NULL) {
20591     prior_box_param_ = new ::opencv_caffe::PriorBoxParameter;
20592   }
20593   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prior_box_param)
20594   return prior_box_param_;
20595 }
20596 ::opencv_caffe::PriorBoxParameter* LayerParameter::release_prior_box_param() {
20597   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prior_box_param)
20598   clear_has_prior_box_param();
20599   ::opencv_caffe::PriorBoxParameter* temp = prior_box_param_;
20600   prior_box_param_ = NULL;
20601   return temp;
20602 }
20603 void LayerParameter::set_allocated_prior_box_param(::opencv_caffe::PriorBoxParameter* prior_box_param) {
20604   delete prior_box_param_;
20605   prior_box_param_ = prior_box_param;
20606   if (prior_box_param) {
20607     set_has_prior_box_param();
20608   } else {
20609     clear_has_prior_box_param();
20610   }
20611   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prior_box_param)
20612 }
20613
20614 // optional .opencv_caffe.PythonParameter python_param = 130;
20615 bool LayerParameter::has_python_param() const {
20616   return (_has_bits_[1] & 0x00010000u) != 0;
20617 }
20618 void LayerParameter::set_has_python_param() {
20619   _has_bits_[1] |= 0x00010000u;
20620 }
20621 void LayerParameter::clear_has_python_param() {
20622   _has_bits_[1] &= ~0x00010000u;
20623 }
20624 void LayerParameter::clear_python_param() {
20625   if (python_param_ != NULL) python_param_->::opencv_caffe::PythonParameter::Clear();
20626   clear_has_python_param();
20627 }
20628 const ::opencv_caffe::PythonParameter& LayerParameter::python_param() const {
20629   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.python_param)
20630   return python_param_ != NULL ? *python_param_
20631                          : *::opencv_caffe::PythonParameter::internal_default_instance();
20632 }
20633 ::opencv_caffe::PythonParameter* LayerParameter::mutable_python_param() {
20634   set_has_python_param();
20635   if (python_param_ == NULL) {
20636     python_param_ = new ::opencv_caffe::PythonParameter;
20637   }
20638   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.python_param)
20639   return python_param_;
20640 }
20641 ::opencv_caffe::PythonParameter* LayerParameter::release_python_param() {
20642   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.python_param)
20643   clear_has_python_param();
20644   ::opencv_caffe::PythonParameter* temp = python_param_;
20645   python_param_ = NULL;
20646   return temp;
20647 }
20648 void LayerParameter::set_allocated_python_param(::opencv_caffe::PythonParameter* python_param) {
20649   delete python_param_;
20650   python_param_ = python_param;
20651   if (python_param) {
20652     set_has_python_param();
20653   } else {
20654     clear_has_python_param();
20655   }
20656   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.python_param)
20657 }
20658
20659 // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
20660 bool LayerParameter::has_recurrent_param() const {
20661   return (_has_bits_[1] & 0x00020000u) != 0;
20662 }
20663 void LayerParameter::set_has_recurrent_param() {
20664   _has_bits_[1] |= 0x00020000u;
20665 }
20666 void LayerParameter::clear_has_recurrent_param() {
20667   _has_bits_[1] &= ~0x00020000u;
20668 }
20669 void LayerParameter::clear_recurrent_param() {
20670   if (recurrent_param_ != NULL) recurrent_param_->::opencv_caffe::RecurrentParameter::Clear();
20671   clear_has_recurrent_param();
20672 }
20673 const ::opencv_caffe::RecurrentParameter& LayerParameter::recurrent_param() const {
20674   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.recurrent_param)
20675   return recurrent_param_ != NULL ? *recurrent_param_
20676                          : *::opencv_caffe::RecurrentParameter::internal_default_instance();
20677 }
20678 ::opencv_caffe::RecurrentParameter* LayerParameter::mutable_recurrent_param() {
20679   set_has_recurrent_param();
20680   if (recurrent_param_ == NULL) {
20681     recurrent_param_ = new ::opencv_caffe::RecurrentParameter;
20682   }
20683   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.recurrent_param)
20684   return recurrent_param_;
20685 }
20686 ::opencv_caffe::RecurrentParameter* LayerParameter::release_recurrent_param() {
20687   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.recurrent_param)
20688   clear_has_recurrent_param();
20689   ::opencv_caffe::RecurrentParameter* temp = recurrent_param_;
20690   recurrent_param_ = NULL;
20691   return temp;
20692 }
20693 void LayerParameter::set_allocated_recurrent_param(::opencv_caffe::RecurrentParameter* recurrent_param) {
20694   delete recurrent_param_;
20695   recurrent_param_ = recurrent_param;
20696   if (recurrent_param) {
20697     set_has_recurrent_param();
20698   } else {
20699     clear_has_recurrent_param();
20700   }
20701   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.recurrent_param)
20702 }
20703
20704 // optional .opencv_caffe.ReductionParameter reduction_param = 136;
20705 bool LayerParameter::has_reduction_param() const {
20706   return (_has_bits_[1] & 0x00040000u) != 0;
20707 }
20708 void LayerParameter::set_has_reduction_param() {
20709   _has_bits_[1] |= 0x00040000u;
20710 }
20711 void LayerParameter::clear_has_reduction_param() {
20712   _has_bits_[1] &= ~0x00040000u;
20713 }
20714 void LayerParameter::clear_reduction_param() {
20715   if (reduction_param_ != NULL) reduction_param_->::opencv_caffe::ReductionParameter::Clear();
20716   clear_has_reduction_param();
20717 }
20718 const ::opencv_caffe::ReductionParameter& LayerParameter::reduction_param() const {
20719   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reduction_param)
20720   return reduction_param_ != NULL ? *reduction_param_
20721                          : *::opencv_caffe::ReductionParameter::internal_default_instance();
20722 }
20723 ::opencv_caffe::ReductionParameter* LayerParameter::mutable_reduction_param() {
20724   set_has_reduction_param();
20725   if (reduction_param_ == NULL) {
20726     reduction_param_ = new ::opencv_caffe::ReductionParameter;
20727   }
20728   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reduction_param)
20729   return reduction_param_;
20730 }
20731 ::opencv_caffe::ReductionParameter* LayerParameter::release_reduction_param() {
20732   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reduction_param)
20733   clear_has_reduction_param();
20734   ::opencv_caffe::ReductionParameter* temp = reduction_param_;
20735   reduction_param_ = NULL;
20736   return temp;
20737 }
20738 void LayerParameter::set_allocated_reduction_param(::opencv_caffe::ReductionParameter* reduction_param) {
20739   delete reduction_param_;
20740   reduction_param_ = reduction_param;
20741   if (reduction_param) {
20742     set_has_reduction_param();
20743   } else {
20744     clear_has_reduction_param();
20745   }
20746   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reduction_param)
20747 }
20748
20749 // optional .opencv_caffe.ReLUParameter relu_param = 123;
20750 bool LayerParameter::has_relu_param() const {
20751   return (_has_bits_[1] & 0x00080000u) != 0;
20752 }
20753 void LayerParameter::set_has_relu_param() {
20754   _has_bits_[1] |= 0x00080000u;
20755 }
20756 void LayerParameter::clear_has_relu_param() {
20757   _has_bits_[1] &= ~0x00080000u;
20758 }
20759 void LayerParameter::clear_relu_param() {
20760   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
20761   clear_has_relu_param();
20762 }
20763 const ::opencv_caffe::ReLUParameter& LayerParameter::relu_param() const {
20764   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.relu_param)
20765   return relu_param_ != NULL ? *relu_param_
20766                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
20767 }
20768 ::opencv_caffe::ReLUParameter* LayerParameter::mutable_relu_param() {
20769   set_has_relu_param();
20770   if (relu_param_ == NULL) {
20771     relu_param_ = new ::opencv_caffe::ReLUParameter;
20772   }
20773   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.relu_param)
20774   return relu_param_;
20775 }
20776 ::opencv_caffe::ReLUParameter* LayerParameter::release_relu_param() {
20777   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.relu_param)
20778   clear_has_relu_param();
20779   ::opencv_caffe::ReLUParameter* temp = relu_param_;
20780   relu_param_ = NULL;
20781   return temp;
20782 }
20783 void LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
20784   delete relu_param_;
20785   relu_param_ = relu_param;
20786   if (relu_param) {
20787     set_has_relu_param();
20788   } else {
20789     clear_has_relu_param();
20790   }
20791   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.relu_param)
20792 }
20793
20794 // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
20795 bool LayerParameter::has_reshape_param() const {
20796   return (_has_bits_[1] & 0x00100000u) != 0;
20797 }
20798 void LayerParameter::set_has_reshape_param() {
20799   _has_bits_[1] |= 0x00100000u;
20800 }
20801 void LayerParameter::clear_has_reshape_param() {
20802   _has_bits_[1] &= ~0x00100000u;
20803 }
20804 void LayerParameter::clear_reshape_param() {
20805   if (reshape_param_ != NULL) reshape_param_->::opencv_caffe::ReshapeParameter::Clear();
20806   clear_has_reshape_param();
20807 }
20808 const ::opencv_caffe::ReshapeParameter& LayerParameter::reshape_param() const {
20809   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reshape_param)
20810   return reshape_param_ != NULL ? *reshape_param_
20811                          : *::opencv_caffe::ReshapeParameter::internal_default_instance();
20812 }
20813 ::opencv_caffe::ReshapeParameter* LayerParameter::mutable_reshape_param() {
20814   set_has_reshape_param();
20815   if (reshape_param_ == NULL) {
20816     reshape_param_ = new ::opencv_caffe::ReshapeParameter;
20817   }
20818   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reshape_param)
20819   return reshape_param_;
20820 }
20821 ::opencv_caffe::ReshapeParameter* LayerParameter::release_reshape_param() {
20822   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reshape_param)
20823   clear_has_reshape_param();
20824   ::opencv_caffe::ReshapeParameter* temp = reshape_param_;
20825   reshape_param_ = NULL;
20826   return temp;
20827 }
20828 void LayerParameter::set_allocated_reshape_param(::opencv_caffe::ReshapeParameter* reshape_param) {
20829   delete reshape_param_;
20830   reshape_param_ = reshape_param;
20831   if (reshape_param) {
20832     set_has_reshape_param();
20833   } else {
20834     clear_has_reshape_param();
20835   }
20836   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reshape_param)
20837 }
20838
20839 // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
20840 bool LayerParameter::has_roi_pooling_param() const {
20841   return (_has_bits_[1] & 0x00200000u) != 0;
20842 }
20843 void LayerParameter::set_has_roi_pooling_param() {
20844   _has_bits_[1] |= 0x00200000u;
20845 }
20846 void LayerParameter::clear_has_roi_pooling_param() {
20847   _has_bits_[1] &= ~0x00200000u;
20848 }
20849 void LayerParameter::clear_roi_pooling_param() {
20850   if (roi_pooling_param_ != NULL) roi_pooling_param_->::opencv_caffe::ROIPoolingParameter::Clear();
20851   clear_has_roi_pooling_param();
20852 }
20853 const ::opencv_caffe::ROIPoolingParameter& LayerParameter::roi_pooling_param() const {
20854   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.roi_pooling_param)
20855   return roi_pooling_param_ != NULL ? *roi_pooling_param_
20856                          : *::opencv_caffe::ROIPoolingParameter::internal_default_instance();
20857 }
20858 ::opencv_caffe::ROIPoolingParameter* LayerParameter::mutable_roi_pooling_param() {
20859   set_has_roi_pooling_param();
20860   if (roi_pooling_param_ == NULL) {
20861     roi_pooling_param_ = new ::opencv_caffe::ROIPoolingParameter;
20862   }
20863   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.roi_pooling_param)
20864   return roi_pooling_param_;
20865 }
20866 ::opencv_caffe::ROIPoolingParameter* LayerParameter::release_roi_pooling_param() {
20867   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.roi_pooling_param)
20868   clear_has_roi_pooling_param();
20869   ::opencv_caffe::ROIPoolingParameter* temp = roi_pooling_param_;
20870   roi_pooling_param_ = NULL;
20871   return temp;
20872 }
20873 void LayerParameter::set_allocated_roi_pooling_param(::opencv_caffe::ROIPoolingParameter* roi_pooling_param) {
20874   delete roi_pooling_param_;
20875   roi_pooling_param_ = roi_pooling_param;
20876   if (roi_pooling_param) {
20877     set_has_roi_pooling_param();
20878   } else {
20879     clear_has_roi_pooling_param();
20880   }
20881   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.roi_pooling_param)
20882 }
20883
20884 // optional .opencv_caffe.ScaleParameter scale_param = 142;
20885 bool LayerParameter::has_scale_param() const {
20886   return (_has_bits_[1] & 0x00400000u) != 0;
20887 }
20888 void LayerParameter::set_has_scale_param() {
20889   _has_bits_[1] |= 0x00400000u;
20890 }
20891 void LayerParameter::clear_has_scale_param() {
20892   _has_bits_[1] &= ~0x00400000u;
20893 }
20894 void LayerParameter::clear_scale_param() {
20895   if (scale_param_ != NULL) scale_param_->::opencv_caffe::ScaleParameter::Clear();
20896   clear_has_scale_param();
20897 }
20898 const ::opencv_caffe::ScaleParameter& LayerParameter::scale_param() const {
20899   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.scale_param)
20900   return scale_param_ != NULL ? *scale_param_
20901                          : *::opencv_caffe::ScaleParameter::internal_default_instance();
20902 }
20903 ::opencv_caffe::ScaleParameter* LayerParameter::mutable_scale_param() {
20904   set_has_scale_param();
20905   if (scale_param_ == NULL) {
20906     scale_param_ = new ::opencv_caffe::ScaleParameter;
20907   }
20908   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.scale_param)
20909   return scale_param_;
20910 }
20911 ::opencv_caffe::ScaleParameter* LayerParameter::release_scale_param() {
20912   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.scale_param)
20913   clear_has_scale_param();
20914   ::opencv_caffe::ScaleParameter* temp = scale_param_;
20915   scale_param_ = NULL;
20916   return temp;
20917 }
20918 void LayerParameter::set_allocated_scale_param(::opencv_caffe::ScaleParameter* scale_param) {
20919   delete scale_param_;
20920   scale_param_ = scale_param;
20921   if (scale_param) {
20922     set_has_scale_param();
20923   } else {
20924     clear_has_scale_param();
20925   }
20926   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.scale_param)
20927 }
20928
20929 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
20930 bool LayerParameter::has_sigmoid_param() const {
20931   return (_has_bits_[1] & 0x00800000u) != 0;
20932 }
20933 void LayerParameter::set_has_sigmoid_param() {
20934   _has_bits_[1] |= 0x00800000u;
20935 }
20936 void LayerParameter::clear_has_sigmoid_param() {
20937   _has_bits_[1] &= ~0x00800000u;
20938 }
20939 void LayerParameter::clear_sigmoid_param() {
20940   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
20941   clear_has_sigmoid_param();
20942 }
20943 const ::opencv_caffe::SigmoidParameter& LayerParameter::sigmoid_param() const {
20944   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.sigmoid_param)
20945   return sigmoid_param_ != NULL ? *sigmoid_param_
20946                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
20947 }
20948 ::opencv_caffe::SigmoidParameter* LayerParameter::mutable_sigmoid_param() {
20949   set_has_sigmoid_param();
20950   if (sigmoid_param_ == NULL) {
20951     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
20952   }
20953   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.sigmoid_param)
20954   return sigmoid_param_;
20955 }
20956 ::opencv_caffe::SigmoidParameter* LayerParameter::release_sigmoid_param() {
20957   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.sigmoid_param)
20958   clear_has_sigmoid_param();
20959   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
20960   sigmoid_param_ = NULL;
20961   return temp;
20962 }
20963 void LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
20964   delete sigmoid_param_;
20965   sigmoid_param_ = sigmoid_param;
20966   if (sigmoid_param) {
20967     set_has_sigmoid_param();
20968   } else {
20969     clear_has_sigmoid_param();
20970   }
20971   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.sigmoid_param)
20972 }
20973
20974 // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
20975 bool LayerParameter::has_softmax_param() const {
20976   return (_has_bits_[1] & 0x01000000u) != 0;
20977 }
20978 void LayerParameter::set_has_softmax_param() {
20979   _has_bits_[1] |= 0x01000000u;
20980 }
20981 void LayerParameter::clear_has_softmax_param() {
20982   _has_bits_[1] &= ~0x01000000u;
20983 }
20984 void LayerParameter::clear_softmax_param() {
20985   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
20986   clear_has_softmax_param();
20987 }
20988 const ::opencv_caffe::SoftmaxParameter& LayerParameter::softmax_param() const {
20989   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.softmax_param)
20990   return softmax_param_ != NULL ? *softmax_param_
20991                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
20992 }
20993 ::opencv_caffe::SoftmaxParameter* LayerParameter::mutable_softmax_param() {
20994   set_has_softmax_param();
20995   if (softmax_param_ == NULL) {
20996     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
20997   }
20998   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.softmax_param)
20999   return softmax_param_;
21000 }
21001 ::opencv_caffe::SoftmaxParameter* LayerParameter::release_softmax_param() {
21002   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.softmax_param)
21003   clear_has_softmax_param();
21004   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
21005   softmax_param_ = NULL;
21006   return temp;
21007 }
21008 void LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
21009   delete softmax_param_;
21010   softmax_param_ = softmax_param;
21011   if (softmax_param) {
21012     set_has_softmax_param();
21013   } else {
21014     clear_has_softmax_param();
21015   }
21016   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.softmax_param)
21017 }
21018
21019 // optional .opencv_caffe.SPPParameter spp_param = 132;
21020 bool LayerParameter::has_spp_param() const {
21021   return (_has_bits_[1] & 0x02000000u) != 0;
21022 }
21023 void LayerParameter::set_has_spp_param() {
21024   _has_bits_[1] |= 0x02000000u;
21025 }
21026 void LayerParameter::clear_has_spp_param() {
21027   _has_bits_[1] &= ~0x02000000u;
21028 }
21029 void LayerParameter::clear_spp_param() {
21030   if (spp_param_ != NULL) spp_param_->::opencv_caffe::SPPParameter::Clear();
21031   clear_has_spp_param();
21032 }
21033 const ::opencv_caffe::SPPParameter& LayerParameter::spp_param() const {
21034   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.spp_param)
21035   return spp_param_ != NULL ? *spp_param_
21036                          : *::opencv_caffe::SPPParameter::internal_default_instance();
21037 }
21038 ::opencv_caffe::SPPParameter* LayerParameter::mutable_spp_param() {
21039   set_has_spp_param();
21040   if (spp_param_ == NULL) {
21041     spp_param_ = new ::opencv_caffe::SPPParameter;
21042   }
21043   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.spp_param)
21044   return spp_param_;
21045 }
21046 ::opencv_caffe::SPPParameter* LayerParameter::release_spp_param() {
21047   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.spp_param)
21048   clear_has_spp_param();
21049   ::opencv_caffe::SPPParameter* temp = spp_param_;
21050   spp_param_ = NULL;
21051   return temp;
21052 }
21053 void LayerParameter::set_allocated_spp_param(::opencv_caffe::SPPParameter* spp_param) {
21054   delete spp_param_;
21055   spp_param_ = spp_param;
21056   if (spp_param) {
21057     set_has_spp_param();
21058   } else {
21059     clear_has_spp_param();
21060   }
21061   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.spp_param)
21062 }
21063
21064 // optional .opencv_caffe.SliceParameter slice_param = 126;
21065 bool LayerParameter::has_slice_param() const {
21066   return (_has_bits_[1] & 0x04000000u) != 0;
21067 }
21068 void LayerParameter::set_has_slice_param() {
21069   _has_bits_[1] |= 0x04000000u;
21070 }
21071 void LayerParameter::clear_has_slice_param() {
21072   _has_bits_[1] &= ~0x04000000u;
21073 }
21074 void LayerParameter::clear_slice_param() {
21075   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
21076   clear_has_slice_param();
21077 }
21078 const ::opencv_caffe::SliceParameter& LayerParameter::slice_param() const {
21079   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.slice_param)
21080   return slice_param_ != NULL ? *slice_param_
21081                          : *::opencv_caffe::SliceParameter::internal_default_instance();
21082 }
21083 ::opencv_caffe::SliceParameter* LayerParameter::mutable_slice_param() {
21084   set_has_slice_param();
21085   if (slice_param_ == NULL) {
21086     slice_param_ = new ::opencv_caffe::SliceParameter;
21087   }
21088   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.slice_param)
21089   return slice_param_;
21090 }
21091 ::opencv_caffe::SliceParameter* LayerParameter::release_slice_param() {
21092   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.slice_param)
21093   clear_has_slice_param();
21094   ::opencv_caffe::SliceParameter* temp = slice_param_;
21095   slice_param_ = NULL;
21096   return temp;
21097 }
21098 void LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
21099   delete slice_param_;
21100   slice_param_ = slice_param;
21101   if (slice_param) {
21102     set_has_slice_param();
21103   } else {
21104     clear_has_slice_param();
21105   }
21106   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.slice_param)
21107 }
21108
21109 // optional .opencv_caffe.TanHParameter tanh_param = 127;
21110 bool LayerParameter::has_tanh_param() const {
21111   return (_has_bits_[1] & 0x08000000u) != 0;
21112 }
21113 void LayerParameter::set_has_tanh_param() {
21114   _has_bits_[1] |= 0x08000000u;
21115 }
21116 void LayerParameter::clear_has_tanh_param() {
21117   _has_bits_[1] &= ~0x08000000u;
21118 }
21119 void LayerParameter::clear_tanh_param() {
21120   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
21121   clear_has_tanh_param();
21122 }
21123 const ::opencv_caffe::TanHParameter& LayerParameter::tanh_param() const {
21124   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tanh_param)
21125   return tanh_param_ != NULL ? *tanh_param_
21126                          : *::opencv_caffe::TanHParameter::internal_default_instance();
21127 }
21128 ::opencv_caffe::TanHParameter* LayerParameter::mutable_tanh_param() {
21129   set_has_tanh_param();
21130   if (tanh_param_ == NULL) {
21131     tanh_param_ = new ::opencv_caffe::TanHParameter;
21132   }
21133   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tanh_param)
21134   return tanh_param_;
21135 }
21136 ::opencv_caffe::TanHParameter* LayerParameter::release_tanh_param() {
21137   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tanh_param)
21138   clear_has_tanh_param();
21139   ::opencv_caffe::TanHParameter* temp = tanh_param_;
21140   tanh_param_ = NULL;
21141   return temp;
21142 }
21143 void LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
21144   delete tanh_param_;
21145   tanh_param_ = tanh_param;
21146   if (tanh_param) {
21147     set_has_tanh_param();
21148   } else {
21149     clear_has_tanh_param();
21150   }
21151   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tanh_param)
21152 }
21153
21154 // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
21155 bool LayerParameter::has_threshold_param() const {
21156   return (_has_bits_[1] & 0x10000000u) != 0;
21157 }
21158 void LayerParameter::set_has_threshold_param() {
21159   _has_bits_[1] |= 0x10000000u;
21160 }
21161 void LayerParameter::clear_has_threshold_param() {
21162   _has_bits_[1] &= ~0x10000000u;
21163 }
21164 void LayerParameter::clear_threshold_param() {
21165   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
21166   clear_has_threshold_param();
21167 }
21168 const ::opencv_caffe::ThresholdParameter& LayerParameter::threshold_param() const {
21169   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.threshold_param)
21170   return threshold_param_ != NULL ? *threshold_param_
21171                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
21172 }
21173 ::opencv_caffe::ThresholdParameter* LayerParameter::mutable_threshold_param() {
21174   set_has_threshold_param();
21175   if (threshold_param_ == NULL) {
21176     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
21177   }
21178   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.threshold_param)
21179   return threshold_param_;
21180 }
21181 ::opencv_caffe::ThresholdParameter* LayerParameter::release_threshold_param() {
21182   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.threshold_param)
21183   clear_has_threshold_param();
21184   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
21185   threshold_param_ = NULL;
21186   return temp;
21187 }
21188 void LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
21189   delete threshold_param_;
21190   threshold_param_ = threshold_param;
21191   if (threshold_param) {
21192     set_has_threshold_param();
21193   } else {
21194     clear_has_threshold_param();
21195   }
21196   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.threshold_param)
21197 }
21198
21199 // optional .opencv_caffe.TileParameter tile_param = 138;
21200 bool LayerParameter::has_tile_param() const {
21201   return (_has_bits_[1] & 0x20000000u) != 0;
21202 }
21203 void LayerParameter::set_has_tile_param() {
21204   _has_bits_[1] |= 0x20000000u;
21205 }
21206 void LayerParameter::clear_has_tile_param() {
21207   _has_bits_[1] &= ~0x20000000u;
21208 }
21209 void LayerParameter::clear_tile_param() {
21210   if (tile_param_ != NULL) tile_param_->::opencv_caffe::TileParameter::Clear();
21211   clear_has_tile_param();
21212 }
21213 const ::opencv_caffe::TileParameter& LayerParameter::tile_param() const {
21214   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tile_param)
21215   return tile_param_ != NULL ? *tile_param_
21216                          : *::opencv_caffe::TileParameter::internal_default_instance();
21217 }
21218 ::opencv_caffe::TileParameter* LayerParameter::mutable_tile_param() {
21219   set_has_tile_param();
21220   if (tile_param_ == NULL) {
21221     tile_param_ = new ::opencv_caffe::TileParameter;
21222   }
21223   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tile_param)
21224   return tile_param_;
21225 }
21226 ::opencv_caffe::TileParameter* LayerParameter::release_tile_param() {
21227   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tile_param)
21228   clear_has_tile_param();
21229   ::opencv_caffe::TileParameter* temp = tile_param_;
21230   tile_param_ = NULL;
21231   return temp;
21232 }
21233 void LayerParameter::set_allocated_tile_param(::opencv_caffe::TileParameter* tile_param) {
21234   delete tile_param_;
21235   tile_param_ = tile_param;
21236   if (tile_param) {
21237     set_has_tile_param();
21238   } else {
21239     clear_has_tile_param();
21240   }
21241   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tile_param)
21242 }
21243
21244 // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
21245 bool LayerParameter::has_window_data_param() const {
21246   return (_has_bits_[1] & 0x40000000u) != 0;
21247 }
21248 void LayerParameter::set_has_window_data_param() {
21249   _has_bits_[1] |= 0x40000000u;
21250 }
21251 void LayerParameter::clear_has_window_data_param() {
21252   _has_bits_[1] &= ~0x40000000u;
21253 }
21254 void LayerParameter::clear_window_data_param() {
21255   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
21256   clear_has_window_data_param();
21257 }
21258 const ::opencv_caffe::WindowDataParameter& LayerParameter::window_data_param() const {
21259   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.window_data_param)
21260   return window_data_param_ != NULL ? *window_data_param_
21261                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
21262 }
21263 ::opencv_caffe::WindowDataParameter* LayerParameter::mutable_window_data_param() {
21264   set_has_window_data_param();
21265   if (window_data_param_ == NULL) {
21266     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
21267   }
21268   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.window_data_param)
21269   return window_data_param_;
21270 }
21271 ::opencv_caffe::WindowDataParameter* LayerParameter::release_window_data_param() {
21272   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.window_data_param)
21273   clear_has_window_data_param();
21274   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
21275   window_data_param_ = NULL;
21276   return temp;
21277 }
21278 void LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
21279   delete window_data_param_;
21280   window_data_param_ = window_data_param;
21281   if (window_data_param) {
21282     set_has_window_data_param();
21283   } else {
21284     clear_has_window_data_param();
21285   }
21286   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.window_data_param)
21287 }
21288
21289 inline const LayerParameter* LayerParameter::internal_default_instance() {
21290   return &LayerParameter_default_instance_.get();
21291 }
21292 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
21293
21294 // ===================================================================
21295
21296 #if !defined(_MSC_VER) || _MSC_VER >= 1900
21297 const int TransformationParameter::kScaleFieldNumber;
21298 const int TransformationParameter::kMirrorFieldNumber;
21299 const int TransformationParameter::kCropSizeFieldNumber;
21300 const int TransformationParameter::kMeanFileFieldNumber;
21301 const int TransformationParameter::kMeanValueFieldNumber;
21302 const int TransformationParameter::kForceColorFieldNumber;
21303 const int TransformationParameter::kForceGrayFieldNumber;
21304 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
21305
21306 TransformationParameter::TransformationParameter()
21307   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
21308   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
21309   SharedCtor();
21310   // @@protoc_insertion_point(constructor:opencv_caffe.TransformationParameter)
21311 }
21312
21313 void TransformationParameter::InitAsDefaultInstance() {
21314 }
21315
21316 TransformationParameter::TransformationParameter(const TransformationParameter& from)
21317   : ::google::protobuf::Message(),
21318     _internal_metadata_(NULL) {
21319   SharedCtor();
21320   UnsafeMergeFrom(from);
21321   // @@protoc_insertion_point(copy_constructor:opencv_caffe.TransformationParameter)
21322 }
21323
21324 void TransformationParameter::SharedCtor() {
21325   _cached_size_ = 0;
21326   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21327   ::memset(&crop_size_, 0, reinterpret_cast<char*>(&force_gray_) -
21328     reinterpret_cast<char*>(&crop_size_) + sizeof(force_gray_));
21329   scale_ = 1;
21330 }
21331
21332 TransformationParameter::~TransformationParameter() {
21333   // @@protoc_insertion_point(destructor:opencv_caffe.TransformationParameter)
21334   SharedDtor();
21335 }
21336
21337 void TransformationParameter::SharedDtor() {
21338   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21339 }
21340
21341 void TransformationParameter::SetCachedSize(int size) const {
21342   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
21343   _cached_size_ = size;
21344   GOOGLE_SAFE_CONCURRENT_WRITES_END();
21345 }
21346 const ::google::protobuf::Descriptor* TransformationParameter::descriptor() {
21347   protobuf_AssignDescriptorsOnce();
21348   return TransformationParameter_descriptor_;
21349 }
21350
21351 const TransformationParameter& TransformationParameter::default_instance() {
21352   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
21353   return *internal_default_instance();
21354 }
21355
21356 ::google::protobuf::internal::ExplicitlyConstructed<TransformationParameter> TransformationParameter_default_instance_;
21357
21358 TransformationParameter* TransformationParameter::New(::google::protobuf::Arena* arena) const {
21359   TransformationParameter* n = new TransformationParameter;
21360   if (arena != NULL) {
21361     arena->Own(n);
21362   }
21363   return n;
21364 }
21365
21366 void TransformationParameter::Clear() {
21367 // @@protoc_insertion_point(message_clear_start:opencv_caffe.TransformationParameter)
21368 #if defined(__clang__)
21369 #define ZR_HELPER_(f) \
21370   _Pragma("clang diagnostic push") \
21371   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
21372   __builtin_offsetof(TransformationParameter, f) \
21373   _Pragma("clang diagnostic pop")
21374 #else
21375 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
21376   &reinterpret_cast<TransformationParameter*>(16)->f)
21377 #endif
21378
21379 #define ZR_(first, last) do {\
21380   ::memset(&(first), 0,\
21381            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
21382 } while (0)
21383
21384   if (_has_bits_[0 / 32] & 111u) {
21385     ZR_(crop_size_, force_gray_);
21386     scale_ = 1;
21387     if (has_mean_file()) {
21388       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21389     }
21390   }
21391
21392 #undef ZR_HELPER_
21393 #undef ZR_
21394
21395   mean_value_.Clear();
21396   _has_bits_.Clear();
21397   if (_internal_metadata_.have_unknown_fields()) {
21398     mutable_unknown_fields()->Clear();
21399   }
21400 }
21401
21402 bool TransformationParameter::MergePartialFromCodedStream(
21403     ::google::protobuf::io::CodedInputStream* input) {
21404 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
21405   ::google::protobuf::uint32 tag;
21406   // @@protoc_insertion_point(parse_start:opencv_caffe.TransformationParameter)
21407   for (;;) {
21408     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
21409     tag = p.first;
21410     if (!p.second) goto handle_unusual;
21411     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
21412       // optional float scale = 1 [default = 1];
21413       case 1: {
21414         if (tag == 13) {
21415           set_has_scale();
21416           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21417                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
21418                  input, &scale_)));
21419         } else {
21420           goto handle_unusual;
21421         }
21422         if (input->ExpectTag(16)) goto parse_mirror;
21423         break;
21424       }
21425
21426       // optional bool mirror = 2 [default = false];
21427       case 2: {
21428         if (tag == 16) {
21429          parse_mirror:
21430           set_has_mirror();
21431           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21432                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
21433                  input, &mirror_)));
21434         } else {
21435           goto handle_unusual;
21436         }
21437         if (input->ExpectTag(24)) goto parse_crop_size;
21438         break;
21439       }
21440
21441       // optional uint32 crop_size = 3 [default = 0];
21442       case 3: {
21443         if (tag == 24) {
21444          parse_crop_size:
21445           set_has_crop_size();
21446           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21447                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
21448                  input, &crop_size_)));
21449         } else {
21450           goto handle_unusual;
21451         }
21452         if (input->ExpectTag(34)) goto parse_mean_file;
21453         break;
21454       }
21455
21456       // optional string mean_file = 4;
21457       case 4: {
21458         if (tag == 34) {
21459          parse_mean_file:
21460           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
21461                 input, this->mutable_mean_file()));
21462           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
21463             this->mean_file().data(), this->mean_file().length(),
21464             ::google::protobuf::internal::WireFormat::PARSE,
21465             "opencv_caffe.TransformationParameter.mean_file");
21466         } else {
21467           goto handle_unusual;
21468         }
21469         if (input->ExpectTag(45)) goto parse_mean_value;
21470         break;
21471       }
21472
21473       // repeated float mean_value = 5;
21474       case 5: {
21475         if (tag == 45) {
21476          parse_mean_value:
21477           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
21478                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
21479                  1, 45, input, this->mutable_mean_value())));
21480         } else if (tag == 42) {
21481           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
21482                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
21483                  input, this->mutable_mean_value())));
21484         } else {
21485           goto handle_unusual;
21486         }
21487         if (input->ExpectTag(45)) goto parse_mean_value;
21488         if (input->ExpectTag(48)) goto parse_force_color;
21489         break;
21490       }
21491
21492       // optional bool force_color = 6 [default = false];
21493       case 6: {
21494         if (tag == 48) {
21495          parse_force_color:
21496           set_has_force_color();
21497           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21498                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
21499                  input, &force_color_)));
21500         } else {
21501           goto handle_unusual;
21502         }
21503         if (input->ExpectTag(56)) goto parse_force_gray;
21504         break;
21505       }
21506
21507       // optional bool force_gray = 7 [default = false];
21508       case 7: {
21509         if (tag == 56) {
21510          parse_force_gray:
21511           set_has_force_gray();
21512           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
21513                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
21514                  input, &force_gray_)));
21515         } else {
21516           goto handle_unusual;
21517         }
21518         if (input->ExpectAtEnd()) goto success;
21519         break;
21520       }
21521
21522       default: {
21523       handle_unusual:
21524         if (tag == 0 ||
21525             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
21526             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
21527           goto success;
21528         }
21529         DO_(::google::protobuf::internal::WireFormat::SkipField(
21530               input, tag, mutable_unknown_fields()));
21531         break;
21532       }
21533     }
21534   }
21535 success:
21536   // @@protoc_insertion_point(parse_success:opencv_caffe.TransformationParameter)
21537   return true;
21538 failure:
21539   // @@protoc_insertion_point(parse_failure:opencv_caffe.TransformationParameter)
21540   return false;
21541 #undef DO_
21542 }
21543
21544 void TransformationParameter::SerializeWithCachedSizes(
21545     ::google::protobuf::io::CodedOutputStream* output) const {
21546   // @@protoc_insertion_point(serialize_start:opencv_caffe.TransformationParameter)
21547   // optional float scale = 1 [default = 1];
21548   if (has_scale()) {
21549     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->scale(), output);
21550   }
21551
21552   // optional bool mirror = 2 [default = false];
21553   if (has_mirror()) {
21554     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->mirror(), output);
21555   }
21556
21557   // optional uint32 crop_size = 3 [default = 0];
21558   if (has_crop_size()) {
21559     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->crop_size(), output);
21560   }
21561
21562   // optional string mean_file = 4;
21563   if (has_mean_file()) {
21564     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
21565       this->mean_file().data(), this->mean_file().length(),
21566       ::google::protobuf::internal::WireFormat::SERIALIZE,
21567       "opencv_caffe.TransformationParameter.mean_file");
21568     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
21569       4, this->mean_file(), output);
21570   }
21571
21572   // repeated float mean_value = 5;
21573   for (int i = 0; i < this->mean_value_size(); i++) {
21574     ::google::protobuf::internal::WireFormatLite::WriteFloat(
21575       5, this->mean_value(i), output);
21576   }
21577
21578   // optional bool force_color = 6 [default = false];
21579   if (has_force_color()) {
21580     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->force_color(), output);
21581   }
21582
21583   // optional bool force_gray = 7 [default = false];
21584   if (has_force_gray()) {
21585     ::google::protobuf::internal::WireFormatLite::WriteBool(7, this->force_gray(), output);
21586   }
21587
21588   if (_internal_metadata_.have_unknown_fields()) {
21589     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
21590         unknown_fields(), output);
21591   }
21592   // @@protoc_insertion_point(serialize_end:opencv_caffe.TransformationParameter)
21593 }
21594
21595 ::google::protobuf::uint8* TransformationParameter::InternalSerializeWithCachedSizesToArray(
21596     bool deterministic, ::google::protobuf::uint8* target) const {
21597   (void)deterministic; // Unused
21598   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.TransformationParameter)
21599   // optional float scale = 1 [default = 1];
21600   if (has_scale()) {
21601     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->scale(), target);
21602   }
21603
21604   // optional bool mirror = 2 [default = false];
21605   if (has_mirror()) {
21606     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->mirror(), target);
21607   }
21608
21609   // optional uint32 crop_size = 3 [default = 0];
21610   if (has_crop_size()) {
21611     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->crop_size(), target);
21612   }
21613
21614   // optional string mean_file = 4;
21615   if (has_mean_file()) {
21616     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
21617       this->mean_file().data(), this->mean_file().length(),
21618       ::google::protobuf::internal::WireFormat::SERIALIZE,
21619       "opencv_caffe.TransformationParameter.mean_file");
21620     target =
21621       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
21622         4, this->mean_file(), target);
21623   }
21624
21625   // repeated float mean_value = 5;
21626   for (int i = 0; i < this->mean_value_size(); i++) {
21627     target = ::google::protobuf::internal::WireFormatLite::
21628       WriteFloatToArray(5, this->mean_value(i), target);
21629   }
21630
21631   // optional bool force_color = 6 [default = false];
21632   if (has_force_color()) {
21633     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->force_color(), target);
21634   }
21635
21636   // optional bool force_gray = 7 [default = false];
21637   if (has_force_gray()) {
21638     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(7, this->force_gray(), target);
21639   }
21640
21641   if (_internal_metadata_.have_unknown_fields()) {
21642     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
21643         unknown_fields(), target);
21644   }
21645   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.TransformationParameter)
21646   return target;
21647 }
21648
21649 size_t TransformationParameter::ByteSizeLong() const {
21650 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.TransformationParameter)
21651   size_t total_size = 0;
21652
21653   if (_has_bits_[0 / 32] & 111u) {
21654     // optional float scale = 1 [default = 1];
21655     if (has_scale()) {
21656       total_size += 1 + 4;
21657     }
21658
21659     // optional bool mirror = 2 [default = false];
21660     if (has_mirror()) {
21661       total_size += 1 + 1;
21662     }
21663
21664     // optional uint32 crop_size = 3 [default = 0];
21665     if (has_crop_size()) {
21666       total_size += 1 +
21667         ::google::protobuf::internal::WireFormatLite::UInt32Size(
21668           this->crop_size());
21669     }
21670
21671     // optional string mean_file = 4;
21672     if (has_mean_file()) {
21673       total_size += 1 +
21674         ::google::protobuf::internal::WireFormatLite::StringSize(
21675           this->mean_file());
21676     }
21677
21678     // optional bool force_color = 6 [default = false];
21679     if (has_force_color()) {
21680       total_size += 1 + 1;
21681     }
21682
21683     // optional bool force_gray = 7 [default = false];
21684     if (has_force_gray()) {
21685       total_size += 1 + 1;
21686     }
21687
21688   }
21689   // repeated float mean_value = 5;
21690   {
21691     size_t data_size = 0;
21692     unsigned int count = this->mean_value_size();
21693     data_size = 4UL * count;
21694     total_size += 1 *
21695                   ::google::protobuf::internal::FromIntSize(this->mean_value_size());
21696     total_size += data_size;
21697   }
21698
21699   if (_internal_metadata_.have_unknown_fields()) {
21700     total_size +=
21701       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
21702         unknown_fields());
21703   }
21704   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
21705   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
21706   _cached_size_ = cached_size;
21707   GOOGLE_SAFE_CONCURRENT_WRITES_END();
21708   return total_size;
21709 }
21710
21711 void TransformationParameter::MergeFrom(const ::google::protobuf::Message& from) {
21712 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.TransformationParameter)
21713   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
21714   const TransformationParameter* source =
21715       ::google::protobuf::internal::DynamicCastToGenerated<const TransformationParameter>(
21716           &from);
21717   if (source == NULL) {
21718   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.TransformationParameter)
21719     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
21720   } else {
21721   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.TransformationParameter)
21722     UnsafeMergeFrom(*source);
21723   }
21724 }
21725
21726 void TransformationParameter::MergeFrom(const TransformationParameter& from) {
21727 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.TransformationParameter)
21728   if (GOOGLE_PREDICT_TRUE(&from != this)) {
21729     UnsafeMergeFrom(from);
21730   } else {
21731     MergeFromFail(__LINE__);
21732   }
21733 }
21734
21735 void TransformationParameter::UnsafeMergeFrom(const TransformationParameter& from) {
21736   GOOGLE_DCHECK(&from != this);
21737   mean_value_.UnsafeMergeFrom(from.mean_value_);
21738   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
21739     if (from.has_scale()) {
21740       set_scale(from.scale());
21741     }
21742     if (from.has_mirror()) {
21743       set_mirror(from.mirror());
21744     }
21745     if (from.has_crop_size()) {
21746       set_crop_size(from.crop_size());
21747     }
21748     if (from.has_mean_file()) {
21749       set_has_mean_file();
21750       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
21751     }
21752     if (from.has_force_color()) {
21753       set_force_color(from.force_color());
21754     }
21755     if (from.has_force_gray()) {
21756       set_force_gray(from.force_gray());
21757     }
21758   }
21759   if (from._internal_metadata_.have_unknown_fields()) {
21760     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
21761       from.unknown_fields(), &_internal_metadata_);
21762   }
21763 }
21764
21765 void TransformationParameter::CopyFrom(const ::google::protobuf::Message& from) {
21766 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.TransformationParameter)
21767   if (&from == this) return;
21768   Clear();
21769   MergeFrom(from);
21770 }
21771
21772 void TransformationParameter::CopyFrom(const TransformationParameter& from) {
21773 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.TransformationParameter)
21774   if (&from == this) return;
21775   Clear();
21776   UnsafeMergeFrom(from);
21777 }
21778
21779 bool TransformationParameter::IsInitialized() const {
21780
21781   return true;
21782 }
21783
21784 void TransformationParameter::Swap(TransformationParameter* other) {
21785   if (other == this) return;
21786   InternalSwap(other);
21787 }
21788 void TransformationParameter::InternalSwap(TransformationParameter* other) {
21789   std::swap(scale_, other->scale_);
21790   std::swap(mirror_, other->mirror_);
21791   std::swap(crop_size_, other->crop_size_);
21792   mean_file_.Swap(&other->mean_file_);
21793   mean_value_.UnsafeArenaSwap(&other->mean_value_);
21794   std::swap(force_color_, other->force_color_);
21795   std::swap(force_gray_, other->force_gray_);
21796   std::swap(_has_bits_[0], other->_has_bits_[0]);
21797   _internal_metadata_.Swap(&other->_internal_metadata_);
21798   std::swap(_cached_size_, other->_cached_size_);
21799 }
21800
21801 ::google::protobuf::Metadata TransformationParameter::GetMetadata() const {
21802   protobuf_AssignDescriptorsOnce();
21803   ::google::protobuf::Metadata metadata;
21804   metadata.descriptor = TransformationParameter_descriptor_;
21805   metadata.reflection = TransformationParameter_reflection_;
21806   return metadata;
21807 }
21808
21809 #if PROTOBUF_INLINE_NOT_IN_HEADERS
21810 // TransformationParameter
21811
21812 // optional float scale = 1 [default = 1];
21813 bool TransformationParameter::has_scale() const {
21814   return (_has_bits_[0] & 0x00000001u) != 0;
21815 }
21816 void TransformationParameter::set_has_scale() {
21817   _has_bits_[0] |= 0x00000001u;
21818 }
21819 void TransformationParameter::clear_has_scale() {
21820   _has_bits_[0] &= ~0x00000001u;
21821 }
21822 void TransformationParameter::clear_scale() {
21823   scale_ = 1;
21824   clear_has_scale();
21825 }
21826 float TransformationParameter::scale() const {
21827   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.scale)
21828   return scale_;
21829 }
21830 void TransformationParameter::set_scale(float value) {
21831   set_has_scale();
21832   scale_ = value;
21833   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.scale)
21834 }
21835
21836 // optional bool mirror = 2 [default = false];
21837 bool TransformationParameter::has_mirror() const {
21838   return (_has_bits_[0] & 0x00000002u) != 0;
21839 }
21840 void TransformationParameter::set_has_mirror() {
21841   _has_bits_[0] |= 0x00000002u;
21842 }
21843 void TransformationParameter::clear_has_mirror() {
21844   _has_bits_[0] &= ~0x00000002u;
21845 }
21846 void TransformationParameter::clear_mirror() {
21847   mirror_ = false;
21848   clear_has_mirror();
21849 }
21850 bool TransformationParameter::mirror() const {
21851   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mirror)
21852   return mirror_;
21853 }
21854 void TransformationParameter::set_mirror(bool value) {
21855   set_has_mirror();
21856   mirror_ = value;
21857   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mirror)
21858 }
21859
21860 // optional uint32 crop_size = 3 [default = 0];
21861 bool TransformationParameter::has_crop_size() const {
21862   return (_has_bits_[0] & 0x00000004u) != 0;
21863 }
21864 void TransformationParameter::set_has_crop_size() {
21865   _has_bits_[0] |= 0x00000004u;
21866 }
21867 void TransformationParameter::clear_has_crop_size() {
21868   _has_bits_[0] &= ~0x00000004u;
21869 }
21870 void TransformationParameter::clear_crop_size() {
21871   crop_size_ = 0u;
21872   clear_has_crop_size();
21873 }
21874 ::google::protobuf::uint32 TransformationParameter::crop_size() const {
21875   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.crop_size)
21876   return crop_size_;
21877 }
21878 void TransformationParameter::set_crop_size(::google::protobuf::uint32 value) {
21879   set_has_crop_size();
21880   crop_size_ = value;
21881   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.crop_size)
21882 }
21883
21884 // optional string mean_file = 4;
21885 bool TransformationParameter::has_mean_file() const {
21886   return (_has_bits_[0] & 0x00000008u) != 0;
21887 }
21888 void TransformationParameter::set_has_mean_file() {
21889   _has_bits_[0] |= 0x00000008u;
21890 }
21891 void TransformationParameter::clear_has_mean_file() {
21892   _has_bits_[0] &= ~0x00000008u;
21893 }
21894 void TransformationParameter::clear_mean_file() {
21895   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21896   clear_has_mean_file();
21897 }
21898 const ::std::string& TransformationParameter::mean_file() const {
21899   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_file)
21900   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21901 }
21902 void TransformationParameter::set_mean_file(const ::std::string& value) {
21903   set_has_mean_file();
21904   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21905   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_file)
21906 }
21907 void TransformationParameter::set_mean_file(const char* value) {
21908   set_has_mean_file();
21909   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21910   // @@protoc_insertion_point(field_set_char:opencv_caffe.TransformationParameter.mean_file)
21911 }
21912 void TransformationParameter::set_mean_file(const char* value, size_t size) {
21913   set_has_mean_file();
21914   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21915       ::std::string(reinterpret_cast<const char*>(value), size));
21916   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.TransformationParameter.mean_file)
21917 }
21918 ::std::string* TransformationParameter::mutable_mean_file() {
21919   set_has_mean_file();
21920   // @@protoc_insertion_point(field_mutable:opencv_caffe.TransformationParameter.mean_file)
21921   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21922 }
21923 ::std::string* TransformationParameter::release_mean_file() {
21924   // @@protoc_insertion_point(field_release:opencv_caffe.TransformationParameter.mean_file)
21925   clear_has_mean_file();
21926   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21927 }
21928 void TransformationParameter::set_allocated_mean_file(::std::string* mean_file) {
21929   if (mean_file != NULL) {
21930     set_has_mean_file();
21931   } else {
21932     clear_has_mean_file();
21933   }
21934   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
21935   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.TransformationParameter.mean_file)
21936 }
21937
21938 // repeated float mean_value = 5;
21939 int TransformationParameter::mean_value_size() const {
21940   return mean_value_.size();
21941 }
21942 void TransformationParameter::clear_mean_value() {
21943   mean_value_.Clear();
21944 }
21945 float TransformationParameter::mean_value(int index) const {
21946   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_value)
21947   return mean_value_.Get(index);
21948 }
21949 void TransformationParameter::set_mean_value(int index, float value) {
21950   mean_value_.Set(index, value);
21951   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_value)
21952 }
21953 void TransformationParameter::add_mean_value(float value) {
21954   mean_value_.Add(value);
21955   // @@protoc_insertion_point(field_add:opencv_caffe.TransformationParameter.mean_value)
21956 }
21957 const ::google::protobuf::RepeatedField< float >&
21958 TransformationParameter::mean_value() const {
21959   // @@protoc_insertion_point(field_list:opencv_caffe.TransformationParameter.mean_value)
21960   return mean_value_;
21961 }
21962 ::google::protobuf::RepeatedField< float >*
21963 TransformationParameter::mutable_mean_value() {
21964   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.TransformationParameter.mean_value)
21965   return &mean_value_;
21966 }
21967
21968 // optional bool force_color = 6 [default = false];
21969 bool TransformationParameter::has_force_color() const {
21970   return (_has_bits_[0] & 0x00000020u) != 0;
21971 }
21972 void TransformationParameter::set_has_force_color() {
21973   _has_bits_[0] |= 0x00000020u;
21974 }
21975 void TransformationParameter::clear_has_force_color() {
21976   _has_bits_[0] &= ~0x00000020u;
21977 }
21978 void TransformationParameter::clear_force_color() {
21979   force_color_ = false;
21980   clear_has_force_color();
21981 }
21982 bool TransformationParameter::force_color() const {
21983   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_color)
21984   return force_color_;
21985 }
21986 void TransformationParameter::set_force_color(bool value) {
21987   set_has_force_color();
21988   force_color_ = value;
21989   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_color)
21990 }
21991
21992 // optional bool force_gray = 7 [default = false];
21993 bool TransformationParameter::has_force_gray() const {
21994   return (_has_bits_[0] & 0x00000040u) != 0;
21995 }
21996 void TransformationParameter::set_has_force_gray() {
21997   _has_bits_[0] |= 0x00000040u;
21998 }
21999 void TransformationParameter::clear_has_force_gray() {
22000   _has_bits_[0] &= ~0x00000040u;
22001 }
22002 void TransformationParameter::clear_force_gray() {
22003   force_gray_ = false;
22004   clear_has_force_gray();
22005 }
22006 bool TransformationParameter::force_gray() const {
22007   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_gray)
22008   return force_gray_;
22009 }
22010 void TransformationParameter::set_force_gray(bool value) {
22011   set_has_force_gray();
22012   force_gray_ = value;
22013   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_gray)
22014 }
22015
22016 inline const TransformationParameter* TransformationParameter::internal_default_instance() {
22017   return &TransformationParameter_default_instance_.get();
22018 }
22019 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
22020
22021 // ===================================================================
22022
22023 const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor() {
22024   protobuf_AssignDescriptorsOnce();
22025   return LossParameter_NormalizationMode_descriptor_;
22026 }
22027 bool LossParameter_NormalizationMode_IsValid(int value) {
22028   switch (value) {
22029     case 0:
22030     case 1:
22031     case 2:
22032     case 3:
22033       return true;
22034     default:
22035       return false;
22036   }
22037 }
22038
22039 #if !defined(_MSC_VER) || _MSC_VER >= 1900
22040 const LossParameter_NormalizationMode LossParameter::FULL;
22041 const LossParameter_NormalizationMode LossParameter::VALID;
22042 const LossParameter_NormalizationMode LossParameter::BATCH_SIZE;
22043 const LossParameter_NormalizationMode LossParameter::NONE;
22044 const LossParameter_NormalizationMode LossParameter::NormalizationMode_MIN;
22045 const LossParameter_NormalizationMode LossParameter::NormalizationMode_MAX;
22046 const int LossParameter::NormalizationMode_ARRAYSIZE;
22047 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
22048 #if !defined(_MSC_VER) || _MSC_VER >= 1900
22049 const int LossParameter::kIgnoreLabelFieldNumber;
22050 const int LossParameter::kNormalizationFieldNumber;
22051 const int LossParameter::kNormalizeFieldNumber;
22052 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
22053
22054 LossParameter::LossParameter()
22055   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
22056   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22057   SharedCtor();
22058   // @@protoc_insertion_point(constructor:opencv_caffe.LossParameter)
22059 }
22060
22061 void LossParameter::InitAsDefaultInstance() {
22062 }
22063
22064 LossParameter::LossParameter(const LossParameter& from)
22065   : ::google::protobuf::Message(),
22066     _internal_metadata_(NULL) {
22067   SharedCtor();
22068   UnsafeMergeFrom(from);
22069   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LossParameter)
22070 }
22071
22072 void LossParameter::SharedCtor() {
22073   _cached_size_ = 0;
22074   ::memset(&ignore_label_, 0, reinterpret_cast<char*>(&normalize_) -
22075     reinterpret_cast<char*>(&ignore_label_) + sizeof(normalize_));
22076   normalization_ = 1;
22077 }
22078
22079 LossParameter::~LossParameter() {
22080   // @@protoc_insertion_point(destructor:opencv_caffe.LossParameter)
22081   SharedDtor();
22082 }
22083
22084 void LossParameter::SharedDtor() {
22085 }
22086
22087 void LossParameter::SetCachedSize(int size) const {
22088   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22089   _cached_size_ = size;
22090   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22091 }
22092 const ::google::protobuf::Descriptor* LossParameter::descriptor() {
22093   protobuf_AssignDescriptorsOnce();
22094   return LossParameter_descriptor_;
22095 }
22096
22097 const LossParameter& LossParameter::default_instance() {
22098   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22099   return *internal_default_instance();
22100 }
22101
22102 ::google::protobuf::internal::ExplicitlyConstructed<LossParameter> LossParameter_default_instance_;
22103
22104 LossParameter* LossParameter::New(::google::protobuf::Arena* arena) const {
22105   LossParameter* n = new LossParameter;
22106   if (arena != NULL) {
22107     arena->Own(n);
22108   }
22109   return n;
22110 }
22111
22112 void LossParameter::Clear() {
22113 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LossParameter)
22114 #if defined(__clang__)
22115 #define ZR_HELPER_(f) \
22116   _Pragma("clang diagnostic push") \
22117   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
22118   __builtin_offsetof(LossParameter, f) \
22119   _Pragma("clang diagnostic pop")
22120 #else
22121 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
22122   &reinterpret_cast<LossParameter*>(16)->f)
22123 #endif
22124
22125 #define ZR_(first, last) do {\
22126   ::memset(&(first), 0,\
22127            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
22128 } while (0)
22129
22130   if (_has_bits_[0 / 32] & 7u) {
22131     ZR_(ignore_label_, normalize_);
22132     normalization_ = 1;
22133   }
22134
22135 #undef ZR_HELPER_
22136 #undef ZR_
22137
22138   _has_bits_.Clear();
22139   if (_internal_metadata_.have_unknown_fields()) {
22140     mutable_unknown_fields()->Clear();
22141   }
22142 }
22143
22144 bool LossParameter::MergePartialFromCodedStream(
22145     ::google::protobuf::io::CodedInputStream* input) {
22146 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
22147   ::google::protobuf::uint32 tag;
22148   // @@protoc_insertion_point(parse_start:opencv_caffe.LossParameter)
22149   for (;;) {
22150     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
22151     tag = p.first;
22152     if (!p.second) goto handle_unusual;
22153     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
22154       // optional int32 ignore_label = 1;
22155       case 1: {
22156         if (tag == 8) {
22157           set_has_ignore_label();
22158           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22159                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
22160                  input, &ignore_label_)));
22161         } else {
22162           goto handle_unusual;
22163         }
22164         if (input->ExpectTag(16)) goto parse_normalize;
22165         break;
22166       }
22167
22168       // optional bool normalize = 2;
22169       case 2: {
22170         if (tag == 16) {
22171          parse_normalize:
22172           set_has_normalize();
22173           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22174                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
22175                  input, &normalize_)));
22176         } else {
22177           goto handle_unusual;
22178         }
22179         if (input->ExpectTag(24)) goto parse_normalization;
22180         break;
22181       }
22182
22183       // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22184       case 3: {
22185         if (tag == 24) {
22186          parse_normalization:
22187           int value;
22188           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22189                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
22190                  input, &value)));
22191           if (::opencv_caffe::LossParameter_NormalizationMode_IsValid(value)) {
22192             set_normalization(static_cast< ::opencv_caffe::LossParameter_NormalizationMode >(value));
22193           } else {
22194             mutable_unknown_fields()->AddVarint(3, value);
22195           }
22196         } else {
22197           goto handle_unusual;
22198         }
22199         if (input->ExpectAtEnd()) goto success;
22200         break;
22201       }
22202
22203       default: {
22204       handle_unusual:
22205         if (tag == 0 ||
22206             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
22207             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
22208           goto success;
22209         }
22210         DO_(::google::protobuf::internal::WireFormat::SkipField(
22211               input, tag, mutable_unknown_fields()));
22212         break;
22213       }
22214     }
22215   }
22216 success:
22217   // @@protoc_insertion_point(parse_success:opencv_caffe.LossParameter)
22218   return true;
22219 failure:
22220   // @@protoc_insertion_point(parse_failure:opencv_caffe.LossParameter)
22221   return false;
22222 #undef DO_
22223 }
22224
22225 void LossParameter::SerializeWithCachedSizes(
22226     ::google::protobuf::io::CodedOutputStream* output) const {
22227   // @@protoc_insertion_point(serialize_start:opencv_caffe.LossParameter)
22228   // optional int32 ignore_label = 1;
22229   if (has_ignore_label()) {
22230     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->ignore_label(), output);
22231   }
22232
22233   // optional bool normalize = 2;
22234   if (has_normalize()) {
22235     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->normalize(), output);
22236   }
22237
22238   // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22239   if (has_normalization()) {
22240     ::google::protobuf::internal::WireFormatLite::WriteEnum(
22241       3, this->normalization(), output);
22242   }
22243
22244   if (_internal_metadata_.have_unknown_fields()) {
22245     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
22246         unknown_fields(), output);
22247   }
22248   // @@protoc_insertion_point(serialize_end:opencv_caffe.LossParameter)
22249 }
22250
22251 ::google::protobuf::uint8* LossParameter::InternalSerializeWithCachedSizesToArray(
22252     bool deterministic, ::google::protobuf::uint8* target) const {
22253   (void)deterministic; // Unused
22254   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LossParameter)
22255   // optional int32 ignore_label = 1;
22256   if (has_ignore_label()) {
22257     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->ignore_label(), target);
22258   }
22259
22260   // optional bool normalize = 2;
22261   if (has_normalize()) {
22262     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->normalize(), target);
22263   }
22264
22265   // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22266   if (has_normalization()) {
22267     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
22268       3, this->normalization(), target);
22269   }
22270
22271   if (_internal_metadata_.have_unknown_fields()) {
22272     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
22273         unknown_fields(), target);
22274   }
22275   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LossParameter)
22276   return target;
22277 }
22278
22279 size_t LossParameter::ByteSizeLong() const {
22280 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LossParameter)
22281   size_t total_size = 0;
22282
22283   if (_has_bits_[0 / 32] & 7u) {
22284     // optional int32 ignore_label = 1;
22285     if (has_ignore_label()) {
22286       total_size += 1 +
22287         ::google::protobuf::internal::WireFormatLite::Int32Size(
22288           this->ignore_label());
22289     }
22290
22291     // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22292     if (has_normalization()) {
22293       total_size += 1 +
22294         ::google::protobuf::internal::WireFormatLite::EnumSize(this->normalization());
22295     }
22296
22297     // optional bool normalize = 2;
22298     if (has_normalize()) {
22299       total_size += 1 + 1;
22300     }
22301
22302   }
22303   if (_internal_metadata_.have_unknown_fields()) {
22304     total_size +=
22305       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
22306         unknown_fields());
22307   }
22308   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
22309   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22310   _cached_size_ = cached_size;
22311   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22312   return total_size;
22313 }
22314
22315 void LossParameter::MergeFrom(const ::google::protobuf::Message& from) {
22316 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LossParameter)
22317   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
22318   const LossParameter* source =
22319       ::google::protobuf::internal::DynamicCastToGenerated<const LossParameter>(
22320           &from);
22321   if (source == NULL) {
22322   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LossParameter)
22323     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
22324   } else {
22325   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LossParameter)
22326     UnsafeMergeFrom(*source);
22327   }
22328 }
22329
22330 void LossParameter::MergeFrom(const LossParameter& from) {
22331 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LossParameter)
22332   if (GOOGLE_PREDICT_TRUE(&from != this)) {
22333     UnsafeMergeFrom(from);
22334   } else {
22335     MergeFromFail(__LINE__);
22336   }
22337 }
22338
22339 void LossParameter::UnsafeMergeFrom(const LossParameter& from) {
22340   GOOGLE_DCHECK(&from != this);
22341   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
22342     if (from.has_ignore_label()) {
22343       set_ignore_label(from.ignore_label());
22344     }
22345     if (from.has_normalization()) {
22346       set_normalization(from.normalization());
22347     }
22348     if (from.has_normalize()) {
22349       set_normalize(from.normalize());
22350     }
22351   }
22352   if (from._internal_metadata_.have_unknown_fields()) {
22353     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
22354       from.unknown_fields(), &_internal_metadata_);
22355   }
22356 }
22357
22358 void LossParameter::CopyFrom(const ::google::protobuf::Message& from) {
22359 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LossParameter)
22360   if (&from == this) return;
22361   Clear();
22362   MergeFrom(from);
22363 }
22364
22365 void LossParameter::CopyFrom(const LossParameter& from) {
22366 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LossParameter)
22367   if (&from == this) return;
22368   Clear();
22369   UnsafeMergeFrom(from);
22370 }
22371
22372 bool LossParameter::IsInitialized() const {
22373
22374   return true;
22375 }
22376
22377 void LossParameter::Swap(LossParameter* other) {
22378   if (other == this) return;
22379   InternalSwap(other);
22380 }
22381 void LossParameter::InternalSwap(LossParameter* other) {
22382   std::swap(ignore_label_, other->ignore_label_);
22383   std::swap(normalization_, other->normalization_);
22384   std::swap(normalize_, other->normalize_);
22385   std::swap(_has_bits_[0], other->_has_bits_[0]);
22386   _internal_metadata_.Swap(&other->_internal_metadata_);
22387   std::swap(_cached_size_, other->_cached_size_);
22388 }
22389
22390 ::google::protobuf::Metadata LossParameter::GetMetadata() const {
22391   protobuf_AssignDescriptorsOnce();
22392   ::google::protobuf::Metadata metadata;
22393   metadata.descriptor = LossParameter_descriptor_;
22394   metadata.reflection = LossParameter_reflection_;
22395   return metadata;
22396 }
22397
22398 #if PROTOBUF_INLINE_NOT_IN_HEADERS
22399 // LossParameter
22400
22401 // optional int32 ignore_label = 1;
22402 bool LossParameter::has_ignore_label() const {
22403   return (_has_bits_[0] & 0x00000001u) != 0;
22404 }
22405 void LossParameter::set_has_ignore_label() {
22406   _has_bits_[0] |= 0x00000001u;
22407 }
22408 void LossParameter::clear_has_ignore_label() {
22409   _has_bits_[0] &= ~0x00000001u;
22410 }
22411 void LossParameter::clear_ignore_label() {
22412   ignore_label_ = 0;
22413   clear_has_ignore_label();
22414 }
22415 ::google::protobuf::int32 LossParameter::ignore_label() const {
22416   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.ignore_label)
22417   return ignore_label_;
22418 }
22419 void LossParameter::set_ignore_label(::google::protobuf::int32 value) {
22420   set_has_ignore_label();
22421   ignore_label_ = value;
22422   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.ignore_label)
22423 }
22424
22425 // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
22426 bool LossParameter::has_normalization() const {
22427   return (_has_bits_[0] & 0x00000002u) != 0;
22428 }
22429 void LossParameter::set_has_normalization() {
22430   _has_bits_[0] |= 0x00000002u;
22431 }
22432 void LossParameter::clear_has_normalization() {
22433   _has_bits_[0] &= ~0x00000002u;
22434 }
22435 void LossParameter::clear_normalization() {
22436   normalization_ = 1;
22437   clear_has_normalization();
22438 }
22439 ::opencv_caffe::LossParameter_NormalizationMode LossParameter::normalization() const {
22440   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalization)
22441   return static_cast< ::opencv_caffe::LossParameter_NormalizationMode >(normalization_);
22442 }
22443 void LossParameter::set_normalization(::opencv_caffe::LossParameter_NormalizationMode value) {
22444   assert(::opencv_caffe::LossParameter_NormalizationMode_IsValid(value));
22445   set_has_normalization();
22446   normalization_ = value;
22447   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalization)
22448 }
22449
22450 // optional bool normalize = 2;
22451 bool LossParameter::has_normalize() const {
22452   return (_has_bits_[0] & 0x00000004u) != 0;
22453 }
22454 void LossParameter::set_has_normalize() {
22455   _has_bits_[0] |= 0x00000004u;
22456 }
22457 void LossParameter::clear_has_normalize() {
22458   _has_bits_[0] &= ~0x00000004u;
22459 }
22460 void LossParameter::clear_normalize() {
22461   normalize_ = false;
22462   clear_has_normalize();
22463 }
22464 bool LossParameter::normalize() const {
22465   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalize)
22466   return normalize_;
22467 }
22468 void LossParameter::set_normalize(bool value) {
22469   set_has_normalize();
22470   normalize_ = value;
22471   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalize)
22472 }
22473
22474 inline const LossParameter* LossParameter::internal_default_instance() {
22475   return &LossParameter_default_instance_.get();
22476 }
22477 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
22478
22479 // ===================================================================
22480
22481 #if !defined(_MSC_VER) || _MSC_VER >= 1900
22482 const int AccuracyParameter::kTopKFieldNumber;
22483 const int AccuracyParameter::kAxisFieldNumber;
22484 const int AccuracyParameter::kIgnoreLabelFieldNumber;
22485 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
22486
22487 AccuracyParameter::AccuracyParameter()
22488   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
22489   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22490   SharedCtor();
22491   // @@protoc_insertion_point(constructor:opencv_caffe.AccuracyParameter)
22492 }
22493
22494 void AccuracyParameter::InitAsDefaultInstance() {
22495 }
22496
22497 AccuracyParameter::AccuracyParameter(const AccuracyParameter& from)
22498   : ::google::protobuf::Message(),
22499     _internal_metadata_(NULL) {
22500   SharedCtor();
22501   UnsafeMergeFrom(from);
22502   // @@protoc_insertion_point(copy_constructor:opencv_caffe.AccuracyParameter)
22503 }
22504
22505 void AccuracyParameter::SharedCtor() {
22506   _cached_size_ = 0;
22507   ignore_label_ = 0;
22508   top_k_ = 1u;
22509   axis_ = 1;
22510 }
22511
22512 AccuracyParameter::~AccuracyParameter() {
22513   // @@protoc_insertion_point(destructor:opencv_caffe.AccuracyParameter)
22514   SharedDtor();
22515 }
22516
22517 void AccuracyParameter::SharedDtor() {
22518 }
22519
22520 void AccuracyParameter::SetCachedSize(int size) const {
22521   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22522   _cached_size_ = size;
22523   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22524 }
22525 const ::google::protobuf::Descriptor* AccuracyParameter::descriptor() {
22526   protobuf_AssignDescriptorsOnce();
22527   return AccuracyParameter_descriptor_;
22528 }
22529
22530 const AccuracyParameter& AccuracyParameter::default_instance() {
22531   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22532   return *internal_default_instance();
22533 }
22534
22535 ::google::protobuf::internal::ExplicitlyConstructed<AccuracyParameter> AccuracyParameter_default_instance_;
22536
22537 AccuracyParameter* AccuracyParameter::New(::google::protobuf::Arena* arena) const {
22538   AccuracyParameter* n = new AccuracyParameter;
22539   if (arena != NULL) {
22540     arena->Own(n);
22541   }
22542   return n;
22543 }
22544
22545 void AccuracyParameter::Clear() {
22546 // @@protoc_insertion_point(message_clear_start:opencv_caffe.AccuracyParameter)
22547   if (_has_bits_[0 / 32] & 7u) {
22548     top_k_ = 1u;
22549     axis_ = 1;
22550     ignore_label_ = 0;
22551   }
22552   _has_bits_.Clear();
22553   if (_internal_metadata_.have_unknown_fields()) {
22554     mutable_unknown_fields()->Clear();
22555   }
22556 }
22557
22558 bool AccuracyParameter::MergePartialFromCodedStream(
22559     ::google::protobuf::io::CodedInputStream* input) {
22560 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
22561   ::google::protobuf::uint32 tag;
22562   // @@protoc_insertion_point(parse_start:opencv_caffe.AccuracyParameter)
22563   for (;;) {
22564     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
22565     tag = p.first;
22566     if (!p.second) goto handle_unusual;
22567     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
22568       // optional uint32 top_k = 1 [default = 1];
22569       case 1: {
22570         if (tag == 8) {
22571           set_has_top_k();
22572           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22573                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
22574                  input, &top_k_)));
22575         } else {
22576           goto handle_unusual;
22577         }
22578         if (input->ExpectTag(16)) goto parse_axis;
22579         break;
22580       }
22581
22582       // optional int32 axis = 2 [default = 1];
22583       case 2: {
22584         if (tag == 16) {
22585          parse_axis:
22586           set_has_axis();
22587           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22588                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
22589                  input, &axis_)));
22590         } else {
22591           goto handle_unusual;
22592         }
22593         if (input->ExpectTag(24)) goto parse_ignore_label;
22594         break;
22595       }
22596
22597       // optional int32 ignore_label = 3;
22598       case 3: {
22599         if (tag == 24) {
22600          parse_ignore_label:
22601           set_has_ignore_label();
22602           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
22603                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
22604                  input, &ignore_label_)));
22605         } else {
22606           goto handle_unusual;
22607         }
22608         if (input->ExpectAtEnd()) goto success;
22609         break;
22610       }
22611
22612       default: {
22613       handle_unusual:
22614         if (tag == 0 ||
22615             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
22616             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
22617           goto success;
22618         }
22619         DO_(::google::protobuf::internal::WireFormat::SkipField(
22620               input, tag, mutable_unknown_fields()));
22621         break;
22622       }
22623     }
22624   }
22625 success:
22626   // @@protoc_insertion_point(parse_success:opencv_caffe.AccuracyParameter)
22627   return true;
22628 failure:
22629   // @@protoc_insertion_point(parse_failure:opencv_caffe.AccuracyParameter)
22630   return false;
22631 #undef DO_
22632 }
22633
22634 void AccuracyParameter::SerializeWithCachedSizes(
22635     ::google::protobuf::io::CodedOutputStream* output) const {
22636   // @@protoc_insertion_point(serialize_start:opencv_caffe.AccuracyParameter)
22637   // optional uint32 top_k = 1 [default = 1];
22638   if (has_top_k()) {
22639     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->top_k(), output);
22640   }
22641
22642   // optional int32 axis = 2 [default = 1];
22643   if (has_axis()) {
22644     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
22645   }
22646
22647   // optional int32 ignore_label = 3;
22648   if (has_ignore_label()) {
22649     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->ignore_label(), output);
22650   }
22651
22652   if (_internal_metadata_.have_unknown_fields()) {
22653     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
22654         unknown_fields(), output);
22655   }
22656   // @@protoc_insertion_point(serialize_end:opencv_caffe.AccuracyParameter)
22657 }
22658
22659 ::google::protobuf::uint8* AccuracyParameter::InternalSerializeWithCachedSizesToArray(
22660     bool deterministic, ::google::protobuf::uint8* target) const {
22661   (void)deterministic; // Unused
22662   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.AccuracyParameter)
22663   // optional uint32 top_k = 1 [default = 1];
22664   if (has_top_k()) {
22665     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->top_k(), target);
22666   }
22667
22668   // optional int32 axis = 2 [default = 1];
22669   if (has_axis()) {
22670     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
22671   }
22672
22673   // optional int32 ignore_label = 3;
22674   if (has_ignore_label()) {
22675     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->ignore_label(), target);
22676   }
22677
22678   if (_internal_metadata_.have_unknown_fields()) {
22679     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
22680         unknown_fields(), target);
22681   }
22682   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.AccuracyParameter)
22683   return target;
22684 }
22685
22686 size_t AccuracyParameter::ByteSizeLong() const {
22687 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.AccuracyParameter)
22688   size_t total_size = 0;
22689
22690   if (_has_bits_[0 / 32] & 7u) {
22691     // optional uint32 top_k = 1 [default = 1];
22692     if (has_top_k()) {
22693       total_size += 1 +
22694         ::google::protobuf::internal::WireFormatLite::UInt32Size(
22695           this->top_k());
22696     }
22697
22698     // optional int32 axis = 2 [default = 1];
22699     if (has_axis()) {
22700       total_size += 1 +
22701         ::google::protobuf::internal::WireFormatLite::Int32Size(
22702           this->axis());
22703     }
22704
22705     // optional int32 ignore_label = 3;
22706     if (has_ignore_label()) {
22707       total_size += 1 +
22708         ::google::protobuf::internal::WireFormatLite::Int32Size(
22709           this->ignore_label());
22710     }
22711
22712   }
22713   if (_internal_metadata_.have_unknown_fields()) {
22714     total_size +=
22715       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
22716         unknown_fields());
22717   }
22718   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
22719   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22720   _cached_size_ = cached_size;
22721   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22722   return total_size;
22723 }
22724
22725 void AccuracyParameter::MergeFrom(const ::google::protobuf::Message& from) {
22726 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.AccuracyParameter)
22727   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
22728   const AccuracyParameter* source =
22729       ::google::protobuf::internal::DynamicCastToGenerated<const AccuracyParameter>(
22730           &from);
22731   if (source == NULL) {
22732   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.AccuracyParameter)
22733     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
22734   } else {
22735   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.AccuracyParameter)
22736     UnsafeMergeFrom(*source);
22737   }
22738 }
22739
22740 void AccuracyParameter::MergeFrom(const AccuracyParameter& from) {
22741 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.AccuracyParameter)
22742   if (GOOGLE_PREDICT_TRUE(&from != this)) {
22743     UnsafeMergeFrom(from);
22744   } else {
22745     MergeFromFail(__LINE__);
22746   }
22747 }
22748
22749 void AccuracyParameter::UnsafeMergeFrom(const AccuracyParameter& from) {
22750   GOOGLE_DCHECK(&from != this);
22751   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
22752     if (from.has_top_k()) {
22753       set_top_k(from.top_k());
22754     }
22755     if (from.has_axis()) {
22756       set_axis(from.axis());
22757     }
22758     if (from.has_ignore_label()) {
22759       set_ignore_label(from.ignore_label());
22760     }
22761   }
22762   if (from._internal_metadata_.have_unknown_fields()) {
22763     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
22764       from.unknown_fields(), &_internal_metadata_);
22765   }
22766 }
22767
22768 void AccuracyParameter::CopyFrom(const ::google::protobuf::Message& from) {
22769 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.AccuracyParameter)
22770   if (&from == this) return;
22771   Clear();
22772   MergeFrom(from);
22773 }
22774
22775 void AccuracyParameter::CopyFrom(const AccuracyParameter& from) {
22776 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.AccuracyParameter)
22777   if (&from == this) return;
22778   Clear();
22779   UnsafeMergeFrom(from);
22780 }
22781
22782 bool AccuracyParameter::IsInitialized() const {
22783
22784   return true;
22785 }
22786
22787 void AccuracyParameter::Swap(AccuracyParameter* other) {
22788   if (other == this) return;
22789   InternalSwap(other);
22790 }
22791 void AccuracyParameter::InternalSwap(AccuracyParameter* other) {
22792   std::swap(top_k_, other->top_k_);
22793   std::swap(axis_, other->axis_);
22794   std::swap(ignore_label_, other->ignore_label_);
22795   std::swap(_has_bits_[0], other->_has_bits_[0]);
22796   _internal_metadata_.Swap(&other->_internal_metadata_);
22797   std::swap(_cached_size_, other->_cached_size_);
22798 }
22799
22800 ::google::protobuf::Metadata AccuracyParameter::GetMetadata() const {
22801   protobuf_AssignDescriptorsOnce();
22802   ::google::protobuf::Metadata metadata;
22803   metadata.descriptor = AccuracyParameter_descriptor_;
22804   metadata.reflection = AccuracyParameter_reflection_;
22805   return metadata;
22806 }
22807
22808 #if PROTOBUF_INLINE_NOT_IN_HEADERS
22809 // AccuracyParameter
22810
22811 // optional uint32 top_k = 1 [default = 1];
22812 bool AccuracyParameter::has_top_k() const {
22813   return (_has_bits_[0] & 0x00000001u) != 0;
22814 }
22815 void AccuracyParameter::set_has_top_k() {
22816   _has_bits_[0] |= 0x00000001u;
22817 }
22818 void AccuracyParameter::clear_has_top_k() {
22819   _has_bits_[0] &= ~0x00000001u;
22820 }
22821 void AccuracyParameter::clear_top_k() {
22822   top_k_ = 1u;
22823   clear_has_top_k();
22824 }
22825 ::google::protobuf::uint32 AccuracyParameter::top_k() const {
22826   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.top_k)
22827   return top_k_;
22828 }
22829 void AccuracyParameter::set_top_k(::google::protobuf::uint32 value) {
22830   set_has_top_k();
22831   top_k_ = value;
22832   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.top_k)
22833 }
22834
22835 // optional int32 axis = 2 [default = 1];
22836 bool AccuracyParameter::has_axis() const {
22837   return (_has_bits_[0] & 0x00000002u) != 0;
22838 }
22839 void AccuracyParameter::set_has_axis() {
22840   _has_bits_[0] |= 0x00000002u;
22841 }
22842 void AccuracyParameter::clear_has_axis() {
22843   _has_bits_[0] &= ~0x00000002u;
22844 }
22845 void AccuracyParameter::clear_axis() {
22846   axis_ = 1;
22847   clear_has_axis();
22848 }
22849 ::google::protobuf::int32 AccuracyParameter::axis() const {
22850   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.axis)
22851   return axis_;
22852 }
22853 void AccuracyParameter::set_axis(::google::protobuf::int32 value) {
22854   set_has_axis();
22855   axis_ = value;
22856   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.axis)
22857 }
22858
22859 // optional int32 ignore_label = 3;
22860 bool AccuracyParameter::has_ignore_label() const {
22861   return (_has_bits_[0] & 0x00000004u) != 0;
22862 }
22863 void AccuracyParameter::set_has_ignore_label() {
22864   _has_bits_[0] |= 0x00000004u;
22865 }
22866 void AccuracyParameter::clear_has_ignore_label() {
22867   _has_bits_[0] &= ~0x00000004u;
22868 }
22869 void AccuracyParameter::clear_ignore_label() {
22870   ignore_label_ = 0;
22871   clear_has_ignore_label();
22872 }
22873 ::google::protobuf::int32 AccuracyParameter::ignore_label() const {
22874   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.ignore_label)
22875   return ignore_label_;
22876 }
22877 void AccuracyParameter::set_ignore_label(::google::protobuf::int32 value) {
22878   set_has_ignore_label();
22879   ignore_label_ = value;
22880   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.ignore_label)
22881 }
22882
22883 inline const AccuracyParameter* AccuracyParameter::internal_default_instance() {
22884   return &AccuracyParameter_default_instance_.get();
22885 }
22886 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
22887
22888 // ===================================================================
22889
22890 #if !defined(_MSC_VER) || _MSC_VER >= 1900
22891 const int ArgMaxParameter::kOutMaxValFieldNumber;
22892 const int ArgMaxParameter::kTopKFieldNumber;
22893 const int ArgMaxParameter::kAxisFieldNumber;
22894 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
22895
22896 ArgMaxParameter::ArgMaxParameter()
22897   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
22898   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22899   SharedCtor();
22900   // @@protoc_insertion_point(constructor:opencv_caffe.ArgMaxParameter)
22901 }
22902
22903 void ArgMaxParameter::InitAsDefaultInstance() {
22904 }
22905
22906 ArgMaxParameter::ArgMaxParameter(const ArgMaxParameter& from)
22907   : ::google::protobuf::Message(),
22908     _internal_metadata_(NULL) {
22909   SharedCtor();
22910   UnsafeMergeFrom(from);
22911   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ArgMaxParameter)
22912 }
22913
22914 void ArgMaxParameter::SharedCtor() {
22915   _cached_size_ = 0;
22916   ::memset(&out_max_val_, 0, reinterpret_cast<char*>(&axis_) -
22917     reinterpret_cast<char*>(&out_max_val_) + sizeof(axis_));
22918   top_k_ = 1u;
22919 }
22920
22921 ArgMaxParameter::~ArgMaxParameter() {
22922   // @@protoc_insertion_point(destructor:opencv_caffe.ArgMaxParameter)
22923   SharedDtor();
22924 }
22925
22926 void ArgMaxParameter::SharedDtor() {
22927 }
22928
22929 void ArgMaxParameter::SetCachedSize(int size) const {
22930   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
22931   _cached_size_ = size;
22932   GOOGLE_SAFE_CONCURRENT_WRITES_END();
22933 }
22934 const ::google::protobuf::Descriptor* ArgMaxParameter::descriptor() {
22935   protobuf_AssignDescriptorsOnce();
22936   return ArgMaxParameter_descriptor_;
22937 }
22938
22939 const ArgMaxParameter& ArgMaxParameter::default_instance() {
22940   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
22941   return *internal_default_instance();
22942 }
22943
22944 ::google::protobuf::internal::ExplicitlyConstructed<ArgMaxParameter> ArgMaxParameter_default_instance_;
22945
22946 ArgMaxParameter* ArgMaxParameter::New(::google::protobuf::Arena* arena) const {
22947   ArgMaxParameter* n = new ArgMaxParameter;
22948   if (arena != NULL) {
22949     arena->Own(n);
22950   }
22951   return n;
22952 }
22953
22954 void ArgMaxParameter::Clear() {
22955 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ArgMaxParameter)
22956 #if defined(__clang__)
22957 #define ZR_HELPER_(f) \
22958   _Pragma("clang diagnostic push") \
22959   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
22960   __builtin_offsetof(ArgMaxParameter, f) \
22961   _Pragma("clang diagnostic pop")
22962 #else
22963 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
22964   &reinterpret_cast<ArgMaxParameter*>(16)->f)
22965 #endif
22966
22967 #define ZR_(first, last) do {\
22968   ::memset(&(first), 0,\
22969            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
22970 } while (0)
22971
22972   if (_has_bits_[0 / 32] & 7u) {
22973     ZR_(out_max_val_, axis_);
22974     top_k_ = 1u;
22975   }
22976
22977 #undef ZR_HELPER_
22978 #undef ZR_
22979
22980   _has_bits_.Clear();
22981   if (_internal_metadata_.have_unknown_fields()) {
22982     mutable_unknown_fields()->Clear();
22983   }
22984 }
22985
22986 bool ArgMaxParameter::MergePartialFromCodedStream(
22987     ::google::protobuf::io::CodedInputStream* input) {
22988 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
22989   ::google::protobuf::uint32 tag;
22990   // @@protoc_insertion_point(parse_start:opencv_caffe.ArgMaxParameter)
22991   for (;;) {
22992     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
22993     tag = p.first;
22994     if (!p.second) goto handle_unusual;
22995     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
22996       // optional bool out_max_val = 1 [default = false];
22997       case 1: {
22998         if (tag == 8) {
22999           set_has_out_max_val();
23000           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23001                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
23002                  input, &out_max_val_)));
23003         } else {
23004           goto handle_unusual;
23005         }
23006         if (input->ExpectTag(16)) goto parse_top_k;
23007         break;
23008       }
23009
23010       // optional uint32 top_k = 2 [default = 1];
23011       case 2: {
23012         if (tag == 16) {
23013          parse_top_k:
23014           set_has_top_k();
23015           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23016                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
23017                  input, &top_k_)));
23018         } else {
23019           goto handle_unusual;
23020         }
23021         if (input->ExpectTag(24)) goto parse_axis;
23022         break;
23023       }
23024
23025       // optional int32 axis = 3;
23026       case 3: {
23027         if (tag == 24) {
23028          parse_axis:
23029           set_has_axis();
23030           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23031                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
23032                  input, &axis_)));
23033         } else {
23034           goto handle_unusual;
23035         }
23036         if (input->ExpectAtEnd()) goto success;
23037         break;
23038       }
23039
23040       default: {
23041       handle_unusual:
23042         if (tag == 0 ||
23043             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
23044             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
23045           goto success;
23046         }
23047         DO_(::google::protobuf::internal::WireFormat::SkipField(
23048               input, tag, mutable_unknown_fields()));
23049         break;
23050       }
23051     }
23052   }
23053 success:
23054   // @@protoc_insertion_point(parse_success:opencv_caffe.ArgMaxParameter)
23055   return true;
23056 failure:
23057   // @@protoc_insertion_point(parse_failure:opencv_caffe.ArgMaxParameter)
23058   return false;
23059 #undef DO_
23060 }
23061
23062 void ArgMaxParameter::SerializeWithCachedSizes(
23063     ::google::protobuf::io::CodedOutputStream* output) const {
23064   // @@protoc_insertion_point(serialize_start:opencv_caffe.ArgMaxParameter)
23065   // optional bool out_max_val = 1 [default = false];
23066   if (has_out_max_val()) {
23067     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->out_max_val(), output);
23068   }
23069
23070   // optional uint32 top_k = 2 [default = 1];
23071   if (has_top_k()) {
23072     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->top_k(), output);
23073   }
23074
23075   // optional int32 axis = 3;
23076   if (has_axis()) {
23077     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->axis(), output);
23078   }
23079
23080   if (_internal_metadata_.have_unknown_fields()) {
23081     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
23082         unknown_fields(), output);
23083   }
23084   // @@protoc_insertion_point(serialize_end:opencv_caffe.ArgMaxParameter)
23085 }
23086
23087 ::google::protobuf::uint8* ArgMaxParameter::InternalSerializeWithCachedSizesToArray(
23088     bool deterministic, ::google::protobuf::uint8* target) const {
23089   (void)deterministic; // Unused
23090   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ArgMaxParameter)
23091   // optional bool out_max_val = 1 [default = false];
23092   if (has_out_max_val()) {
23093     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->out_max_val(), target);
23094   }
23095
23096   // optional uint32 top_k = 2 [default = 1];
23097   if (has_top_k()) {
23098     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->top_k(), target);
23099   }
23100
23101   // optional int32 axis = 3;
23102   if (has_axis()) {
23103     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->axis(), target);
23104   }
23105
23106   if (_internal_metadata_.have_unknown_fields()) {
23107     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
23108         unknown_fields(), target);
23109   }
23110   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ArgMaxParameter)
23111   return target;
23112 }
23113
23114 size_t ArgMaxParameter::ByteSizeLong() const {
23115 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ArgMaxParameter)
23116   size_t total_size = 0;
23117
23118   if (_has_bits_[0 / 32] & 7u) {
23119     // optional bool out_max_val = 1 [default = false];
23120     if (has_out_max_val()) {
23121       total_size += 1 + 1;
23122     }
23123
23124     // optional uint32 top_k = 2 [default = 1];
23125     if (has_top_k()) {
23126       total_size += 1 +
23127         ::google::protobuf::internal::WireFormatLite::UInt32Size(
23128           this->top_k());
23129     }
23130
23131     // optional int32 axis = 3;
23132     if (has_axis()) {
23133       total_size += 1 +
23134         ::google::protobuf::internal::WireFormatLite::Int32Size(
23135           this->axis());
23136     }
23137
23138   }
23139   if (_internal_metadata_.have_unknown_fields()) {
23140     total_size +=
23141       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
23142         unknown_fields());
23143   }
23144   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
23145   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23146   _cached_size_ = cached_size;
23147   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23148   return total_size;
23149 }
23150
23151 void ArgMaxParameter::MergeFrom(const ::google::protobuf::Message& from) {
23152 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ArgMaxParameter)
23153   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
23154   const ArgMaxParameter* source =
23155       ::google::protobuf::internal::DynamicCastToGenerated<const ArgMaxParameter>(
23156           &from);
23157   if (source == NULL) {
23158   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ArgMaxParameter)
23159     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
23160   } else {
23161   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ArgMaxParameter)
23162     UnsafeMergeFrom(*source);
23163   }
23164 }
23165
23166 void ArgMaxParameter::MergeFrom(const ArgMaxParameter& from) {
23167 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ArgMaxParameter)
23168   if (GOOGLE_PREDICT_TRUE(&from != this)) {
23169     UnsafeMergeFrom(from);
23170   } else {
23171     MergeFromFail(__LINE__);
23172   }
23173 }
23174
23175 void ArgMaxParameter::UnsafeMergeFrom(const ArgMaxParameter& from) {
23176   GOOGLE_DCHECK(&from != this);
23177   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
23178     if (from.has_out_max_val()) {
23179       set_out_max_val(from.out_max_val());
23180     }
23181     if (from.has_top_k()) {
23182       set_top_k(from.top_k());
23183     }
23184     if (from.has_axis()) {
23185       set_axis(from.axis());
23186     }
23187   }
23188   if (from._internal_metadata_.have_unknown_fields()) {
23189     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
23190       from.unknown_fields(), &_internal_metadata_);
23191   }
23192 }
23193
23194 void ArgMaxParameter::CopyFrom(const ::google::protobuf::Message& from) {
23195 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ArgMaxParameter)
23196   if (&from == this) return;
23197   Clear();
23198   MergeFrom(from);
23199 }
23200
23201 void ArgMaxParameter::CopyFrom(const ArgMaxParameter& from) {
23202 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ArgMaxParameter)
23203   if (&from == this) return;
23204   Clear();
23205   UnsafeMergeFrom(from);
23206 }
23207
23208 bool ArgMaxParameter::IsInitialized() const {
23209
23210   return true;
23211 }
23212
23213 void ArgMaxParameter::Swap(ArgMaxParameter* other) {
23214   if (other == this) return;
23215   InternalSwap(other);
23216 }
23217 void ArgMaxParameter::InternalSwap(ArgMaxParameter* other) {
23218   std::swap(out_max_val_, other->out_max_val_);
23219   std::swap(top_k_, other->top_k_);
23220   std::swap(axis_, other->axis_);
23221   std::swap(_has_bits_[0], other->_has_bits_[0]);
23222   _internal_metadata_.Swap(&other->_internal_metadata_);
23223   std::swap(_cached_size_, other->_cached_size_);
23224 }
23225
23226 ::google::protobuf::Metadata ArgMaxParameter::GetMetadata() const {
23227   protobuf_AssignDescriptorsOnce();
23228   ::google::protobuf::Metadata metadata;
23229   metadata.descriptor = ArgMaxParameter_descriptor_;
23230   metadata.reflection = ArgMaxParameter_reflection_;
23231   return metadata;
23232 }
23233
23234 #if PROTOBUF_INLINE_NOT_IN_HEADERS
23235 // ArgMaxParameter
23236
23237 // optional bool out_max_val = 1 [default = false];
23238 bool ArgMaxParameter::has_out_max_val() const {
23239   return (_has_bits_[0] & 0x00000001u) != 0;
23240 }
23241 void ArgMaxParameter::set_has_out_max_val() {
23242   _has_bits_[0] |= 0x00000001u;
23243 }
23244 void ArgMaxParameter::clear_has_out_max_val() {
23245   _has_bits_[0] &= ~0x00000001u;
23246 }
23247 void ArgMaxParameter::clear_out_max_val() {
23248   out_max_val_ = false;
23249   clear_has_out_max_val();
23250 }
23251 bool ArgMaxParameter::out_max_val() const {
23252   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.out_max_val)
23253   return out_max_val_;
23254 }
23255 void ArgMaxParameter::set_out_max_val(bool value) {
23256   set_has_out_max_val();
23257   out_max_val_ = value;
23258   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.out_max_val)
23259 }
23260
23261 // optional uint32 top_k = 2 [default = 1];
23262 bool ArgMaxParameter::has_top_k() const {
23263   return (_has_bits_[0] & 0x00000002u) != 0;
23264 }
23265 void ArgMaxParameter::set_has_top_k() {
23266   _has_bits_[0] |= 0x00000002u;
23267 }
23268 void ArgMaxParameter::clear_has_top_k() {
23269   _has_bits_[0] &= ~0x00000002u;
23270 }
23271 void ArgMaxParameter::clear_top_k() {
23272   top_k_ = 1u;
23273   clear_has_top_k();
23274 }
23275 ::google::protobuf::uint32 ArgMaxParameter::top_k() const {
23276   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.top_k)
23277   return top_k_;
23278 }
23279 void ArgMaxParameter::set_top_k(::google::protobuf::uint32 value) {
23280   set_has_top_k();
23281   top_k_ = value;
23282   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.top_k)
23283 }
23284
23285 // optional int32 axis = 3;
23286 bool ArgMaxParameter::has_axis() const {
23287   return (_has_bits_[0] & 0x00000004u) != 0;
23288 }
23289 void ArgMaxParameter::set_has_axis() {
23290   _has_bits_[0] |= 0x00000004u;
23291 }
23292 void ArgMaxParameter::clear_has_axis() {
23293   _has_bits_[0] &= ~0x00000004u;
23294 }
23295 void ArgMaxParameter::clear_axis() {
23296   axis_ = 0;
23297   clear_has_axis();
23298 }
23299 ::google::protobuf::int32 ArgMaxParameter::axis() const {
23300   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.axis)
23301   return axis_;
23302 }
23303 void ArgMaxParameter::set_axis(::google::protobuf::int32 value) {
23304   set_has_axis();
23305   axis_ = value;
23306   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.axis)
23307 }
23308
23309 inline const ArgMaxParameter* ArgMaxParameter::internal_default_instance() {
23310   return &ArgMaxParameter_default_instance_.get();
23311 }
23312 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
23313
23314 // ===================================================================
23315
23316 #if !defined(_MSC_VER) || _MSC_VER >= 1900
23317 const int ConcatParameter::kAxisFieldNumber;
23318 const int ConcatParameter::kConcatDimFieldNumber;
23319 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
23320
23321 ConcatParameter::ConcatParameter()
23322   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
23323   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23324   SharedCtor();
23325   // @@protoc_insertion_point(constructor:opencv_caffe.ConcatParameter)
23326 }
23327
23328 void ConcatParameter::InitAsDefaultInstance() {
23329 }
23330
23331 ConcatParameter::ConcatParameter(const ConcatParameter& from)
23332   : ::google::protobuf::Message(),
23333     _internal_metadata_(NULL) {
23334   SharedCtor();
23335   UnsafeMergeFrom(from);
23336   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ConcatParameter)
23337 }
23338
23339 void ConcatParameter::SharedCtor() {
23340   _cached_size_ = 0;
23341   axis_ = 1;
23342   concat_dim_ = 1u;
23343 }
23344
23345 ConcatParameter::~ConcatParameter() {
23346   // @@protoc_insertion_point(destructor:opencv_caffe.ConcatParameter)
23347   SharedDtor();
23348 }
23349
23350 void ConcatParameter::SharedDtor() {
23351 }
23352
23353 void ConcatParameter::SetCachedSize(int size) const {
23354   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23355   _cached_size_ = size;
23356   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23357 }
23358 const ::google::protobuf::Descriptor* ConcatParameter::descriptor() {
23359   protobuf_AssignDescriptorsOnce();
23360   return ConcatParameter_descriptor_;
23361 }
23362
23363 const ConcatParameter& ConcatParameter::default_instance() {
23364   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23365   return *internal_default_instance();
23366 }
23367
23368 ::google::protobuf::internal::ExplicitlyConstructed<ConcatParameter> ConcatParameter_default_instance_;
23369
23370 ConcatParameter* ConcatParameter::New(::google::protobuf::Arena* arena) const {
23371   ConcatParameter* n = new ConcatParameter;
23372   if (arena != NULL) {
23373     arena->Own(n);
23374   }
23375   return n;
23376 }
23377
23378 void ConcatParameter::Clear() {
23379 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ConcatParameter)
23380   if (_has_bits_[0 / 32] & 3u) {
23381     axis_ = 1;
23382     concat_dim_ = 1u;
23383   }
23384   _has_bits_.Clear();
23385   if (_internal_metadata_.have_unknown_fields()) {
23386     mutable_unknown_fields()->Clear();
23387   }
23388 }
23389
23390 bool ConcatParameter::MergePartialFromCodedStream(
23391     ::google::protobuf::io::CodedInputStream* input) {
23392 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
23393   ::google::protobuf::uint32 tag;
23394   // @@protoc_insertion_point(parse_start:opencv_caffe.ConcatParameter)
23395   for (;;) {
23396     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
23397     tag = p.first;
23398     if (!p.second) goto handle_unusual;
23399     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
23400       // optional uint32 concat_dim = 1 [default = 1];
23401       case 1: {
23402         if (tag == 8) {
23403           set_has_concat_dim();
23404           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23405                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
23406                  input, &concat_dim_)));
23407         } else {
23408           goto handle_unusual;
23409         }
23410         if (input->ExpectTag(16)) goto parse_axis;
23411         break;
23412       }
23413
23414       // optional int32 axis = 2 [default = 1];
23415       case 2: {
23416         if (tag == 16) {
23417          parse_axis:
23418           set_has_axis();
23419           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23420                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
23421                  input, &axis_)));
23422         } else {
23423           goto handle_unusual;
23424         }
23425         if (input->ExpectAtEnd()) goto success;
23426         break;
23427       }
23428
23429       default: {
23430       handle_unusual:
23431         if (tag == 0 ||
23432             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
23433             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
23434           goto success;
23435         }
23436         DO_(::google::protobuf::internal::WireFormat::SkipField(
23437               input, tag, mutable_unknown_fields()));
23438         break;
23439       }
23440     }
23441   }
23442 success:
23443   // @@protoc_insertion_point(parse_success:opencv_caffe.ConcatParameter)
23444   return true;
23445 failure:
23446   // @@protoc_insertion_point(parse_failure:opencv_caffe.ConcatParameter)
23447   return false;
23448 #undef DO_
23449 }
23450
23451 void ConcatParameter::SerializeWithCachedSizes(
23452     ::google::protobuf::io::CodedOutputStream* output) const {
23453   // @@protoc_insertion_point(serialize_start:opencv_caffe.ConcatParameter)
23454   // optional uint32 concat_dim = 1 [default = 1];
23455   if (has_concat_dim()) {
23456     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->concat_dim(), output);
23457   }
23458
23459   // optional int32 axis = 2 [default = 1];
23460   if (has_axis()) {
23461     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
23462   }
23463
23464   if (_internal_metadata_.have_unknown_fields()) {
23465     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
23466         unknown_fields(), output);
23467   }
23468   // @@protoc_insertion_point(serialize_end:opencv_caffe.ConcatParameter)
23469 }
23470
23471 ::google::protobuf::uint8* ConcatParameter::InternalSerializeWithCachedSizesToArray(
23472     bool deterministic, ::google::protobuf::uint8* target) const {
23473   (void)deterministic; // Unused
23474   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ConcatParameter)
23475   // optional uint32 concat_dim = 1 [default = 1];
23476   if (has_concat_dim()) {
23477     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->concat_dim(), target);
23478   }
23479
23480   // optional int32 axis = 2 [default = 1];
23481   if (has_axis()) {
23482     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
23483   }
23484
23485   if (_internal_metadata_.have_unknown_fields()) {
23486     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
23487         unknown_fields(), target);
23488   }
23489   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ConcatParameter)
23490   return target;
23491 }
23492
23493 size_t ConcatParameter::ByteSizeLong() const {
23494 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ConcatParameter)
23495   size_t total_size = 0;
23496
23497   if (_has_bits_[0 / 32] & 3u) {
23498     // optional int32 axis = 2 [default = 1];
23499     if (has_axis()) {
23500       total_size += 1 +
23501         ::google::protobuf::internal::WireFormatLite::Int32Size(
23502           this->axis());
23503     }
23504
23505     // optional uint32 concat_dim = 1 [default = 1];
23506     if (has_concat_dim()) {
23507       total_size += 1 +
23508         ::google::protobuf::internal::WireFormatLite::UInt32Size(
23509           this->concat_dim());
23510     }
23511
23512   }
23513   if (_internal_metadata_.have_unknown_fields()) {
23514     total_size +=
23515       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
23516         unknown_fields());
23517   }
23518   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
23519   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23520   _cached_size_ = cached_size;
23521   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23522   return total_size;
23523 }
23524
23525 void ConcatParameter::MergeFrom(const ::google::protobuf::Message& from) {
23526 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ConcatParameter)
23527   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
23528   const ConcatParameter* source =
23529       ::google::protobuf::internal::DynamicCastToGenerated<const ConcatParameter>(
23530           &from);
23531   if (source == NULL) {
23532   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ConcatParameter)
23533     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
23534   } else {
23535   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ConcatParameter)
23536     UnsafeMergeFrom(*source);
23537   }
23538 }
23539
23540 void ConcatParameter::MergeFrom(const ConcatParameter& from) {
23541 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ConcatParameter)
23542   if (GOOGLE_PREDICT_TRUE(&from != this)) {
23543     UnsafeMergeFrom(from);
23544   } else {
23545     MergeFromFail(__LINE__);
23546   }
23547 }
23548
23549 void ConcatParameter::UnsafeMergeFrom(const ConcatParameter& from) {
23550   GOOGLE_DCHECK(&from != this);
23551   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
23552     if (from.has_axis()) {
23553       set_axis(from.axis());
23554     }
23555     if (from.has_concat_dim()) {
23556       set_concat_dim(from.concat_dim());
23557     }
23558   }
23559   if (from._internal_metadata_.have_unknown_fields()) {
23560     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
23561       from.unknown_fields(), &_internal_metadata_);
23562   }
23563 }
23564
23565 void ConcatParameter::CopyFrom(const ::google::protobuf::Message& from) {
23566 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ConcatParameter)
23567   if (&from == this) return;
23568   Clear();
23569   MergeFrom(from);
23570 }
23571
23572 void ConcatParameter::CopyFrom(const ConcatParameter& from) {
23573 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ConcatParameter)
23574   if (&from == this) return;
23575   Clear();
23576   UnsafeMergeFrom(from);
23577 }
23578
23579 bool ConcatParameter::IsInitialized() const {
23580
23581   return true;
23582 }
23583
23584 void ConcatParameter::Swap(ConcatParameter* other) {
23585   if (other == this) return;
23586   InternalSwap(other);
23587 }
23588 void ConcatParameter::InternalSwap(ConcatParameter* other) {
23589   std::swap(axis_, other->axis_);
23590   std::swap(concat_dim_, other->concat_dim_);
23591   std::swap(_has_bits_[0], other->_has_bits_[0]);
23592   _internal_metadata_.Swap(&other->_internal_metadata_);
23593   std::swap(_cached_size_, other->_cached_size_);
23594 }
23595
23596 ::google::protobuf::Metadata ConcatParameter::GetMetadata() const {
23597   protobuf_AssignDescriptorsOnce();
23598   ::google::protobuf::Metadata metadata;
23599   metadata.descriptor = ConcatParameter_descriptor_;
23600   metadata.reflection = ConcatParameter_reflection_;
23601   return metadata;
23602 }
23603
23604 #if PROTOBUF_INLINE_NOT_IN_HEADERS
23605 // ConcatParameter
23606
23607 // optional int32 axis = 2 [default = 1];
23608 bool ConcatParameter::has_axis() const {
23609   return (_has_bits_[0] & 0x00000001u) != 0;
23610 }
23611 void ConcatParameter::set_has_axis() {
23612   _has_bits_[0] |= 0x00000001u;
23613 }
23614 void ConcatParameter::clear_has_axis() {
23615   _has_bits_[0] &= ~0x00000001u;
23616 }
23617 void ConcatParameter::clear_axis() {
23618   axis_ = 1;
23619   clear_has_axis();
23620 }
23621 ::google::protobuf::int32 ConcatParameter::axis() const {
23622   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.axis)
23623   return axis_;
23624 }
23625 void ConcatParameter::set_axis(::google::protobuf::int32 value) {
23626   set_has_axis();
23627   axis_ = value;
23628   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.axis)
23629 }
23630
23631 // optional uint32 concat_dim = 1 [default = 1];
23632 bool ConcatParameter::has_concat_dim() const {
23633   return (_has_bits_[0] & 0x00000002u) != 0;
23634 }
23635 void ConcatParameter::set_has_concat_dim() {
23636   _has_bits_[0] |= 0x00000002u;
23637 }
23638 void ConcatParameter::clear_has_concat_dim() {
23639   _has_bits_[0] &= ~0x00000002u;
23640 }
23641 void ConcatParameter::clear_concat_dim() {
23642   concat_dim_ = 1u;
23643   clear_has_concat_dim();
23644 }
23645 ::google::protobuf::uint32 ConcatParameter::concat_dim() const {
23646   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.concat_dim)
23647   return concat_dim_;
23648 }
23649 void ConcatParameter::set_concat_dim(::google::protobuf::uint32 value) {
23650   set_has_concat_dim();
23651   concat_dim_ = value;
23652   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.concat_dim)
23653 }
23654
23655 inline const ConcatParameter* ConcatParameter::internal_default_instance() {
23656   return &ConcatParameter_default_instance_.get();
23657 }
23658 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
23659
23660 // ===================================================================
23661
23662 #if !defined(_MSC_VER) || _MSC_VER >= 1900
23663 const int BatchNormParameter::kUseGlobalStatsFieldNumber;
23664 const int BatchNormParameter::kMovingAverageFractionFieldNumber;
23665 const int BatchNormParameter::kEpsFieldNumber;
23666 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
23667
23668 BatchNormParameter::BatchNormParameter()
23669   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
23670   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23671   SharedCtor();
23672   // @@protoc_insertion_point(constructor:opencv_caffe.BatchNormParameter)
23673 }
23674
23675 void BatchNormParameter::InitAsDefaultInstance() {
23676 }
23677
23678 BatchNormParameter::BatchNormParameter(const BatchNormParameter& from)
23679   : ::google::protobuf::Message(),
23680     _internal_metadata_(NULL) {
23681   SharedCtor();
23682   UnsafeMergeFrom(from);
23683   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BatchNormParameter)
23684 }
23685
23686 void BatchNormParameter::SharedCtor() {
23687   _cached_size_ = 0;
23688   use_global_stats_ = false;
23689   moving_average_fraction_ = 0.999f;
23690   eps_ = 1e-05f;
23691 }
23692
23693 BatchNormParameter::~BatchNormParameter() {
23694   // @@protoc_insertion_point(destructor:opencv_caffe.BatchNormParameter)
23695   SharedDtor();
23696 }
23697
23698 void BatchNormParameter::SharedDtor() {
23699 }
23700
23701 void BatchNormParameter::SetCachedSize(int size) const {
23702   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23703   _cached_size_ = size;
23704   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23705 }
23706 const ::google::protobuf::Descriptor* BatchNormParameter::descriptor() {
23707   protobuf_AssignDescriptorsOnce();
23708   return BatchNormParameter_descriptor_;
23709 }
23710
23711 const BatchNormParameter& BatchNormParameter::default_instance() {
23712   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
23713   return *internal_default_instance();
23714 }
23715
23716 ::google::protobuf::internal::ExplicitlyConstructed<BatchNormParameter> BatchNormParameter_default_instance_;
23717
23718 BatchNormParameter* BatchNormParameter::New(::google::protobuf::Arena* arena) const {
23719   BatchNormParameter* n = new BatchNormParameter;
23720   if (arena != NULL) {
23721     arena->Own(n);
23722   }
23723   return n;
23724 }
23725
23726 void BatchNormParameter::Clear() {
23727 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BatchNormParameter)
23728   if (_has_bits_[0 / 32] & 7u) {
23729     use_global_stats_ = false;
23730     moving_average_fraction_ = 0.999f;
23731     eps_ = 1e-05f;
23732   }
23733   _has_bits_.Clear();
23734   if (_internal_metadata_.have_unknown_fields()) {
23735     mutable_unknown_fields()->Clear();
23736   }
23737 }
23738
23739 bool BatchNormParameter::MergePartialFromCodedStream(
23740     ::google::protobuf::io::CodedInputStream* input) {
23741 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
23742   ::google::protobuf::uint32 tag;
23743   // @@protoc_insertion_point(parse_start:opencv_caffe.BatchNormParameter)
23744   for (;;) {
23745     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
23746     tag = p.first;
23747     if (!p.second) goto handle_unusual;
23748     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
23749       // optional bool use_global_stats = 1;
23750       case 1: {
23751         if (tag == 8) {
23752           set_has_use_global_stats();
23753           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23754                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
23755                  input, &use_global_stats_)));
23756         } else {
23757           goto handle_unusual;
23758         }
23759         if (input->ExpectTag(21)) goto parse_moving_average_fraction;
23760         break;
23761       }
23762
23763       // optional float moving_average_fraction = 2 [default = 0.999];
23764       case 2: {
23765         if (tag == 21) {
23766          parse_moving_average_fraction:
23767           set_has_moving_average_fraction();
23768           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23769                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
23770                  input, &moving_average_fraction_)));
23771         } else {
23772           goto handle_unusual;
23773         }
23774         if (input->ExpectTag(29)) goto parse_eps;
23775         break;
23776       }
23777
23778       // optional float eps = 3 [default = 1e-05];
23779       case 3: {
23780         if (tag == 29) {
23781          parse_eps:
23782           set_has_eps();
23783           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
23784                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
23785                  input, &eps_)));
23786         } else {
23787           goto handle_unusual;
23788         }
23789         if (input->ExpectAtEnd()) goto success;
23790         break;
23791       }
23792
23793       default: {
23794       handle_unusual:
23795         if (tag == 0 ||
23796             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
23797             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
23798           goto success;
23799         }
23800         DO_(::google::protobuf::internal::WireFormat::SkipField(
23801               input, tag, mutable_unknown_fields()));
23802         break;
23803       }
23804     }
23805   }
23806 success:
23807   // @@protoc_insertion_point(parse_success:opencv_caffe.BatchNormParameter)
23808   return true;
23809 failure:
23810   // @@protoc_insertion_point(parse_failure:opencv_caffe.BatchNormParameter)
23811   return false;
23812 #undef DO_
23813 }
23814
23815 void BatchNormParameter::SerializeWithCachedSizes(
23816     ::google::protobuf::io::CodedOutputStream* output) const {
23817   // @@protoc_insertion_point(serialize_start:opencv_caffe.BatchNormParameter)
23818   // optional bool use_global_stats = 1;
23819   if (has_use_global_stats()) {
23820     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->use_global_stats(), output);
23821   }
23822
23823   // optional float moving_average_fraction = 2 [default = 0.999];
23824   if (has_moving_average_fraction()) {
23825     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->moving_average_fraction(), output);
23826   }
23827
23828   // optional float eps = 3 [default = 1e-05];
23829   if (has_eps()) {
23830     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->eps(), output);
23831   }
23832
23833   if (_internal_metadata_.have_unknown_fields()) {
23834     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
23835         unknown_fields(), output);
23836   }
23837   // @@protoc_insertion_point(serialize_end:opencv_caffe.BatchNormParameter)
23838 }
23839
23840 ::google::protobuf::uint8* BatchNormParameter::InternalSerializeWithCachedSizesToArray(
23841     bool deterministic, ::google::protobuf::uint8* target) const {
23842   (void)deterministic; // Unused
23843   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BatchNormParameter)
23844   // optional bool use_global_stats = 1;
23845   if (has_use_global_stats()) {
23846     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->use_global_stats(), target);
23847   }
23848
23849   // optional float moving_average_fraction = 2 [default = 0.999];
23850   if (has_moving_average_fraction()) {
23851     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->moving_average_fraction(), target);
23852   }
23853
23854   // optional float eps = 3 [default = 1e-05];
23855   if (has_eps()) {
23856     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->eps(), target);
23857   }
23858
23859   if (_internal_metadata_.have_unknown_fields()) {
23860     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
23861         unknown_fields(), target);
23862   }
23863   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BatchNormParameter)
23864   return target;
23865 }
23866
23867 size_t BatchNormParameter::ByteSizeLong() const {
23868 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BatchNormParameter)
23869   size_t total_size = 0;
23870
23871   if (_has_bits_[0 / 32] & 7u) {
23872     // optional bool use_global_stats = 1;
23873     if (has_use_global_stats()) {
23874       total_size += 1 + 1;
23875     }
23876
23877     // optional float moving_average_fraction = 2 [default = 0.999];
23878     if (has_moving_average_fraction()) {
23879       total_size += 1 + 4;
23880     }
23881
23882     // optional float eps = 3 [default = 1e-05];
23883     if (has_eps()) {
23884       total_size += 1 + 4;
23885     }
23886
23887   }
23888   if (_internal_metadata_.have_unknown_fields()) {
23889     total_size +=
23890       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
23891         unknown_fields());
23892   }
23893   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
23894   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
23895   _cached_size_ = cached_size;
23896   GOOGLE_SAFE_CONCURRENT_WRITES_END();
23897   return total_size;
23898 }
23899
23900 void BatchNormParameter::MergeFrom(const ::google::protobuf::Message& from) {
23901 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BatchNormParameter)
23902   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
23903   const BatchNormParameter* source =
23904       ::google::protobuf::internal::DynamicCastToGenerated<const BatchNormParameter>(
23905           &from);
23906   if (source == NULL) {
23907   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BatchNormParameter)
23908     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
23909   } else {
23910   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BatchNormParameter)
23911     UnsafeMergeFrom(*source);
23912   }
23913 }
23914
23915 void BatchNormParameter::MergeFrom(const BatchNormParameter& from) {
23916 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BatchNormParameter)
23917   if (GOOGLE_PREDICT_TRUE(&from != this)) {
23918     UnsafeMergeFrom(from);
23919   } else {
23920     MergeFromFail(__LINE__);
23921   }
23922 }
23923
23924 void BatchNormParameter::UnsafeMergeFrom(const BatchNormParameter& from) {
23925   GOOGLE_DCHECK(&from != this);
23926   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
23927     if (from.has_use_global_stats()) {
23928       set_use_global_stats(from.use_global_stats());
23929     }
23930     if (from.has_moving_average_fraction()) {
23931       set_moving_average_fraction(from.moving_average_fraction());
23932     }
23933     if (from.has_eps()) {
23934       set_eps(from.eps());
23935     }
23936   }
23937   if (from._internal_metadata_.have_unknown_fields()) {
23938     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
23939       from.unknown_fields(), &_internal_metadata_);
23940   }
23941 }
23942
23943 void BatchNormParameter::CopyFrom(const ::google::protobuf::Message& from) {
23944 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BatchNormParameter)
23945   if (&from == this) return;
23946   Clear();
23947   MergeFrom(from);
23948 }
23949
23950 void BatchNormParameter::CopyFrom(const BatchNormParameter& from) {
23951 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BatchNormParameter)
23952   if (&from == this) return;
23953   Clear();
23954   UnsafeMergeFrom(from);
23955 }
23956
23957 bool BatchNormParameter::IsInitialized() const {
23958
23959   return true;
23960 }
23961
23962 void BatchNormParameter::Swap(BatchNormParameter* other) {
23963   if (other == this) return;
23964   InternalSwap(other);
23965 }
23966 void BatchNormParameter::InternalSwap(BatchNormParameter* other) {
23967   std::swap(use_global_stats_, other->use_global_stats_);
23968   std::swap(moving_average_fraction_, other->moving_average_fraction_);
23969   std::swap(eps_, other->eps_);
23970   std::swap(_has_bits_[0], other->_has_bits_[0]);
23971   _internal_metadata_.Swap(&other->_internal_metadata_);
23972   std::swap(_cached_size_, other->_cached_size_);
23973 }
23974
23975 ::google::protobuf::Metadata BatchNormParameter::GetMetadata() const {
23976   protobuf_AssignDescriptorsOnce();
23977   ::google::protobuf::Metadata metadata;
23978   metadata.descriptor = BatchNormParameter_descriptor_;
23979   metadata.reflection = BatchNormParameter_reflection_;
23980   return metadata;
23981 }
23982
23983 #if PROTOBUF_INLINE_NOT_IN_HEADERS
23984 // BatchNormParameter
23985
23986 // optional bool use_global_stats = 1;
23987 bool BatchNormParameter::has_use_global_stats() const {
23988   return (_has_bits_[0] & 0x00000001u) != 0;
23989 }
23990 void BatchNormParameter::set_has_use_global_stats() {
23991   _has_bits_[0] |= 0x00000001u;
23992 }
23993 void BatchNormParameter::clear_has_use_global_stats() {
23994   _has_bits_[0] &= ~0x00000001u;
23995 }
23996 void BatchNormParameter::clear_use_global_stats() {
23997   use_global_stats_ = false;
23998   clear_has_use_global_stats();
23999 }
24000 bool BatchNormParameter::use_global_stats() const {
24001   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.use_global_stats)
24002   return use_global_stats_;
24003 }
24004 void BatchNormParameter::set_use_global_stats(bool value) {
24005   set_has_use_global_stats();
24006   use_global_stats_ = value;
24007   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.use_global_stats)
24008 }
24009
24010 // optional float moving_average_fraction = 2 [default = 0.999];
24011 bool BatchNormParameter::has_moving_average_fraction() const {
24012   return (_has_bits_[0] & 0x00000002u) != 0;
24013 }
24014 void BatchNormParameter::set_has_moving_average_fraction() {
24015   _has_bits_[0] |= 0x00000002u;
24016 }
24017 void BatchNormParameter::clear_has_moving_average_fraction() {
24018   _has_bits_[0] &= ~0x00000002u;
24019 }
24020 void BatchNormParameter::clear_moving_average_fraction() {
24021   moving_average_fraction_ = 0.999f;
24022   clear_has_moving_average_fraction();
24023 }
24024 float BatchNormParameter::moving_average_fraction() const {
24025   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.moving_average_fraction)
24026   return moving_average_fraction_;
24027 }
24028 void BatchNormParameter::set_moving_average_fraction(float value) {
24029   set_has_moving_average_fraction();
24030   moving_average_fraction_ = value;
24031   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.moving_average_fraction)
24032 }
24033
24034 // optional float eps = 3 [default = 1e-05];
24035 bool BatchNormParameter::has_eps() const {
24036   return (_has_bits_[0] & 0x00000004u) != 0;
24037 }
24038 void BatchNormParameter::set_has_eps() {
24039   _has_bits_[0] |= 0x00000004u;
24040 }
24041 void BatchNormParameter::clear_has_eps() {
24042   _has_bits_[0] &= ~0x00000004u;
24043 }
24044 void BatchNormParameter::clear_eps() {
24045   eps_ = 1e-05f;
24046   clear_has_eps();
24047 }
24048 float BatchNormParameter::eps() const {
24049   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.eps)
24050   return eps_;
24051 }
24052 void BatchNormParameter::set_eps(float value) {
24053   set_has_eps();
24054   eps_ = value;
24055   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.eps)
24056 }
24057
24058 inline const BatchNormParameter* BatchNormParameter::internal_default_instance() {
24059   return &BatchNormParameter_default_instance_.get();
24060 }
24061 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
24062
24063 // ===================================================================
24064
24065 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24066 const int BiasParameter::kAxisFieldNumber;
24067 const int BiasParameter::kNumAxesFieldNumber;
24068 const int BiasParameter::kFillerFieldNumber;
24069 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
24070
24071 BiasParameter::BiasParameter()
24072   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
24073   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24074   SharedCtor();
24075   // @@protoc_insertion_point(constructor:opencv_caffe.BiasParameter)
24076 }
24077
24078 void BiasParameter::InitAsDefaultInstance() {
24079   filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
24080       ::opencv_caffe::FillerParameter::internal_default_instance());
24081 }
24082
24083 BiasParameter::BiasParameter(const BiasParameter& from)
24084   : ::google::protobuf::Message(),
24085     _internal_metadata_(NULL) {
24086   SharedCtor();
24087   UnsafeMergeFrom(from);
24088   // @@protoc_insertion_point(copy_constructor:opencv_caffe.BiasParameter)
24089 }
24090
24091 void BiasParameter::SharedCtor() {
24092   _cached_size_ = 0;
24093   filler_ = NULL;
24094   axis_ = 1;
24095   num_axes_ = 1;
24096 }
24097
24098 BiasParameter::~BiasParameter() {
24099   // @@protoc_insertion_point(destructor:opencv_caffe.BiasParameter)
24100   SharedDtor();
24101 }
24102
24103 void BiasParameter::SharedDtor() {
24104   if (this != &BiasParameter_default_instance_.get()) {
24105     delete filler_;
24106   }
24107 }
24108
24109 void BiasParameter::SetCachedSize(int size) const {
24110   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24111   _cached_size_ = size;
24112   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24113 }
24114 const ::google::protobuf::Descriptor* BiasParameter::descriptor() {
24115   protobuf_AssignDescriptorsOnce();
24116   return BiasParameter_descriptor_;
24117 }
24118
24119 const BiasParameter& BiasParameter::default_instance() {
24120   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24121   return *internal_default_instance();
24122 }
24123
24124 ::google::protobuf::internal::ExplicitlyConstructed<BiasParameter> BiasParameter_default_instance_;
24125
24126 BiasParameter* BiasParameter::New(::google::protobuf::Arena* arena) const {
24127   BiasParameter* n = new BiasParameter;
24128   if (arena != NULL) {
24129     arena->Own(n);
24130   }
24131   return n;
24132 }
24133
24134 void BiasParameter::Clear() {
24135 // @@protoc_insertion_point(message_clear_start:opencv_caffe.BiasParameter)
24136   if (_has_bits_[0 / 32] & 7u) {
24137     axis_ = 1;
24138     num_axes_ = 1;
24139     if (has_filler()) {
24140       if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
24141     }
24142   }
24143   _has_bits_.Clear();
24144   if (_internal_metadata_.have_unknown_fields()) {
24145     mutable_unknown_fields()->Clear();
24146   }
24147 }
24148
24149 bool BiasParameter::MergePartialFromCodedStream(
24150     ::google::protobuf::io::CodedInputStream* input) {
24151 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
24152   ::google::protobuf::uint32 tag;
24153   // @@protoc_insertion_point(parse_start:opencv_caffe.BiasParameter)
24154   for (;;) {
24155     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
24156     tag = p.first;
24157     if (!p.second) goto handle_unusual;
24158     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
24159       // optional int32 axis = 1 [default = 1];
24160       case 1: {
24161         if (tag == 8) {
24162           set_has_axis();
24163           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24164                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
24165                  input, &axis_)));
24166         } else {
24167           goto handle_unusual;
24168         }
24169         if (input->ExpectTag(16)) goto parse_num_axes;
24170         break;
24171       }
24172
24173       // optional int32 num_axes = 2 [default = 1];
24174       case 2: {
24175         if (tag == 16) {
24176          parse_num_axes:
24177           set_has_num_axes();
24178           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24179                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
24180                  input, &num_axes_)));
24181         } else {
24182           goto handle_unusual;
24183         }
24184         if (input->ExpectTag(26)) goto parse_filler;
24185         break;
24186       }
24187
24188       // optional .opencv_caffe.FillerParameter filler = 3;
24189       case 3: {
24190         if (tag == 26) {
24191          parse_filler:
24192           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
24193                input, mutable_filler()));
24194         } else {
24195           goto handle_unusual;
24196         }
24197         if (input->ExpectAtEnd()) goto success;
24198         break;
24199       }
24200
24201       default: {
24202       handle_unusual:
24203         if (tag == 0 ||
24204             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
24205             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
24206           goto success;
24207         }
24208         DO_(::google::protobuf::internal::WireFormat::SkipField(
24209               input, tag, mutable_unknown_fields()));
24210         break;
24211       }
24212     }
24213   }
24214 success:
24215   // @@protoc_insertion_point(parse_success:opencv_caffe.BiasParameter)
24216   return true;
24217 failure:
24218   // @@protoc_insertion_point(parse_failure:opencv_caffe.BiasParameter)
24219   return false;
24220 #undef DO_
24221 }
24222
24223 void BiasParameter::SerializeWithCachedSizes(
24224     ::google::protobuf::io::CodedOutputStream* output) const {
24225   // @@protoc_insertion_point(serialize_start:opencv_caffe.BiasParameter)
24226   // optional int32 axis = 1 [default = 1];
24227   if (has_axis()) {
24228     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
24229   }
24230
24231   // optional int32 num_axes = 2 [default = 1];
24232   if (has_num_axes()) {
24233     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->num_axes(), output);
24234   }
24235
24236   // optional .opencv_caffe.FillerParameter filler = 3;
24237   if (has_filler()) {
24238     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
24239       3, *this->filler_, output);
24240   }
24241
24242   if (_internal_metadata_.have_unknown_fields()) {
24243     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
24244         unknown_fields(), output);
24245   }
24246   // @@protoc_insertion_point(serialize_end:opencv_caffe.BiasParameter)
24247 }
24248
24249 ::google::protobuf::uint8* BiasParameter::InternalSerializeWithCachedSizesToArray(
24250     bool deterministic, ::google::protobuf::uint8* target) const {
24251   (void)deterministic; // Unused
24252   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.BiasParameter)
24253   // optional int32 axis = 1 [default = 1];
24254   if (has_axis()) {
24255     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
24256   }
24257
24258   // optional int32 num_axes = 2 [default = 1];
24259   if (has_num_axes()) {
24260     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->num_axes(), target);
24261   }
24262
24263   // optional .opencv_caffe.FillerParameter filler = 3;
24264   if (has_filler()) {
24265     target = ::google::protobuf::internal::WireFormatLite::
24266       InternalWriteMessageNoVirtualToArray(
24267         3, *this->filler_, false, target);
24268   }
24269
24270   if (_internal_metadata_.have_unknown_fields()) {
24271     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
24272         unknown_fields(), target);
24273   }
24274   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.BiasParameter)
24275   return target;
24276 }
24277
24278 size_t BiasParameter::ByteSizeLong() const {
24279 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.BiasParameter)
24280   size_t total_size = 0;
24281
24282   if (_has_bits_[0 / 32] & 7u) {
24283     // optional int32 axis = 1 [default = 1];
24284     if (has_axis()) {
24285       total_size += 1 +
24286         ::google::protobuf::internal::WireFormatLite::Int32Size(
24287           this->axis());
24288     }
24289
24290     // optional int32 num_axes = 2 [default = 1];
24291     if (has_num_axes()) {
24292       total_size += 1 +
24293         ::google::protobuf::internal::WireFormatLite::Int32Size(
24294           this->num_axes());
24295     }
24296
24297     // optional .opencv_caffe.FillerParameter filler = 3;
24298     if (has_filler()) {
24299       total_size += 1 +
24300         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
24301           *this->filler_);
24302     }
24303
24304   }
24305   if (_internal_metadata_.have_unknown_fields()) {
24306     total_size +=
24307       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
24308         unknown_fields());
24309   }
24310   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
24311   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24312   _cached_size_ = cached_size;
24313   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24314   return total_size;
24315 }
24316
24317 void BiasParameter::MergeFrom(const ::google::protobuf::Message& from) {
24318 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.BiasParameter)
24319   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
24320   const BiasParameter* source =
24321       ::google::protobuf::internal::DynamicCastToGenerated<const BiasParameter>(
24322           &from);
24323   if (source == NULL) {
24324   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.BiasParameter)
24325     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
24326   } else {
24327   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.BiasParameter)
24328     UnsafeMergeFrom(*source);
24329   }
24330 }
24331
24332 void BiasParameter::MergeFrom(const BiasParameter& from) {
24333 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.BiasParameter)
24334   if (GOOGLE_PREDICT_TRUE(&from != this)) {
24335     UnsafeMergeFrom(from);
24336   } else {
24337     MergeFromFail(__LINE__);
24338   }
24339 }
24340
24341 void BiasParameter::UnsafeMergeFrom(const BiasParameter& from) {
24342   GOOGLE_DCHECK(&from != this);
24343   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
24344     if (from.has_axis()) {
24345       set_axis(from.axis());
24346     }
24347     if (from.has_num_axes()) {
24348       set_num_axes(from.num_axes());
24349     }
24350     if (from.has_filler()) {
24351       mutable_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.filler());
24352     }
24353   }
24354   if (from._internal_metadata_.have_unknown_fields()) {
24355     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
24356       from.unknown_fields(), &_internal_metadata_);
24357   }
24358 }
24359
24360 void BiasParameter::CopyFrom(const ::google::protobuf::Message& from) {
24361 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.BiasParameter)
24362   if (&from == this) return;
24363   Clear();
24364   MergeFrom(from);
24365 }
24366
24367 void BiasParameter::CopyFrom(const BiasParameter& from) {
24368 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.BiasParameter)
24369   if (&from == this) return;
24370   Clear();
24371   UnsafeMergeFrom(from);
24372 }
24373
24374 bool BiasParameter::IsInitialized() const {
24375
24376   return true;
24377 }
24378
24379 void BiasParameter::Swap(BiasParameter* other) {
24380   if (other == this) return;
24381   InternalSwap(other);
24382 }
24383 void BiasParameter::InternalSwap(BiasParameter* other) {
24384   std::swap(axis_, other->axis_);
24385   std::swap(num_axes_, other->num_axes_);
24386   std::swap(filler_, other->filler_);
24387   std::swap(_has_bits_[0], other->_has_bits_[0]);
24388   _internal_metadata_.Swap(&other->_internal_metadata_);
24389   std::swap(_cached_size_, other->_cached_size_);
24390 }
24391
24392 ::google::protobuf::Metadata BiasParameter::GetMetadata() const {
24393   protobuf_AssignDescriptorsOnce();
24394   ::google::protobuf::Metadata metadata;
24395   metadata.descriptor = BiasParameter_descriptor_;
24396   metadata.reflection = BiasParameter_reflection_;
24397   return metadata;
24398 }
24399
24400 #if PROTOBUF_INLINE_NOT_IN_HEADERS
24401 // BiasParameter
24402
24403 // optional int32 axis = 1 [default = 1];
24404 bool BiasParameter::has_axis() const {
24405   return (_has_bits_[0] & 0x00000001u) != 0;
24406 }
24407 void BiasParameter::set_has_axis() {
24408   _has_bits_[0] |= 0x00000001u;
24409 }
24410 void BiasParameter::clear_has_axis() {
24411   _has_bits_[0] &= ~0x00000001u;
24412 }
24413 void BiasParameter::clear_axis() {
24414   axis_ = 1;
24415   clear_has_axis();
24416 }
24417 ::google::protobuf::int32 BiasParameter::axis() const {
24418   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.axis)
24419   return axis_;
24420 }
24421 void BiasParameter::set_axis(::google::protobuf::int32 value) {
24422   set_has_axis();
24423   axis_ = value;
24424   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.axis)
24425 }
24426
24427 // optional int32 num_axes = 2 [default = 1];
24428 bool BiasParameter::has_num_axes() const {
24429   return (_has_bits_[0] & 0x00000002u) != 0;
24430 }
24431 void BiasParameter::set_has_num_axes() {
24432   _has_bits_[0] |= 0x00000002u;
24433 }
24434 void BiasParameter::clear_has_num_axes() {
24435   _has_bits_[0] &= ~0x00000002u;
24436 }
24437 void BiasParameter::clear_num_axes() {
24438   num_axes_ = 1;
24439   clear_has_num_axes();
24440 }
24441 ::google::protobuf::int32 BiasParameter::num_axes() const {
24442   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.num_axes)
24443   return num_axes_;
24444 }
24445 void BiasParameter::set_num_axes(::google::protobuf::int32 value) {
24446   set_has_num_axes();
24447   num_axes_ = value;
24448   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.num_axes)
24449 }
24450
24451 // optional .opencv_caffe.FillerParameter filler = 3;
24452 bool BiasParameter::has_filler() const {
24453   return (_has_bits_[0] & 0x00000004u) != 0;
24454 }
24455 void BiasParameter::set_has_filler() {
24456   _has_bits_[0] |= 0x00000004u;
24457 }
24458 void BiasParameter::clear_has_filler() {
24459   _has_bits_[0] &= ~0x00000004u;
24460 }
24461 void BiasParameter::clear_filler() {
24462   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
24463   clear_has_filler();
24464 }
24465 const ::opencv_caffe::FillerParameter& BiasParameter::filler() const {
24466   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.filler)
24467   return filler_ != NULL ? *filler_
24468                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24469 }
24470 ::opencv_caffe::FillerParameter* BiasParameter::mutable_filler() {
24471   set_has_filler();
24472   if (filler_ == NULL) {
24473     filler_ = new ::opencv_caffe::FillerParameter;
24474   }
24475   // @@protoc_insertion_point(field_mutable:opencv_caffe.BiasParameter.filler)
24476   return filler_;
24477 }
24478 ::opencv_caffe::FillerParameter* BiasParameter::release_filler() {
24479   // @@protoc_insertion_point(field_release:opencv_caffe.BiasParameter.filler)
24480   clear_has_filler();
24481   ::opencv_caffe::FillerParameter* temp = filler_;
24482   filler_ = NULL;
24483   return temp;
24484 }
24485 void BiasParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
24486   delete filler_;
24487   filler_ = filler;
24488   if (filler) {
24489     set_has_filler();
24490   } else {
24491     clear_has_filler();
24492   }
24493   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BiasParameter.filler)
24494 }
24495
24496 inline const BiasParameter* BiasParameter::internal_default_instance() {
24497   return &BiasParameter_default_instance_.get();
24498 }
24499 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
24500
24501 // ===================================================================
24502
24503 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24504 const int ContrastiveLossParameter::kMarginFieldNumber;
24505 const int ContrastiveLossParameter::kLegacyVersionFieldNumber;
24506 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
24507
24508 ContrastiveLossParameter::ContrastiveLossParameter()
24509   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
24510   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24511   SharedCtor();
24512   // @@protoc_insertion_point(constructor:opencv_caffe.ContrastiveLossParameter)
24513 }
24514
24515 void ContrastiveLossParameter::InitAsDefaultInstance() {
24516 }
24517
24518 ContrastiveLossParameter::ContrastiveLossParameter(const ContrastiveLossParameter& from)
24519   : ::google::protobuf::Message(),
24520     _internal_metadata_(NULL) {
24521   SharedCtor();
24522   UnsafeMergeFrom(from);
24523   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ContrastiveLossParameter)
24524 }
24525
24526 void ContrastiveLossParameter::SharedCtor() {
24527   _cached_size_ = 0;
24528   legacy_version_ = false;
24529   margin_ = 1;
24530 }
24531
24532 ContrastiveLossParameter::~ContrastiveLossParameter() {
24533   // @@protoc_insertion_point(destructor:opencv_caffe.ContrastiveLossParameter)
24534   SharedDtor();
24535 }
24536
24537 void ContrastiveLossParameter::SharedDtor() {
24538 }
24539
24540 void ContrastiveLossParameter::SetCachedSize(int size) const {
24541   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24542   _cached_size_ = size;
24543   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24544 }
24545 const ::google::protobuf::Descriptor* ContrastiveLossParameter::descriptor() {
24546   protobuf_AssignDescriptorsOnce();
24547   return ContrastiveLossParameter_descriptor_;
24548 }
24549
24550 const ContrastiveLossParameter& ContrastiveLossParameter::default_instance() {
24551   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24552   return *internal_default_instance();
24553 }
24554
24555 ::google::protobuf::internal::ExplicitlyConstructed<ContrastiveLossParameter> ContrastiveLossParameter_default_instance_;
24556
24557 ContrastiveLossParameter* ContrastiveLossParameter::New(::google::protobuf::Arena* arena) const {
24558   ContrastiveLossParameter* n = new ContrastiveLossParameter;
24559   if (arena != NULL) {
24560     arena->Own(n);
24561   }
24562   return n;
24563 }
24564
24565 void ContrastiveLossParameter::Clear() {
24566 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ContrastiveLossParameter)
24567   if (_has_bits_[0 / 32] & 3u) {
24568     margin_ = 1;
24569     legacy_version_ = false;
24570   }
24571   _has_bits_.Clear();
24572   if (_internal_metadata_.have_unknown_fields()) {
24573     mutable_unknown_fields()->Clear();
24574   }
24575 }
24576
24577 bool ContrastiveLossParameter::MergePartialFromCodedStream(
24578     ::google::protobuf::io::CodedInputStream* input) {
24579 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
24580   ::google::protobuf::uint32 tag;
24581   // @@protoc_insertion_point(parse_start:opencv_caffe.ContrastiveLossParameter)
24582   for (;;) {
24583     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
24584     tag = p.first;
24585     if (!p.second) goto handle_unusual;
24586     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
24587       // optional float margin = 1 [default = 1];
24588       case 1: {
24589         if (tag == 13) {
24590           set_has_margin();
24591           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24592                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
24593                  input, &margin_)));
24594         } else {
24595           goto handle_unusual;
24596         }
24597         if (input->ExpectTag(16)) goto parse_legacy_version;
24598         break;
24599       }
24600
24601       // optional bool legacy_version = 2 [default = false];
24602       case 2: {
24603         if (tag == 16) {
24604          parse_legacy_version:
24605           set_has_legacy_version();
24606           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
24607                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
24608                  input, &legacy_version_)));
24609         } else {
24610           goto handle_unusual;
24611         }
24612         if (input->ExpectAtEnd()) goto success;
24613         break;
24614       }
24615
24616       default: {
24617       handle_unusual:
24618         if (tag == 0 ||
24619             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
24620             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
24621           goto success;
24622         }
24623         DO_(::google::protobuf::internal::WireFormat::SkipField(
24624               input, tag, mutable_unknown_fields()));
24625         break;
24626       }
24627     }
24628   }
24629 success:
24630   // @@protoc_insertion_point(parse_success:opencv_caffe.ContrastiveLossParameter)
24631   return true;
24632 failure:
24633   // @@protoc_insertion_point(parse_failure:opencv_caffe.ContrastiveLossParameter)
24634   return false;
24635 #undef DO_
24636 }
24637
24638 void ContrastiveLossParameter::SerializeWithCachedSizes(
24639     ::google::protobuf::io::CodedOutputStream* output) const {
24640   // @@protoc_insertion_point(serialize_start:opencv_caffe.ContrastiveLossParameter)
24641   // optional float margin = 1 [default = 1];
24642   if (has_margin()) {
24643     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->margin(), output);
24644   }
24645
24646   // optional bool legacy_version = 2 [default = false];
24647   if (has_legacy_version()) {
24648     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->legacy_version(), output);
24649   }
24650
24651   if (_internal_metadata_.have_unknown_fields()) {
24652     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
24653         unknown_fields(), output);
24654   }
24655   // @@protoc_insertion_point(serialize_end:opencv_caffe.ContrastiveLossParameter)
24656 }
24657
24658 ::google::protobuf::uint8* ContrastiveLossParameter::InternalSerializeWithCachedSizesToArray(
24659     bool deterministic, ::google::protobuf::uint8* target) const {
24660   (void)deterministic; // Unused
24661   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ContrastiveLossParameter)
24662   // optional float margin = 1 [default = 1];
24663   if (has_margin()) {
24664     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->margin(), target);
24665   }
24666
24667   // optional bool legacy_version = 2 [default = false];
24668   if (has_legacy_version()) {
24669     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->legacy_version(), target);
24670   }
24671
24672   if (_internal_metadata_.have_unknown_fields()) {
24673     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
24674         unknown_fields(), target);
24675   }
24676   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ContrastiveLossParameter)
24677   return target;
24678 }
24679
24680 size_t ContrastiveLossParameter::ByteSizeLong() const {
24681 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ContrastiveLossParameter)
24682   size_t total_size = 0;
24683
24684   if (_has_bits_[0 / 32] & 3u) {
24685     // optional float margin = 1 [default = 1];
24686     if (has_margin()) {
24687       total_size += 1 + 4;
24688     }
24689
24690     // optional bool legacy_version = 2 [default = false];
24691     if (has_legacy_version()) {
24692       total_size += 1 + 1;
24693     }
24694
24695   }
24696   if (_internal_metadata_.have_unknown_fields()) {
24697     total_size +=
24698       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
24699         unknown_fields());
24700   }
24701   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
24702   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24703   _cached_size_ = cached_size;
24704   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24705   return total_size;
24706 }
24707
24708 void ContrastiveLossParameter::MergeFrom(const ::google::protobuf::Message& from) {
24709 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ContrastiveLossParameter)
24710   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
24711   const ContrastiveLossParameter* source =
24712       ::google::protobuf::internal::DynamicCastToGenerated<const ContrastiveLossParameter>(
24713           &from);
24714   if (source == NULL) {
24715   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ContrastiveLossParameter)
24716     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
24717   } else {
24718   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ContrastiveLossParameter)
24719     UnsafeMergeFrom(*source);
24720   }
24721 }
24722
24723 void ContrastiveLossParameter::MergeFrom(const ContrastiveLossParameter& from) {
24724 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ContrastiveLossParameter)
24725   if (GOOGLE_PREDICT_TRUE(&from != this)) {
24726     UnsafeMergeFrom(from);
24727   } else {
24728     MergeFromFail(__LINE__);
24729   }
24730 }
24731
24732 void ContrastiveLossParameter::UnsafeMergeFrom(const ContrastiveLossParameter& from) {
24733   GOOGLE_DCHECK(&from != this);
24734   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
24735     if (from.has_margin()) {
24736       set_margin(from.margin());
24737     }
24738     if (from.has_legacy_version()) {
24739       set_legacy_version(from.legacy_version());
24740     }
24741   }
24742   if (from._internal_metadata_.have_unknown_fields()) {
24743     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
24744       from.unknown_fields(), &_internal_metadata_);
24745   }
24746 }
24747
24748 void ContrastiveLossParameter::CopyFrom(const ::google::protobuf::Message& from) {
24749 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ContrastiveLossParameter)
24750   if (&from == this) return;
24751   Clear();
24752   MergeFrom(from);
24753 }
24754
24755 void ContrastiveLossParameter::CopyFrom(const ContrastiveLossParameter& from) {
24756 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ContrastiveLossParameter)
24757   if (&from == this) return;
24758   Clear();
24759   UnsafeMergeFrom(from);
24760 }
24761
24762 bool ContrastiveLossParameter::IsInitialized() const {
24763
24764   return true;
24765 }
24766
24767 void ContrastiveLossParameter::Swap(ContrastiveLossParameter* other) {
24768   if (other == this) return;
24769   InternalSwap(other);
24770 }
24771 void ContrastiveLossParameter::InternalSwap(ContrastiveLossParameter* other) {
24772   std::swap(margin_, other->margin_);
24773   std::swap(legacy_version_, other->legacy_version_);
24774   std::swap(_has_bits_[0], other->_has_bits_[0]);
24775   _internal_metadata_.Swap(&other->_internal_metadata_);
24776   std::swap(_cached_size_, other->_cached_size_);
24777 }
24778
24779 ::google::protobuf::Metadata ContrastiveLossParameter::GetMetadata() const {
24780   protobuf_AssignDescriptorsOnce();
24781   ::google::protobuf::Metadata metadata;
24782   metadata.descriptor = ContrastiveLossParameter_descriptor_;
24783   metadata.reflection = ContrastiveLossParameter_reflection_;
24784   return metadata;
24785 }
24786
24787 #if PROTOBUF_INLINE_NOT_IN_HEADERS
24788 // ContrastiveLossParameter
24789
24790 // optional float margin = 1 [default = 1];
24791 bool ContrastiveLossParameter::has_margin() const {
24792   return (_has_bits_[0] & 0x00000001u) != 0;
24793 }
24794 void ContrastiveLossParameter::set_has_margin() {
24795   _has_bits_[0] |= 0x00000001u;
24796 }
24797 void ContrastiveLossParameter::clear_has_margin() {
24798   _has_bits_[0] &= ~0x00000001u;
24799 }
24800 void ContrastiveLossParameter::clear_margin() {
24801   margin_ = 1;
24802   clear_has_margin();
24803 }
24804 float ContrastiveLossParameter::margin() const {
24805   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.margin)
24806   return margin_;
24807 }
24808 void ContrastiveLossParameter::set_margin(float value) {
24809   set_has_margin();
24810   margin_ = value;
24811   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.margin)
24812 }
24813
24814 // optional bool legacy_version = 2 [default = false];
24815 bool ContrastiveLossParameter::has_legacy_version() const {
24816   return (_has_bits_[0] & 0x00000002u) != 0;
24817 }
24818 void ContrastiveLossParameter::set_has_legacy_version() {
24819   _has_bits_[0] |= 0x00000002u;
24820 }
24821 void ContrastiveLossParameter::clear_has_legacy_version() {
24822   _has_bits_[0] &= ~0x00000002u;
24823 }
24824 void ContrastiveLossParameter::clear_legacy_version() {
24825   legacy_version_ = false;
24826   clear_has_legacy_version();
24827 }
24828 bool ContrastiveLossParameter::legacy_version() const {
24829   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.legacy_version)
24830   return legacy_version_;
24831 }
24832 void ContrastiveLossParameter::set_legacy_version(bool value) {
24833   set_has_legacy_version();
24834   legacy_version_ = value;
24835   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.legacy_version)
24836 }
24837
24838 inline const ContrastiveLossParameter* ContrastiveLossParameter::internal_default_instance() {
24839   return &ContrastiveLossParameter_default_instance_.get();
24840 }
24841 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
24842
24843 // ===================================================================
24844
24845 const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor() {
24846   protobuf_AssignDescriptorsOnce();
24847   return ConvolutionParameter_Engine_descriptor_;
24848 }
24849 bool ConvolutionParameter_Engine_IsValid(int value) {
24850   switch (value) {
24851     case 0:
24852     case 1:
24853     case 2:
24854       return true;
24855     default:
24856       return false;
24857   }
24858 }
24859
24860 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24861 const ConvolutionParameter_Engine ConvolutionParameter::DEFAULT;
24862 const ConvolutionParameter_Engine ConvolutionParameter::CAFFE;
24863 const ConvolutionParameter_Engine ConvolutionParameter::CUDNN;
24864 const ConvolutionParameter_Engine ConvolutionParameter::Engine_MIN;
24865 const ConvolutionParameter_Engine ConvolutionParameter::Engine_MAX;
24866 const int ConvolutionParameter::Engine_ARRAYSIZE;
24867 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
24868 #if !defined(_MSC_VER) || _MSC_VER >= 1900
24869 const int ConvolutionParameter::kNumOutputFieldNumber;
24870 const int ConvolutionParameter::kBiasTermFieldNumber;
24871 const int ConvolutionParameter::kPadFieldNumber;
24872 const int ConvolutionParameter::kKernelSizeFieldNumber;
24873 const int ConvolutionParameter::kStrideFieldNumber;
24874 const int ConvolutionParameter::kDilationFieldNumber;
24875 const int ConvolutionParameter::kPadHFieldNumber;
24876 const int ConvolutionParameter::kPadWFieldNumber;
24877 const int ConvolutionParameter::kKernelHFieldNumber;
24878 const int ConvolutionParameter::kKernelWFieldNumber;
24879 const int ConvolutionParameter::kStrideHFieldNumber;
24880 const int ConvolutionParameter::kStrideWFieldNumber;
24881 const int ConvolutionParameter::kGroupFieldNumber;
24882 const int ConvolutionParameter::kWeightFillerFieldNumber;
24883 const int ConvolutionParameter::kBiasFillerFieldNumber;
24884 const int ConvolutionParameter::kEngineFieldNumber;
24885 const int ConvolutionParameter::kAxisFieldNumber;
24886 const int ConvolutionParameter::kForceNdIm2ColFieldNumber;
24887 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
24888
24889 ConvolutionParameter::ConvolutionParameter()
24890   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
24891   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24892   SharedCtor();
24893   // @@protoc_insertion_point(constructor:opencv_caffe.ConvolutionParameter)
24894 }
24895
24896 void ConvolutionParameter::InitAsDefaultInstance() {
24897   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
24898       ::opencv_caffe::FillerParameter::internal_default_instance());
24899   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
24900       ::opencv_caffe::FillerParameter::internal_default_instance());
24901 }
24902
24903 ConvolutionParameter::ConvolutionParameter(const ConvolutionParameter& from)
24904   : ::google::protobuf::Message(),
24905     _internal_metadata_(NULL) {
24906   SharedCtor();
24907   UnsafeMergeFrom(from);
24908   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ConvolutionParameter)
24909 }
24910
24911 void ConvolutionParameter::SharedCtor() {
24912   _cached_size_ = 0;
24913   weight_filler_ = NULL;
24914   bias_filler_ = NULL;
24915   ::memset(&num_output_, 0, reinterpret_cast<char*>(&force_nd_im2col_) -
24916     reinterpret_cast<char*>(&num_output_) + sizeof(force_nd_im2col_));
24917   axis_ = 1;
24918   bias_term_ = true;
24919   group_ = 1u;
24920 }
24921
24922 ConvolutionParameter::~ConvolutionParameter() {
24923   // @@protoc_insertion_point(destructor:opencv_caffe.ConvolutionParameter)
24924   SharedDtor();
24925 }
24926
24927 void ConvolutionParameter::SharedDtor() {
24928   if (this != &ConvolutionParameter_default_instance_.get()) {
24929     delete weight_filler_;
24930     delete bias_filler_;
24931   }
24932 }
24933
24934 void ConvolutionParameter::SetCachedSize(int size) const {
24935   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
24936   _cached_size_ = size;
24937   GOOGLE_SAFE_CONCURRENT_WRITES_END();
24938 }
24939 const ::google::protobuf::Descriptor* ConvolutionParameter::descriptor() {
24940   protobuf_AssignDescriptorsOnce();
24941   return ConvolutionParameter_descriptor_;
24942 }
24943
24944 const ConvolutionParameter& ConvolutionParameter::default_instance() {
24945   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
24946   return *internal_default_instance();
24947 }
24948
24949 ::google::protobuf::internal::ExplicitlyConstructed<ConvolutionParameter> ConvolutionParameter_default_instance_;
24950
24951 ConvolutionParameter* ConvolutionParameter::New(::google::protobuf::Arena* arena) const {
24952   ConvolutionParameter* n = new ConvolutionParameter;
24953   if (arena != NULL) {
24954     arena->Own(n);
24955   }
24956   return n;
24957 }
24958
24959 void ConvolutionParameter::Clear() {
24960 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ConvolutionParameter)
24961 #if defined(__clang__)
24962 #define ZR_HELPER_(f) \
24963   _Pragma("clang diagnostic push") \
24964   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
24965   __builtin_offsetof(ConvolutionParameter, f) \
24966   _Pragma("clang diagnostic pop")
24967 #else
24968 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
24969   &reinterpret_cast<ConvolutionParameter*>(16)->f)
24970 #endif
24971
24972 #define ZR_(first, last) do {\
24973   ::memset(&(first), 0,\
24974            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
24975 } while (0)
24976
24977   if (_has_bits_[0 / 32] & 195u) {
24978     ZR_(num_output_, pad_w_);
24979     bias_term_ = true;
24980   }
24981   if (_has_bits_[8 / 32] & 65280u) {
24982     ZR_(kernel_h_, engine_);
24983     group_ = 1u;
24984     if (has_weight_filler()) {
24985       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
24986     }
24987     if (has_bias_filler()) {
24988       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
24989     }
24990   }
24991   if (_has_bits_[16 / 32] & 196608u) {
24992     axis_ = 1;
24993     force_nd_im2col_ = false;
24994   }
24995
24996 #undef ZR_HELPER_
24997 #undef ZR_
24998
24999   pad_.Clear();
25000   kernel_size_.Clear();
25001   stride_.Clear();
25002   dilation_.Clear();
25003   _has_bits_.Clear();
25004   if (_internal_metadata_.have_unknown_fields()) {
25005     mutable_unknown_fields()->Clear();
25006   }
25007 }
25008
25009 bool ConvolutionParameter::MergePartialFromCodedStream(
25010     ::google::protobuf::io::CodedInputStream* input) {
25011 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
25012   ::google::protobuf::uint32 tag;
25013   // @@protoc_insertion_point(parse_start:opencv_caffe.ConvolutionParameter)
25014   for (;;) {
25015     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
25016     tag = p.first;
25017     if (!p.second) goto handle_unusual;
25018     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
25019       // optional uint32 num_output = 1;
25020       case 1: {
25021         if (tag == 8) {
25022           set_has_num_output();
25023           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25024                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25025                  input, &num_output_)));
25026         } else {
25027           goto handle_unusual;
25028         }
25029         if (input->ExpectTag(16)) goto parse_bias_term;
25030         break;
25031       }
25032
25033       // optional bool bias_term = 2 [default = true];
25034       case 2: {
25035         if (tag == 16) {
25036          parse_bias_term:
25037           set_has_bias_term();
25038           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25039                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
25040                  input, &bias_term_)));
25041         } else {
25042           goto handle_unusual;
25043         }
25044         if (input->ExpectTag(24)) goto parse_pad;
25045         break;
25046       }
25047
25048       // repeated uint32 pad = 3;
25049       case 3: {
25050         if (tag == 24) {
25051          parse_pad:
25052           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25053                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25054                  1, 24, input, this->mutable_pad())));
25055         } else if (tag == 26) {
25056           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25057                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25058                  input, this->mutable_pad())));
25059         } else {
25060           goto handle_unusual;
25061         }
25062         if (input->ExpectTag(24)) goto parse_pad;
25063         if (input->ExpectTag(32)) goto parse_kernel_size;
25064         break;
25065       }
25066
25067       // repeated uint32 kernel_size = 4;
25068       case 4: {
25069         if (tag == 32) {
25070          parse_kernel_size:
25071           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25072                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25073                  1, 32, input, this->mutable_kernel_size())));
25074         } else if (tag == 34) {
25075           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25076                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25077                  input, this->mutable_kernel_size())));
25078         } else {
25079           goto handle_unusual;
25080         }
25081         if (input->ExpectTag(32)) goto parse_kernel_size;
25082         if (input->ExpectTag(40)) goto parse_group;
25083         break;
25084       }
25085
25086       // optional uint32 group = 5 [default = 1];
25087       case 5: {
25088         if (tag == 40) {
25089          parse_group:
25090           set_has_group();
25091           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25092                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25093                  input, &group_)));
25094         } else {
25095           goto handle_unusual;
25096         }
25097         if (input->ExpectTag(48)) goto parse_stride;
25098         break;
25099       }
25100
25101       // repeated uint32 stride = 6;
25102       case 6: {
25103         if (tag == 48) {
25104          parse_stride:
25105           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25106                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25107                  1, 48, input, this->mutable_stride())));
25108         } else if (tag == 50) {
25109           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25110                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25111                  input, this->mutable_stride())));
25112         } else {
25113           goto handle_unusual;
25114         }
25115         if (input->ExpectTag(48)) goto parse_stride;
25116         if (input->ExpectTag(58)) goto parse_weight_filler;
25117         break;
25118       }
25119
25120       // optional .opencv_caffe.FillerParameter weight_filler = 7;
25121       case 7: {
25122         if (tag == 58) {
25123          parse_weight_filler:
25124           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
25125                input, mutable_weight_filler()));
25126         } else {
25127           goto handle_unusual;
25128         }
25129         if (input->ExpectTag(66)) goto parse_bias_filler;
25130         break;
25131       }
25132
25133       // optional .opencv_caffe.FillerParameter bias_filler = 8;
25134       case 8: {
25135         if (tag == 66) {
25136          parse_bias_filler:
25137           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
25138                input, mutable_bias_filler()));
25139         } else {
25140           goto handle_unusual;
25141         }
25142         if (input->ExpectTag(72)) goto parse_pad_h;
25143         break;
25144       }
25145
25146       // optional uint32 pad_h = 9 [default = 0];
25147       case 9: {
25148         if (tag == 72) {
25149          parse_pad_h:
25150           set_has_pad_h();
25151           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25152                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25153                  input, &pad_h_)));
25154         } else {
25155           goto handle_unusual;
25156         }
25157         if (input->ExpectTag(80)) goto parse_pad_w;
25158         break;
25159       }
25160
25161       // optional uint32 pad_w = 10 [default = 0];
25162       case 10: {
25163         if (tag == 80) {
25164          parse_pad_w:
25165           set_has_pad_w();
25166           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25167                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25168                  input, &pad_w_)));
25169         } else {
25170           goto handle_unusual;
25171         }
25172         if (input->ExpectTag(88)) goto parse_kernel_h;
25173         break;
25174       }
25175
25176       // optional uint32 kernel_h = 11;
25177       case 11: {
25178         if (tag == 88) {
25179          parse_kernel_h:
25180           set_has_kernel_h();
25181           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25182                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25183                  input, &kernel_h_)));
25184         } else {
25185           goto handle_unusual;
25186         }
25187         if (input->ExpectTag(96)) goto parse_kernel_w;
25188         break;
25189       }
25190
25191       // optional uint32 kernel_w = 12;
25192       case 12: {
25193         if (tag == 96) {
25194          parse_kernel_w:
25195           set_has_kernel_w();
25196           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25197                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25198                  input, &kernel_w_)));
25199         } else {
25200           goto handle_unusual;
25201         }
25202         if (input->ExpectTag(104)) goto parse_stride_h;
25203         break;
25204       }
25205
25206       // optional uint32 stride_h = 13;
25207       case 13: {
25208         if (tag == 104) {
25209          parse_stride_h:
25210           set_has_stride_h();
25211           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25212                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25213                  input, &stride_h_)));
25214         } else {
25215           goto handle_unusual;
25216         }
25217         if (input->ExpectTag(112)) goto parse_stride_w;
25218         break;
25219       }
25220
25221       // optional uint32 stride_w = 14;
25222       case 14: {
25223         if (tag == 112) {
25224          parse_stride_w:
25225           set_has_stride_w();
25226           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25227                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25228                  input, &stride_w_)));
25229         } else {
25230           goto handle_unusual;
25231         }
25232         if (input->ExpectTag(120)) goto parse_engine;
25233         break;
25234       }
25235
25236       // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25237       case 15: {
25238         if (tag == 120) {
25239          parse_engine:
25240           int value;
25241           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25242                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
25243                  input, &value)));
25244           if (::opencv_caffe::ConvolutionParameter_Engine_IsValid(value)) {
25245             set_engine(static_cast< ::opencv_caffe::ConvolutionParameter_Engine >(value));
25246           } else {
25247             mutable_unknown_fields()->AddVarint(15, value);
25248           }
25249         } else {
25250           goto handle_unusual;
25251         }
25252         if (input->ExpectTag(128)) goto parse_axis;
25253         break;
25254       }
25255
25256       // optional int32 axis = 16 [default = 1];
25257       case 16: {
25258         if (tag == 128) {
25259          parse_axis:
25260           set_has_axis();
25261           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25262                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
25263                  input, &axis_)));
25264         } else {
25265           goto handle_unusual;
25266         }
25267         if (input->ExpectTag(136)) goto parse_force_nd_im2col;
25268         break;
25269       }
25270
25271       // optional bool force_nd_im2col = 17 [default = false];
25272       case 17: {
25273         if (tag == 136) {
25274          parse_force_nd_im2col:
25275           set_has_force_nd_im2col();
25276           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
25277                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
25278                  input, &force_nd_im2col_)));
25279         } else {
25280           goto handle_unusual;
25281         }
25282         if (input->ExpectTag(144)) goto parse_dilation;
25283         break;
25284       }
25285
25286       // repeated uint32 dilation = 18;
25287       case 18: {
25288         if (tag == 144) {
25289          parse_dilation:
25290           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
25291                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25292                  2, 144, input, this->mutable_dilation())));
25293         } else if (tag == 146) {
25294           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
25295                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
25296                  input, this->mutable_dilation())));
25297         } else {
25298           goto handle_unusual;
25299         }
25300         if (input->ExpectTag(144)) goto parse_dilation;
25301         if (input->ExpectAtEnd()) goto success;
25302         break;
25303       }
25304
25305       default: {
25306       handle_unusual:
25307         if (tag == 0 ||
25308             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
25309             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
25310           goto success;
25311         }
25312         DO_(::google::protobuf::internal::WireFormat::SkipField(
25313               input, tag, mutable_unknown_fields()));
25314         break;
25315       }
25316     }
25317   }
25318 success:
25319   // @@protoc_insertion_point(parse_success:opencv_caffe.ConvolutionParameter)
25320   return true;
25321 failure:
25322   // @@protoc_insertion_point(parse_failure:opencv_caffe.ConvolutionParameter)
25323   return false;
25324 #undef DO_
25325 }
25326
25327 void ConvolutionParameter::SerializeWithCachedSizes(
25328     ::google::protobuf::io::CodedOutputStream* output) const {
25329   // @@protoc_insertion_point(serialize_start:opencv_caffe.ConvolutionParameter)
25330   // optional uint32 num_output = 1;
25331   if (has_num_output()) {
25332     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
25333   }
25334
25335   // optional bool bias_term = 2 [default = true];
25336   if (has_bias_term()) {
25337     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->bias_term(), output);
25338   }
25339
25340   // repeated uint32 pad = 3;
25341   for (int i = 0; i < this->pad_size(); i++) {
25342     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25343       3, this->pad(i), output);
25344   }
25345
25346   // repeated uint32 kernel_size = 4;
25347   for (int i = 0; i < this->kernel_size_size(); i++) {
25348     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25349       4, this->kernel_size(i), output);
25350   }
25351
25352   // optional uint32 group = 5 [default = 1];
25353   if (has_group()) {
25354     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->group(), output);
25355   }
25356
25357   // repeated uint32 stride = 6;
25358   for (int i = 0; i < this->stride_size(); i++) {
25359     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25360       6, this->stride(i), output);
25361   }
25362
25363   // optional .opencv_caffe.FillerParameter weight_filler = 7;
25364   if (has_weight_filler()) {
25365     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
25366       7, *this->weight_filler_, output);
25367   }
25368
25369   // optional .opencv_caffe.FillerParameter bias_filler = 8;
25370   if (has_bias_filler()) {
25371     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
25372       8, *this->bias_filler_, output);
25373   }
25374
25375   // optional uint32 pad_h = 9 [default = 0];
25376   if (has_pad_h()) {
25377     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->pad_h(), output);
25378   }
25379
25380   // optional uint32 pad_w = 10 [default = 0];
25381   if (has_pad_w()) {
25382     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->pad_w(), output);
25383   }
25384
25385   // optional uint32 kernel_h = 11;
25386   if (has_kernel_h()) {
25387     ::google::protobuf::internal::WireFormatLite::WriteUInt32(11, this->kernel_h(), output);
25388   }
25389
25390   // optional uint32 kernel_w = 12;
25391   if (has_kernel_w()) {
25392     ::google::protobuf::internal::WireFormatLite::WriteUInt32(12, this->kernel_w(), output);
25393   }
25394
25395   // optional uint32 stride_h = 13;
25396   if (has_stride_h()) {
25397     ::google::protobuf::internal::WireFormatLite::WriteUInt32(13, this->stride_h(), output);
25398   }
25399
25400   // optional uint32 stride_w = 14;
25401   if (has_stride_w()) {
25402     ::google::protobuf::internal::WireFormatLite::WriteUInt32(14, this->stride_w(), output);
25403   }
25404
25405   // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25406   if (has_engine()) {
25407     ::google::protobuf::internal::WireFormatLite::WriteEnum(
25408       15, this->engine(), output);
25409   }
25410
25411   // optional int32 axis = 16 [default = 1];
25412   if (has_axis()) {
25413     ::google::protobuf::internal::WireFormatLite::WriteInt32(16, this->axis(), output);
25414   }
25415
25416   // optional bool force_nd_im2col = 17 [default = false];
25417   if (has_force_nd_im2col()) {
25418     ::google::protobuf::internal::WireFormatLite::WriteBool(17, this->force_nd_im2col(), output);
25419   }
25420
25421   // repeated uint32 dilation = 18;
25422   for (int i = 0; i < this->dilation_size(); i++) {
25423     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
25424       18, this->dilation(i), output);
25425   }
25426
25427   if (_internal_metadata_.have_unknown_fields()) {
25428     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
25429         unknown_fields(), output);
25430   }
25431   // @@protoc_insertion_point(serialize_end:opencv_caffe.ConvolutionParameter)
25432 }
25433
25434 ::google::protobuf::uint8* ConvolutionParameter::InternalSerializeWithCachedSizesToArray(
25435     bool deterministic, ::google::protobuf::uint8* target) const {
25436   (void)deterministic; // Unused
25437   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ConvolutionParameter)
25438   // optional uint32 num_output = 1;
25439   if (has_num_output()) {
25440     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
25441   }
25442
25443   // optional bool bias_term = 2 [default = true];
25444   if (has_bias_term()) {
25445     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->bias_term(), target);
25446   }
25447
25448   // repeated uint32 pad = 3;
25449   for (int i = 0; i < this->pad_size(); i++) {
25450     target = ::google::protobuf::internal::WireFormatLite::
25451       WriteUInt32ToArray(3, this->pad(i), target);
25452   }
25453
25454   // repeated uint32 kernel_size = 4;
25455   for (int i = 0; i < this->kernel_size_size(); i++) {
25456     target = ::google::protobuf::internal::WireFormatLite::
25457       WriteUInt32ToArray(4, this->kernel_size(i), target);
25458   }
25459
25460   // optional uint32 group = 5 [default = 1];
25461   if (has_group()) {
25462     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->group(), target);
25463   }
25464
25465   // repeated uint32 stride = 6;
25466   for (int i = 0; i < this->stride_size(); i++) {
25467     target = ::google::protobuf::internal::WireFormatLite::
25468       WriteUInt32ToArray(6, this->stride(i), target);
25469   }
25470
25471   // optional .opencv_caffe.FillerParameter weight_filler = 7;
25472   if (has_weight_filler()) {
25473     target = ::google::protobuf::internal::WireFormatLite::
25474       InternalWriteMessageNoVirtualToArray(
25475         7, *this->weight_filler_, false, target);
25476   }
25477
25478   // optional .opencv_caffe.FillerParameter bias_filler = 8;
25479   if (has_bias_filler()) {
25480     target = ::google::protobuf::internal::WireFormatLite::
25481       InternalWriteMessageNoVirtualToArray(
25482         8, *this->bias_filler_, false, target);
25483   }
25484
25485   // optional uint32 pad_h = 9 [default = 0];
25486   if (has_pad_h()) {
25487     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->pad_h(), target);
25488   }
25489
25490   // optional uint32 pad_w = 10 [default = 0];
25491   if (has_pad_w()) {
25492     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->pad_w(), target);
25493   }
25494
25495   // optional uint32 kernel_h = 11;
25496   if (has_kernel_h()) {
25497     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(11, this->kernel_h(), target);
25498   }
25499
25500   // optional uint32 kernel_w = 12;
25501   if (has_kernel_w()) {
25502     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(12, this->kernel_w(), target);
25503   }
25504
25505   // optional uint32 stride_h = 13;
25506   if (has_stride_h()) {
25507     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(13, this->stride_h(), target);
25508   }
25509
25510   // optional uint32 stride_w = 14;
25511   if (has_stride_w()) {
25512     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(14, this->stride_w(), target);
25513   }
25514
25515   // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25516   if (has_engine()) {
25517     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
25518       15, this->engine(), target);
25519   }
25520
25521   // optional int32 axis = 16 [default = 1];
25522   if (has_axis()) {
25523     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(16, this->axis(), target);
25524   }
25525
25526   // optional bool force_nd_im2col = 17 [default = false];
25527   if (has_force_nd_im2col()) {
25528     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(17, this->force_nd_im2col(), target);
25529   }
25530
25531   // repeated uint32 dilation = 18;
25532   for (int i = 0; i < this->dilation_size(); i++) {
25533     target = ::google::protobuf::internal::WireFormatLite::
25534       WriteUInt32ToArray(18, this->dilation(i), target);
25535   }
25536
25537   if (_internal_metadata_.have_unknown_fields()) {
25538     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
25539         unknown_fields(), target);
25540   }
25541   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ConvolutionParameter)
25542   return target;
25543 }
25544
25545 size_t ConvolutionParameter::ByteSizeLong() const {
25546 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ConvolutionParameter)
25547   size_t total_size = 0;
25548
25549   if (_has_bits_[0 / 32] & 195u) {
25550     // optional uint32 num_output = 1;
25551     if (has_num_output()) {
25552       total_size += 1 +
25553         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25554           this->num_output());
25555     }
25556
25557     // optional bool bias_term = 2 [default = true];
25558     if (has_bias_term()) {
25559       total_size += 1 + 1;
25560     }
25561
25562     // optional uint32 pad_h = 9 [default = 0];
25563     if (has_pad_h()) {
25564       total_size += 1 +
25565         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25566           this->pad_h());
25567     }
25568
25569     // optional uint32 pad_w = 10 [default = 0];
25570     if (has_pad_w()) {
25571       total_size += 1 +
25572         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25573           this->pad_w());
25574     }
25575
25576   }
25577   if (_has_bits_[8 / 32] & 65280u) {
25578     // optional uint32 kernel_h = 11;
25579     if (has_kernel_h()) {
25580       total_size += 1 +
25581         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25582           this->kernel_h());
25583     }
25584
25585     // optional uint32 kernel_w = 12;
25586     if (has_kernel_w()) {
25587       total_size += 1 +
25588         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25589           this->kernel_w());
25590     }
25591
25592     // optional uint32 stride_h = 13;
25593     if (has_stride_h()) {
25594       total_size += 1 +
25595         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25596           this->stride_h());
25597     }
25598
25599     // optional uint32 stride_w = 14;
25600     if (has_stride_w()) {
25601       total_size += 1 +
25602         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25603           this->stride_w());
25604     }
25605
25606     // optional uint32 group = 5 [default = 1];
25607     if (has_group()) {
25608       total_size += 1 +
25609         ::google::protobuf::internal::WireFormatLite::UInt32Size(
25610           this->group());
25611     }
25612
25613     // optional .opencv_caffe.FillerParameter weight_filler = 7;
25614     if (has_weight_filler()) {
25615       total_size += 1 +
25616         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
25617           *this->weight_filler_);
25618     }
25619
25620     // optional .opencv_caffe.FillerParameter bias_filler = 8;
25621     if (has_bias_filler()) {
25622       total_size += 1 +
25623         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
25624           *this->bias_filler_);
25625     }
25626
25627     // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
25628     if (has_engine()) {
25629       total_size += 1 +
25630         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
25631     }
25632
25633   }
25634   if (_has_bits_[16 / 32] & 196608u) {
25635     // optional int32 axis = 16 [default = 1];
25636     if (has_axis()) {
25637       total_size += 2 +
25638         ::google::protobuf::internal::WireFormatLite::Int32Size(
25639           this->axis());
25640     }
25641
25642     // optional bool force_nd_im2col = 17 [default = false];
25643     if (has_force_nd_im2col()) {
25644       total_size += 2 + 1;
25645     }
25646
25647   }
25648   // repeated uint32 pad = 3;
25649   {
25650     size_t data_size = 0;
25651     unsigned int count = this->pad_size();
25652     for (unsigned int i = 0; i < count; i++) {
25653       data_size += ::google::protobuf::internal::WireFormatLite::
25654         UInt32Size(this->pad(i));
25655     }
25656     total_size += 1 *
25657                   ::google::protobuf::internal::FromIntSize(this->pad_size());
25658     total_size += data_size;
25659   }
25660
25661   // repeated uint32 kernel_size = 4;
25662   {
25663     size_t data_size = 0;
25664     unsigned int count = this->kernel_size_size();
25665     for (unsigned int i = 0; i < count; i++) {
25666       data_size += ::google::protobuf::internal::WireFormatLite::
25667         UInt32Size(this->kernel_size(i));
25668     }
25669     total_size += 1 *
25670                   ::google::protobuf::internal::FromIntSize(this->kernel_size_size());
25671     total_size += data_size;
25672   }
25673
25674   // repeated uint32 stride = 6;
25675   {
25676     size_t data_size = 0;
25677     unsigned int count = this->stride_size();
25678     for (unsigned int i = 0; i < count; i++) {
25679       data_size += ::google::protobuf::internal::WireFormatLite::
25680         UInt32Size(this->stride(i));
25681     }
25682     total_size += 1 *
25683                   ::google::protobuf::internal::FromIntSize(this->stride_size());
25684     total_size += data_size;
25685   }
25686
25687   // repeated uint32 dilation = 18;
25688   {
25689     size_t data_size = 0;
25690     unsigned int count = this->dilation_size();
25691     for (unsigned int i = 0; i < count; i++) {
25692       data_size += ::google::protobuf::internal::WireFormatLite::
25693         UInt32Size(this->dilation(i));
25694     }
25695     total_size += 2 *
25696                   ::google::protobuf::internal::FromIntSize(this->dilation_size());
25697     total_size += data_size;
25698   }
25699
25700   if (_internal_metadata_.have_unknown_fields()) {
25701     total_size +=
25702       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
25703         unknown_fields());
25704   }
25705   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
25706   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
25707   _cached_size_ = cached_size;
25708   GOOGLE_SAFE_CONCURRENT_WRITES_END();
25709   return total_size;
25710 }
25711
25712 void ConvolutionParameter::MergeFrom(const ::google::protobuf::Message& from) {
25713 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ConvolutionParameter)
25714   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
25715   const ConvolutionParameter* source =
25716       ::google::protobuf::internal::DynamicCastToGenerated<const ConvolutionParameter>(
25717           &from);
25718   if (source == NULL) {
25719   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ConvolutionParameter)
25720     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
25721   } else {
25722   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ConvolutionParameter)
25723     UnsafeMergeFrom(*source);
25724   }
25725 }
25726
25727 void ConvolutionParameter::MergeFrom(const ConvolutionParameter& from) {
25728 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ConvolutionParameter)
25729   if (GOOGLE_PREDICT_TRUE(&from != this)) {
25730     UnsafeMergeFrom(from);
25731   } else {
25732     MergeFromFail(__LINE__);
25733   }
25734 }
25735
25736 void ConvolutionParameter::UnsafeMergeFrom(const ConvolutionParameter& from) {
25737   GOOGLE_DCHECK(&from != this);
25738   pad_.UnsafeMergeFrom(from.pad_);
25739   kernel_size_.UnsafeMergeFrom(from.kernel_size_);
25740   stride_.UnsafeMergeFrom(from.stride_);
25741   dilation_.UnsafeMergeFrom(from.dilation_);
25742   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
25743     if (from.has_num_output()) {
25744       set_num_output(from.num_output());
25745     }
25746     if (from.has_bias_term()) {
25747       set_bias_term(from.bias_term());
25748     }
25749     if (from.has_pad_h()) {
25750       set_pad_h(from.pad_h());
25751     }
25752     if (from.has_pad_w()) {
25753       set_pad_w(from.pad_w());
25754     }
25755   }
25756   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
25757     if (from.has_kernel_h()) {
25758       set_kernel_h(from.kernel_h());
25759     }
25760     if (from.has_kernel_w()) {
25761       set_kernel_w(from.kernel_w());
25762     }
25763     if (from.has_stride_h()) {
25764       set_stride_h(from.stride_h());
25765     }
25766     if (from.has_stride_w()) {
25767       set_stride_w(from.stride_w());
25768     }
25769     if (from.has_group()) {
25770       set_group(from.group());
25771     }
25772     if (from.has_weight_filler()) {
25773       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
25774     }
25775     if (from.has_bias_filler()) {
25776       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
25777     }
25778     if (from.has_engine()) {
25779       set_engine(from.engine());
25780     }
25781   }
25782   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
25783     if (from.has_axis()) {
25784       set_axis(from.axis());
25785     }
25786     if (from.has_force_nd_im2col()) {
25787       set_force_nd_im2col(from.force_nd_im2col());
25788     }
25789   }
25790   if (from._internal_metadata_.have_unknown_fields()) {
25791     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
25792       from.unknown_fields(), &_internal_metadata_);
25793   }
25794 }
25795
25796 void ConvolutionParameter::CopyFrom(const ::google::protobuf::Message& from) {
25797 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ConvolutionParameter)
25798   if (&from == this) return;
25799   Clear();
25800   MergeFrom(from);
25801 }
25802
25803 void ConvolutionParameter::CopyFrom(const ConvolutionParameter& from) {
25804 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ConvolutionParameter)
25805   if (&from == this) return;
25806   Clear();
25807   UnsafeMergeFrom(from);
25808 }
25809
25810 bool ConvolutionParameter::IsInitialized() const {
25811
25812   return true;
25813 }
25814
25815 void ConvolutionParameter::Swap(ConvolutionParameter* other) {
25816   if (other == this) return;
25817   InternalSwap(other);
25818 }
25819 void ConvolutionParameter::InternalSwap(ConvolutionParameter* other) {
25820   std::swap(num_output_, other->num_output_);
25821   std::swap(bias_term_, other->bias_term_);
25822   pad_.UnsafeArenaSwap(&other->pad_);
25823   kernel_size_.UnsafeArenaSwap(&other->kernel_size_);
25824   stride_.UnsafeArenaSwap(&other->stride_);
25825   dilation_.UnsafeArenaSwap(&other->dilation_);
25826   std::swap(pad_h_, other->pad_h_);
25827   std::swap(pad_w_, other->pad_w_);
25828   std::swap(kernel_h_, other->kernel_h_);
25829   std::swap(kernel_w_, other->kernel_w_);
25830   std::swap(stride_h_, other->stride_h_);
25831   std::swap(stride_w_, other->stride_w_);
25832   std::swap(group_, other->group_);
25833   std::swap(weight_filler_, other->weight_filler_);
25834   std::swap(bias_filler_, other->bias_filler_);
25835   std::swap(engine_, other->engine_);
25836   std::swap(axis_, other->axis_);
25837   std::swap(force_nd_im2col_, other->force_nd_im2col_);
25838   std::swap(_has_bits_[0], other->_has_bits_[0]);
25839   _internal_metadata_.Swap(&other->_internal_metadata_);
25840   std::swap(_cached_size_, other->_cached_size_);
25841 }
25842
25843 ::google::protobuf::Metadata ConvolutionParameter::GetMetadata() const {
25844   protobuf_AssignDescriptorsOnce();
25845   ::google::protobuf::Metadata metadata;
25846   metadata.descriptor = ConvolutionParameter_descriptor_;
25847   metadata.reflection = ConvolutionParameter_reflection_;
25848   return metadata;
25849 }
25850
25851 #if PROTOBUF_INLINE_NOT_IN_HEADERS
25852 // ConvolutionParameter
25853
25854 // optional uint32 num_output = 1;
25855 bool ConvolutionParameter::has_num_output() const {
25856   return (_has_bits_[0] & 0x00000001u) != 0;
25857 }
25858 void ConvolutionParameter::set_has_num_output() {
25859   _has_bits_[0] |= 0x00000001u;
25860 }
25861 void ConvolutionParameter::clear_has_num_output() {
25862   _has_bits_[0] &= ~0x00000001u;
25863 }
25864 void ConvolutionParameter::clear_num_output() {
25865   num_output_ = 0u;
25866   clear_has_num_output();
25867 }
25868 ::google::protobuf::uint32 ConvolutionParameter::num_output() const {
25869   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.num_output)
25870   return num_output_;
25871 }
25872 void ConvolutionParameter::set_num_output(::google::protobuf::uint32 value) {
25873   set_has_num_output();
25874   num_output_ = value;
25875   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.num_output)
25876 }
25877
25878 // optional bool bias_term = 2 [default = true];
25879 bool ConvolutionParameter::has_bias_term() const {
25880   return (_has_bits_[0] & 0x00000002u) != 0;
25881 }
25882 void ConvolutionParameter::set_has_bias_term() {
25883   _has_bits_[0] |= 0x00000002u;
25884 }
25885 void ConvolutionParameter::clear_has_bias_term() {
25886   _has_bits_[0] &= ~0x00000002u;
25887 }
25888 void ConvolutionParameter::clear_bias_term() {
25889   bias_term_ = true;
25890   clear_has_bias_term();
25891 }
25892 bool ConvolutionParameter::bias_term() const {
25893   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_term)
25894   return bias_term_;
25895 }
25896 void ConvolutionParameter::set_bias_term(bool value) {
25897   set_has_bias_term();
25898   bias_term_ = value;
25899   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.bias_term)
25900 }
25901
25902 // repeated uint32 pad = 3;
25903 int ConvolutionParameter::pad_size() const {
25904   return pad_.size();
25905 }
25906 void ConvolutionParameter::clear_pad() {
25907   pad_.Clear();
25908 }
25909 ::google::protobuf::uint32 ConvolutionParameter::pad(int index) const {
25910   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad)
25911   return pad_.Get(index);
25912 }
25913 void ConvolutionParameter::set_pad(int index, ::google::protobuf::uint32 value) {
25914   pad_.Set(index, value);
25915   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad)
25916 }
25917 void ConvolutionParameter::add_pad(::google::protobuf::uint32 value) {
25918   pad_.Add(value);
25919   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.pad)
25920 }
25921 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
25922 ConvolutionParameter::pad() const {
25923   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.pad)
25924   return pad_;
25925 }
25926 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
25927 ConvolutionParameter::mutable_pad() {
25928   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.pad)
25929   return &pad_;
25930 }
25931
25932 // repeated uint32 kernel_size = 4;
25933 int ConvolutionParameter::kernel_size_size() const {
25934   return kernel_size_.size();
25935 }
25936 void ConvolutionParameter::clear_kernel_size() {
25937   kernel_size_.Clear();
25938 }
25939 ::google::protobuf::uint32 ConvolutionParameter::kernel_size(int index) const {
25940   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_size)
25941   return kernel_size_.Get(index);
25942 }
25943 void ConvolutionParameter::set_kernel_size(int index, ::google::protobuf::uint32 value) {
25944   kernel_size_.Set(index, value);
25945   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_size)
25946 }
25947 void ConvolutionParameter::add_kernel_size(::google::protobuf::uint32 value) {
25948   kernel_size_.Add(value);
25949   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.kernel_size)
25950 }
25951 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
25952 ConvolutionParameter::kernel_size() const {
25953   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.kernel_size)
25954   return kernel_size_;
25955 }
25956 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
25957 ConvolutionParameter::mutable_kernel_size() {
25958   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.kernel_size)
25959   return &kernel_size_;
25960 }
25961
25962 // repeated uint32 stride = 6;
25963 int ConvolutionParameter::stride_size() const {
25964   return stride_.size();
25965 }
25966 void ConvolutionParameter::clear_stride() {
25967   stride_.Clear();
25968 }
25969 ::google::protobuf::uint32 ConvolutionParameter::stride(int index) const {
25970   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride)
25971   return stride_.Get(index);
25972 }
25973 void ConvolutionParameter::set_stride(int index, ::google::protobuf::uint32 value) {
25974   stride_.Set(index, value);
25975   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride)
25976 }
25977 void ConvolutionParameter::add_stride(::google::protobuf::uint32 value) {
25978   stride_.Add(value);
25979   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.stride)
25980 }
25981 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
25982 ConvolutionParameter::stride() const {
25983   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.stride)
25984   return stride_;
25985 }
25986 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
25987 ConvolutionParameter::mutable_stride() {
25988   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.stride)
25989   return &stride_;
25990 }
25991
25992 // repeated uint32 dilation = 18;
25993 int ConvolutionParameter::dilation_size() const {
25994   return dilation_.size();
25995 }
25996 void ConvolutionParameter::clear_dilation() {
25997   dilation_.Clear();
25998 }
25999 ::google::protobuf::uint32 ConvolutionParameter::dilation(int index) const {
26000   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.dilation)
26001   return dilation_.Get(index);
26002 }
26003 void ConvolutionParameter::set_dilation(int index, ::google::protobuf::uint32 value) {
26004   dilation_.Set(index, value);
26005   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.dilation)
26006 }
26007 void ConvolutionParameter::add_dilation(::google::protobuf::uint32 value) {
26008   dilation_.Add(value);
26009   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.dilation)
26010 }
26011 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
26012 ConvolutionParameter::dilation() const {
26013   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.dilation)
26014   return dilation_;
26015 }
26016 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
26017 ConvolutionParameter::mutable_dilation() {
26018   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.dilation)
26019   return &dilation_;
26020 }
26021
26022 // optional uint32 pad_h = 9 [default = 0];
26023 bool ConvolutionParameter::has_pad_h() const {
26024   return (_has_bits_[0] & 0x00000040u) != 0;
26025 }
26026 void ConvolutionParameter::set_has_pad_h() {
26027   _has_bits_[0] |= 0x00000040u;
26028 }
26029 void ConvolutionParameter::clear_has_pad_h() {
26030   _has_bits_[0] &= ~0x00000040u;
26031 }
26032 void ConvolutionParameter::clear_pad_h() {
26033   pad_h_ = 0u;
26034   clear_has_pad_h();
26035 }
26036 ::google::protobuf::uint32 ConvolutionParameter::pad_h() const {
26037   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_h)
26038   return pad_h_;
26039 }
26040 void ConvolutionParameter::set_pad_h(::google::protobuf::uint32 value) {
26041   set_has_pad_h();
26042   pad_h_ = value;
26043   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_h)
26044 }
26045
26046 // optional uint32 pad_w = 10 [default = 0];
26047 bool ConvolutionParameter::has_pad_w() const {
26048   return (_has_bits_[0] & 0x00000080u) != 0;
26049 }
26050 void ConvolutionParameter::set_has_pad_w() {
26051   _has_bits_[0] |= 0x00000080u;
26052 }
26053 void ConvolutionParameter::clear_has_pad_w() {
26054   _has_bits_[0] &= ~0x00000080u;
26055 }
26056 void ConvolutionParameter::clear_pad_w() {
26057   pad_w_ = 0u;
26058   clear_has_pad_w();
26059 }
26060 ::google::protobuf::uint32 ConvolutionParameter::pad_w() const {
26061   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_w)
26062   return pad_w_;
26063 }
26064 void ConvolutionParameter::set_pad_w(::google::protobuf::uint32 value) {
26065   set_has_pad_w();
26066   pad_w_ = value;
26067   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_w)
26068 }
26069
26070 // optional uint32 kernel_h = 11;
26071 bool ConvolutionParameter::has_kernel_h() const {
26072   return (_has_bits_[0] & 0x00000100u) != 0;
26073 }
26074 void ConvolutionParameter::set_has_kernel_h() {
26075   _has_bits_[0] |= 0x00000100u;
26076 }
26077 void ConvolutionParameter::clear_has_kernel_h() {
26078   _has_bits_[0] &= ~0x00000100u;
26079 }
26080 void ConvolutionParameter::clear_kernel_h() {
26081   kernel_h_ = 0u;
26082   clear_has_kernel_h();
26083 }
26084 ::google::protobuf::uint32 ConvolutionParameter::kernel_h() const {
26085   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_h)
26086   return kernel_h_;
26087 }
26088 void ConvolutionParameter::set_kernel_h(::google::protobuf::uint32 value) {
26089   set_has_kernel_h();
26090   kernel_h_ = value;
26091   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_h)
26092 }
26093
26094 // optional uint32 kernel_w = 12;
26095 bool ConvolutionParameter::has_kernel_w() const {
26096   return (_has_bits_[0] & 0x00000200u) != 0;
26097 }
26098 void ConvolutionParameter::set_has_kernel_w() {
26099   _has_bits_[0] |= 0x00000200u;
26100 }
26101 void ConvolutionParameter::clear_has_kernel_w() {
26102   _has_bits_[0] &= ~0x00000200u;
26103 }
26104 void ConvolutionParameter::clear_kernel_w() {
26105   kernel_w_ = 0u;
26106   clear_has_kernel_w();
26107 }
26108 ::google::protobuf::uint32 ConvolutionParameter::kernel_w() const {
26109   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_w)
26110   return kernel_w_;
26111 }
26112 void ConvolutionParameter::set_kernel_w(::google::protobuf::uint32 value) {
26113   set_has_kernel_w();
26114   kernel_w_ = value;
26115   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_w)
26116 }
26117
26118 // optional uint32 stride_h = 13;
26119 bool ConvolutionParameter::has_stride_h() const {
26120   return (_has_bits_[0] & 0x00000400u) != 0;
26121 }
26122 void ConvolutionParameter::set_has_stride_h() {
26123   _has_bits_[0] |= 0x00000400u;
26124 }
26125 void ConvolutionParameter::clear_has_stride_h() {
26126   _has_bits_[0] &= ~0x00000400u;
26127 }
26128 void ConvolutionParameter::clear_stride_h() {
26129   stride_h_ = 0u;
26130   clear_has_stride_h();
26131 }
26132 ::google::protobuf::uint32 ConvolutionParameter::stride_h() const {
26133   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_h)
26134   return stride_h_;
26135 }
26136 void ConvolutionParameter::set_stride_h(::google::protobuf::uint32 value) {
26137   set_has_stride_h();
26138   stride_h_ = value;
26139   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_h)
26140 }
26141
26142 // optional uint32 stride_w = 14;
26143 bool ConvolutionParameter::has_stride_w() const {
26144   return (_has_bits_[0] & 0x00000800u) != 0;
26145 }
26146 void ConvolutionParameter::set_has_stride_w() {
26147   _has_bits_[0] |= 0x00000800u;
26148 }
26149 void ConvolutionParameter::clear_has_stride_w() {
26150   _has_bits_[0] &= ~0x00000800u;
26151 }
26152 void ConvolutionParameter::clear_stride_w() {
26153   stride_w_ = 0u;
26154   clear_has_stride_w();
26155 }
26156 ::google::protobuf::uint32 ConvolutionParameter::stride_w() const {
26157   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_w)
26158   return stride_w_;
26159 }
26160 void ConvolutionParameter::set_stride_w(::google::protobuf::uint32 value) {
26161   set_has_stride_w();
26162   stride_w_ = value;
26163   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_w)
26164 }
26165
26166 // optional uint32 group = 5 [default = 1];
26167 bool ConvolutionParameter::has_group() const {
26168   return (_has_bits_[0] & 0x00001000u) != 0;
26169 }
26170 void ConvolutionParameter::set_has_group() {
26171   _has_bits_[0] |= 0x00001000u;
26172 }
26173 void ConvolutionParameter::clear_has_group() {
26174   _has_bits_[0] &= ~0x00001000u;
26175 }
26176 void ConvolutionParameter::clear_group() {
26177   group_ = 1u;
26178   clear_has_group();
26179 }
26180 ::google::protobuf::uint32 ConvolutionParameter::group() const {
26181   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.group)
26182   return group_;
26183 }
26184 void ConvolutionParameter::set_group(::google::protobuf::uint32 value) {
26185   set_has_group();
26186   group_ = value;
26187   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.group)
26188 }
26189
26190 // optional .opencv_caffe.FillerParameter weight_filler = 7;
26191 bool ConvolutionParameter::has_weight_filler() const {
26192   return (_has_bits_[0] & 0x00002000u) != 0;
26193 }
26194 void ConvolutionParameter::set_has_weight_filler() {
26195   _has_bits_[0] |= 0x00002000u;
26196 }
26197 void ConvolutionParameter::clear_has_weight_filler() {
26198   _has_bits_[0] &= ~0x00002000u;
26199 }
26200 void ConvolutionParameter::clear_weight_filler() {
26201   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
26202   clear_has_weight_filler();
26203 }
26204 const ::opencv_caffe::FillerParameter& ConvolutionParameter::weight_filler() const {
26205   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.weight_filler)
26206   return weight_filler_ != NULL ? *weight_filler_
26207                          : *::opencv_caffe::FillerParameter::internal_default_instance();
26208 }
26209 ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_weight_filler() {
26210   set_has_weight_filler();
26211   if (weight_filler_ == NULL) {
26212     weight_filler_ = new ::opencv_caffe::FillerParameter;
26213   }
26214   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.weight_filler)
26215   return weight_filler_;
26216 }
26217 ::opencv_caffe::FillerParameter* ConvolutionParameter::release_weight_filler() {
26218   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.weight_filler)
26219   clear_has_weight_filler();
26220   ::opencv_caffe::FillerParameter* temp = weight_filler_;
26221   weight_filler_ = NULL;
26222   return temp;
26223 }
26224 void ConvolutionParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
26225   delete weight_filler_;
26226   weight_filler_ = weight_filler;
26227   if (weight_filler) {
26228     set_has_weight_filler();
26229   } else {
26230     clear_has_weight_filler();
26231   }
26232   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.weight_filler)
26233 }
26234
26235 // optional .opencv_caffe.FillerParameter bias_filler = 8;
26236 bool ConvolutionParameter::has_bias_filler() const {
26237   return (_has_bits_[0] & 0x00004000u) != 0;
26238 }
26239 void ConvolutionParameter::set_has_bias_filler() {
26240   _has_bits_[0] |= 0x00004000u;
26241 }
26242 void ConvolutionParameter::clear_has_bias_filler() {
26243   _has_bits_[0] &= ~0x00004000u;
26244 }
26245 void ConvolutionParameter::clear_bias_filler() {
26246   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
26247   clear_has_bias_filler();
26248 }
26249 const ::opencv_caffe::FillerParameter& ConvolutionParameter::bias_filler() const {
26250   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_filler)
26251   return bias_filler_ != NULL ? *bias_filler_
26252                          : *::opencv_caffe::FillerParameter::internal_default_instance();
26253 }
26254 ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_bias_filler() {
26255   set_has_bias_filler();
26256   if (bias_filler_ == NULL) {
26257     bias_filler_ = new ::opencv_caffe::FillerParameter;
26258   }
26259   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.bias_filler)
26260   return bias_filler_;
26261 }
26262 ::opencv_caffe::FillerParameter* ConvolutionParameter::release_bias_filler() {
26263   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.bias_filler)
26264   clear_has_bias_filler();
26265   ::opencv_caffe::FillerParameter* temp = bias_filler_;
26266   bias_filler_ = NULL;
26267   return temp;
26268 }
26269 void ConvolutionParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
26270   delete bias_filler_;
26271   bias_filler_ = bias_filler;
26272   if (bias_filler) {
26273     set_has_bias_filler();
26274   } else {
26275     clear_has_bias_filler();
26276   }
26277   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.bias_filler)
26278 }
26279
26280 // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
26281 bool ConvolutionParameter::has_engine() const {
26282   return (_has_bits_[0] & 0x00008000u) != 0;
26283 }
26284 void ConvolutionParameter::set_has_engine() {
26285   _has_bits_[0] |= 0x00008000u;
26286 }
26287 void ConvolutionParameter::clear_has_engine() {
26288   _has_bits_[0] &= ~0x00008000u;
26289 }
26290 void ConvolutionParameter::clear_engine() {
26291   engine_ = 0;
26292   clear_has_engine();
26293 }
26294 ::opencv_caffe::ConvolutionParameter_Engine ConvolutionParameter::engine() const {
26295   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.engine)
26296   return static_cast< ::opencv_caffe::ConvolutionParameter_Engine >(engine_);
26297 }
26298 void ConvolutionParameter::set_engine(::opencv_caffe::ConvolutionParameter_Engine value) {
26299   assert(::opencv_caffe::ConvolutionParameter_Engine_IsValid(value));
26300   set_has_engine();
26301   engine_ = value;
26302   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.engine)
26303 }
26304
26305 // optional int32 axis = 16 [default = 1];
26306 bool ConvolutionParameter::has_axis() const {
26307   return (_has_bits_[0] & 0x00010000u) != 0;
26308 }
26309 void ConvolutionParameter::set_has_axis() {
26310   _has_bits_[0] |= 0x00010000u;
26311 }
26312 void ConvolutionParameter::clear_has_axis() {
26313   _has_bits_[0] &= ~0x00010000u;
26314 }
26315 void ConvolutionParameter::clear_axis() {
26316   axis_ = 1;
26317   clear_has_axis();
26318 }
26319 ::google::protobuf::int32 ConvolutionParameter::axis() const {
26320   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.axis)
26321   return axis_;
26322 }
26323 void ConvolutionParameter::set_axis(::google::protobuf::int32 value) {
26324   set_has_axis();
26325   axis_ = value;
26326   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.axis)
26327 }
26328
26329 // optional bool force_nd_im2col = 17 [default = false];
26330 bool ConvolutionParameter::has_force_nd_im2col() const {
26331   return (_has_bits_[0] & 0x00020000u) != 0;
26332 }
26333 void ConvolutionParameter::set_has_force_nd_im2col() {
26334   _has_bits_[0] |= 0x00020000u;
26335 }
26336 void ConvolutionParameter::clear_has_force_nd_im2col() {
26337   _has_bits_[0] &= ~0x00020000u;
26338 }
26339 void ConvolutionParameter::clear_force_nd_im2col() {
26340   force_nd_im2col_ = false;
26341   clear_has_force_nd_im2col();
26342 }
26343 bool ConvolutionParameter::force_nd_im2col() const {
26344   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.force_nd_im2col)
26345   return force_nd_im2col_;
26346 }
26347 void ConvolutionParameter::set_force_nd_im2col(bool value) {
26348   set_has_force_nd_im2col();
26349   force_nd_im2col_ = value;
26350   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.force_nd_im2col)
26351 }
26352
26353 inline const ConvolutionParameter* ConvolutionParameter::internal_default_instance() {
26354   return &ConvolutionParameter_default_instance_.get();
26355 }
26356 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
26357
26358 // ===================================================================
26359
26360 #if !defined(_MSC_VER) || _MSC_VER >= 1900
26361 const int CropParameter::kAxisFieldNumber;
26362 const int CropParameter::kOffsetFieldNumber;
26363 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
26364
26365 CropParameter::CropParameter()
26366   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
26367   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26368   SharedCtor();
26369   // @@protoc_insertion_point(constructor:opencv_caffe.CropParameter)
26370 }
26371
26372 void CropParameter::InitAsDefaultInstance() {
26373 }
26374
26375 CropParameter::CropParameter(const CropParameter& from)
26376   : ::google::protobuf::Message(),
26377     _internal_metadata_(NULL) {
26378   SharedCtor();
26379   UnsafeMergeFrom(from);
26380   // @@protoc_insertion_point(copy_constructor:opencv_caffe.CropParameter)
26381 }
26382
26383 void CropParameter::SharedCtor() {
26384   _cached_size_ = 0;
26385   axis_ = 2;
26386 }
26387
26388 CropParameter::~CropParameter() {
26389   // @@protoc_insertion_point(destructor:opencv_caffe.CropParameter)
26390   SharedDtor();
26391 }
26392
26393 void CropParameter::SharedDtor() {
26394 }
26395
26396 void CropParameter::SetCachedSize(int size) const {
26397   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
26398   _cached_size_ = size;
26399   GOOGLE_SAFE_CONCURRENT_WRITES_END();
26400 }
26401 const ::google::protobuf::Descriptor* CropParameter::descriptor() {
26402   protobuf_AssignDescriptorsOnce();
26403   return CropParameter_descriptor_;
26404 }
26405
26406 const CropParameter& CropParameter::default_instance() {
26407   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26408   return *internal_default_instance();
26409 }
26410
26411 ::google::protobuf::internal::ExplicitlyConstructed<CropParameter> CropParameter_default_instance_;
26412
26413 CropParameter* CropParameter::New(::google::protobuf::Arena* arena) const {
26414   CropParameter* n = new CropParameter;
26415   if (arena != NULL) {
26416     arena->Own(n);
26417   }
26418   return n;
26419 }
26420
26421 void CropParameter::Clear() {
26422 // @@protoc_insertion_point(message_clear_start:opencv_caffe.CropParameter)
26423   axis_ = 2;
26424   offset_.Clear();
26425   _has_bits_.Clear();
26426   if (_internal_metadata_.have_unknown_fields()) {
26427     mutable_unknown_fields()->Clear();
26428   }
26429 }
26430
26431 bool CropParameter::MergePartialFromCodedStream(
26432     ::google::protobuf::io::CodedInputStream* input) {
26433 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
26434   ::google::protobuf::uint32 tag;
26435   // @@protoc_insertion_point(parse_start:opencv_caffe.CropParameter)
26436   for (;;) {
26437     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
26438     tag = p.first;
26439     if (!p.second) goto handle_unusual;
26440     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
26441       // optional int32 axis = 1 [default = 2];
26442       case 1: {
26443         if (tag == 8) {
26444           set_has_axis();
26445           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26446                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
26447                  input, &axis_)));
26448         } else {
26449           goto handle_unusual;
26450         }
26451         if (input->ExpectTag(16)) goto parse_offset;
26452         break;
26453       }
26454
26455       // repeated uint32 offset = 2;
26456       case 2: {
26457         if (tag == 16) {
26458          parse_offset:
26459           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
26460                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
26461                  1, 16, input, this->mutable_offset())));
26462         } else if (tag == 18) {
26463           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
26464                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
26465                  input, this->mutable_offset())));
26466         } else {
26467           goto handle_unusual;
26468         }
26469         if (input->ExpectTag(16)) goto parse_offset;
26470         if (input->ExpectAtEnd()) goto success;
26471         break;
26472       }
26473
26474       default: {
26475       handle_unusual:
26476         if (tag == 0 ||
26477             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
26478             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
26479           goto success;
26480         }
26481         DO_(::google::protobuf::internal::WireFormat::SkipField(
26482               input, tag, mutable_unknown_fields()));
26483         break;
26484       }
26485     }
26486   }
26487 success:
26488   // @@protoc_insertion_point(parse_success:opencv_caffe.CropParameter)
26489   return true;
26490 failure:
26491   // @@protoc_insertion_point(parse_failure:opencv_caffe.CropParameter)
26492   return false;
26493 #undef DO_
26494 }
26495
26496 void CropParameter::SerializeWithCachedSizes(
26497     ::google::protobuf::io::CodedOutputStream* output) const {
26498   // @@protoc_insertion_point(serialize_start:opencv_caffe.CropParameter)
26499   // optional int32 axis = 1 [default = 2];
26500   if (has_axis()) {
26501     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
26502   }
26503
26504   // repeated uint32 offset = 2;
26505   for (int i = 0; i < this->offset_size(); i++) {
26506     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
26507       2, this->offset(i), output);
26508   }
26509
26510   if (_internal_metadata_.have_unknown_fields()) {
26511     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
26512         unknown_fields(), output);
26513   }
26514   // @@protoc_insertion_point(serialize_end:opencv_caffe.CropParameter)
26515 }
26516
26517 ::google::protobuf::uint8* CropParameter::InternalSerializeWithCachedSizesToArray(
26518     bool deterministic, ::google::protobuf::uint8* target) const {
26519   (void)deterministic; // Unused
26520   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.CropParameter)
26521   // optional int32 axis = 1 [default = 2];
26522   if (has_axis()) {
26523     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
26524   }
26525
26526   // repeated uint32 offset = 2;
26527   for (int i = 0; i < this->offset_size(); i++) {
26528     target = ::google::protobuf::internal::WireFormatLite::
26529       WriteUInt32ToArray(2, this->offset(i), target);
26530   }
26531
26532   if (_internal_metadata_.have_unknown_fields()) {
26533     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
26534         unknown_fields(), target);
26535   }
26536   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.CropParameter)
26537   return target;
26538 }
26539
26540 size_t CropParameter::ByteSizeLong() const {
26541 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.CropParameter)
26542   size_t total_size = 0;
26543
26544   // optional int32 axis = 1 [default = 2];
26545   if (has_axis()) {
26546     total_size += 1 +
26547       ::google::protobuf::internal::WireFormatLite::Int32Size(
26548         this->axis());
26549   }
26550
26551   // repeated uint32 offset = 2;
26552   {
26553     size_t data_size = 0;
26554     unsigned int count = this->offset_size();
26555     for (unsigned int i = 0; i < count; i++) {
26556       data_size += ::google::protobuf::internal::WireFormatLite::
26557         UInt32Size(this->offset(i));
26558     }
26559     total_size += 1 *
26560                   ::google::protobuf::internal::FromIntSize(this->offset_size());
26561     total_size += data_size;
26562   }
26563
26564   if (_internal_metadata_.have_unknown_fields()) {
26565     total_size +=
26566       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
26567         unknown_fields());
26568   }
26569   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
26570   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
26571   _cached_size_ = cached_size;
26572   GOOGLE_SAFE_CONCURRENT_WRITES_END();
26573   return total_size;
26574 }
26575
26576 void CropParameter::MergeFrom(const ::google::protobuf::Message& from) {
26577 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.CropParameter)
26578   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
26579   const CropParameter* source =
26580       ::google::protobuf::internal::DynamicCastToGenerated<const CropParameter>(
26581           &from);
26582   if (source == NULL) {
26583   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.CropParameter)
26584     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
26585   } else {
26586   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.CropParameter)
26587     UnsafeMergeFrom(*source);
26588   }
26589 }
26590
26591 void CropParameter::MergeFrom(const CropParameter& from) {
26592 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.CropParameter)
26593   if (GOOGLE_PREDICT_TRUE(&from != this)) {
26594     UnsafeMergeFrom(from);
26595   } else {
26596     MergeFromFail(__LINE__);
26597   }
26598 }
26599
26600 void CropParameter::UnsafeMergeFrom(const CropParameter& from) {
26601   GOOGLE_DCHECK(&from != this);
26602   offset_.UnsafeMergeFrom(from.offset_);
26603   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
26604     if (from.has_axis()) {
26605       set_axis(from.axis());
26606     }
26607   }
26608   if (from._internal_metadata_.have_unknown_fields()) {
26609     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
26610       from.unknown_fields(), &_internal_metadata_);
26611   }
26612 }
26613
26614 void CropParameter::CopyFrom(const ::google::protobuf::Message& from) {
26615 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.CropParameter)
26616   if (&from == this) return;
26617   Clear();
26618   MergeFrom(from);
26619 }
26620
26621 void CropParameter::CopyFrom(const CropParameter& from) {
26622 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.CropParameter)
26623   if (&from == this) return;
26624   Clear();
26625   UnsafeMergeFrom(from);
26626 }
26627
26628 bool CropParameter::IsInitialized() const {
26629
26630   return true;
26631 }
26632
26633 void CropParameter::Swap(CropParameter* other) {
26634   if (other == this) return;
26635   InternalSwap(other);
26636 }
26637 void CropParameter::InternalSwap(CropParameter* other) {
26638   std::swap(axis_, other->axis_);
26639   offset_.UnsafeArenaSwap(&other->offset_);
26640   std::swap(_has_bits_[0], other->_has_bits_[0]);
26641   _internal_metadata_.Swap(&other->_internal_metadata_);
26642   std::swap(_cached_size_, other->_cached_size_);
26643 }
26644
26645 ::google::protobuf::Metadata CropParameter::GetMetadata() const {
26646   protobuf_AssignDescriptorsOnce();
26647   ::google::protobuf::Metadata metadata;
26648   metadata.descriptor = CropParameter_descriptor_;
26649   metadata.reflection = CropParameter_reflection_;
26650   return metadata;
26651 }
26652
26653 #if PROTOBUF_INLINE_NOT_IN_HEADERS
26654 // CropParameter
26655
26656 // optional int32 axis = 1 [default = 2];
26657 bool CropParameter::has_axis() const {
26658   return (_has_bits_[0] & 0x00000001u) != 0;
26659 }
26660 void CropParameter::set_has_axis() {
26661   _has_bits_[0] |= 0x00000001u;
26662 }
26663 void CropParameter::clear_has_axis() {
26664   _has_bits_[0] &= ~0x00000001u;
26665 }
26666 void CropParameter::clear_axis() {
26667   axis_ = 2;
26668   clear_has_axis();
26669 }
26670 ::google::protobuf::int32 CropParameter::axis() const {
26671   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.axis)
26672   return axis_;
26673 }
26674 void CropParameter::set_axis(::google::protobuf::int32 value) {
26675   set_has_axis();
26676   axis_ = value;
26677   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.axis)
26678 }
26679
26680 // repeated uint32 offset = 2;
26681 int CropParameter::offset_size() const {
26682   return offset_.size();
26683 }
26684 void CropParameter::clear_offset() {
26685   offset_.Clear();
26686 }
26687 ::google::protobuf::uint32 CropParameter::offset(int index) const {
26688   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.offset)
26689   return offset_.Get(index);
26690 }
26691 void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) {
26692   offset_.Set(index, value);
26693   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.offset)
26694 }
26695 void CropParameter::add_offset(::google::protobuf::uint32 value) {
26696   offset_.Add(value);
26697   // @@protoc_insertion_point(field_add:opencv_caffe.CropParameter.offset)
26698 }
26699 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
26700 CropParameter::offset() const {
26701   // @@protoc_insertion_point(field_list:opencv_caffe.CropParameter.offset)
26702   return offset_;
26703 }
26704 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
26705 CropParameter::mutable_offset() {
26706   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.CropParameter.offset)
26707   return &offset_;
26708 }
26709
26710 inline const CropParameter* CropParameter::internal_default_instance() {
26711   return &CropParameter_default_instance_.get();
26712 }
26713 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
26714
26715 // ===================================================================
26716
26717 const ::google::protobuf::EnumDescriptor* DataParameter_DB_descriptor() {
26718   protobuf_AssignDescriptorsOnce();
26719   return DataParameter_DB_descriptor_;
26720 }
26721 bool DataParameter_DB_IsValid(int value) {
26722   switch (value) {
26723     case 0:
26724     case 1:
26725       return true;
26726     default:
26727       return false;
26728   }
26729 }
26730
26731 #if !defined(_MSC_VER) || _MSC_VER >= 1900
26732 const DataParameter_DB DataParameter::LEVELDB;
26733 const DataParameter_DB DataParameter::LMDB;
26734 const DataParameter_DB DataParameter::DB_MIN;
26735 const DataParameter_DB DataParameter::DB_MAX;
26736 const int DataParameter::DB_ARRAYSIZE;
26737 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
26738 #if !defined(_MSC_VER) || _MSC_VER >= 1900
26739 const int DataParameter::kSourceFieldNumber;
26740 const int DataParameter::kBatchSizeFieldNumber;
26741 const int DataParameter::kRandSkipFieldNumber;
26742 const int DataParameter::kBackendFieldNumber;
26743 const int DataParameter::kScaleFieldNumber;
26744 const int DataParameter::kMeanFileFieldNumber;
26745 const int DataParameter::kCropSizeFieldNumber;
26746 const int DataParameter::kMirrorFieldNumber;
26747 const int DataParameter::kForceEncodedColorFieldNumber;
26748 const int DataParameter::kPrefetchFieldNumber;
26749 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
26750
26751 DataParameter::DataParameter()
26752   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
26753   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26754   SharedCtor();
26755   // @@protoc_insertion_point(constructor:opencv_caffe.DataParameter)
26756 }
26757
26758 void DataParameter::InitAsDefaultInstance() {
26759 }
26760
26761 DataParameter::DataParameter(const DataParameter& from)
26762   : ::google::protobuf::Message(),
26763     _internal_metadata_(NULL) {
26764   SharedCtor();
26765   UnsafeMergeFrom(from);
26766   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DataParameter)
26767 }
26768
26769 void DataParameter::SharedCtor() {
26770   _cached_size_ = 0;
26771   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26772   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26773   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&force_encoded_color_) -
26774     reinterpret_cast<char*>(&batch_size_) + sizeof(force_encoded_color_));
26775   scale_ = 1;
26776   prefetch_ = 4u;
26777 }
26778
26779 DataParameter::~DataParameter() {
26780   // @@protoc_insertion_point(destructor:opencv_caffe.DataParameter)
26781   SharedDtor();
26782 }
26783
26784 void DataParameter::SharedDtor() {
26785   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26786   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26787 }
26788
26789 void DataParameter::SetCachedSize(int size) const {
26790   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
26791   _cached_size_ = size;
26792   GOOGLE_SAFE_CONCURRENT_WRITES_END();
26793 }
26794 const ::google::protobuf::Descriptor* DataParameter::descriptor() {
26795   protobuf_AssignDescriptorsOnce();
26796   return DataParameter_descriptor_;
26797 }
26798
26799 const DataParameter& DataParameter::default_instance() {
26800   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
26801   return *internal_default_instance();
26802 }
26803
26804 ::google::protobuf::internal::ExplicitlyConstructed<DataParameter> DataParameter_default_instance_;
26805
26806 DataParameter* DataParameter::New(::google::protobuf::Arena* arena) const {
26807   DataParameter* n = new DataParameter;
26808   if (arena != NULL) {
26809     arena->Own(n);
26810   }
26811   return n;
26812 }
26813
26814 void DataParameter::Clear() {
26815 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DataParameter)
26816 #if defined(__clang__)
26817 #define ZR_HELPER_(f) \
26818   _Pragma("clang diagnostic push") \
26819   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
26820   __builtin_offsetof(DataParameter, f) \
26821   _Pragma("clang diagnostic pop")
26822 #else
26823 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
26824   &reinterpret_cast<DataParameter*>(16)->f)
26825 #endif
26826
26827 #define ZR_(first, last) do {\
26828   ::memset(&(first), 0,\
26829            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
26830 } while (0)
26831
26832   if (_has_bits_[0 / 32] & 255u) {
26833     ZR_(batch_size_, mirror_);
26834     if (has_source()) {
26835       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26836     }
26837     scale_ = 1;
26838     if (has_mean_file()) {
26839       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
26840     }
26841   }
26842   if (_has_bits_[8 / 32] & 768u) {
26843     force_encoded_color_ = false;
26844     prefetch_ = 4u;
26845   }
26846
26847 #undef ZR_HELPER_
26848 #undef ZR_
26849
26850   _has_bits_.Clear();
26851   if (_internal_metadata_.have_unknown_fields()) {
26852     mutable_unknown_fields()->Clear();
26853   }
26854 }
26855
26856 bool DataParameter::MergePartialFromCodedStream(
26857     ::google::protobuf::io::CodedInputStream* input) {
26858 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
26859   ::google::protobuf::uint32 tag;
26860   // @@protoc_insertion_point(parse_start:opencv_caffe.DataParameter)
26861   for (;;) {
26862     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
26863     tag = p.first;
26864     if (!p.second) goto handle_unusual;
26865     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
26866       // optional string source = 1;
26867       case 1: {
26868         if (tag == 10) {
26869           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
26870                 input, this->mutable_source()));
26871           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
26872             this->source().data(), this->source().length(),
26873             ::google::protobuf::internal::WireFormat::PARSE,
26874             "opencv_caffe.DataParameter.source");
26875         } else {
26876           goto handle_unusual;
26877         }
26878         if (input->ExpectTag(21)) goto parse_scale;
26879         break;
26880       }
26881
26882       // optional float scale = 2 [default = 1];
26883       case 2: {
26884         if (tag == 21) {
26885          parse_scale:
26886           set_has_scale();
26887           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26888                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
26889                  input, &scale_)));
26890         } else {
26891           goto handle_unusual;
26892         }
26893         if (input->ExpectTag(26)) goto parse_mean_file;
26894         break;
26895       }
26896
26897       // optional string mean_file = 3;
26898       case 3: {
26899         if (tag == 26) {
26900          parse_mean_file:
26901           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
26902                 input, this->mutable_mean_file()));
26903           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
26904             this->mean_file().data(), this->mean_file().length(),
26905             ::google::protobuf::internal::WireFormat::PARSE,
26906             "opencv_caffe.DataParameter.mean_file");
26907         } else {
26908           goto handle_unusual;
26909         }
26910         if (input->ExpectTag(32)) goto parse_batch_size;
26911         break;
26912       }
26913
26914       // optional uint32 batch_size = 4;
26915       case 4: {
26916         if (tag == 32) {
26917          parse_batch_size:
26918           set_has_batch_size();
26919           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26920                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
26921                  input, &batch_size_)));
26922         } else {
26923           goto handle_unusual;
26924         }
26925         if (input->ExpectTag(40)) goto parse_crop_size;
26926         break;
26927       }
26928
26929       // optional uint32 crop_size = 5 [default = 0];
26930       case 5: {
26931         if (tag == 40) {
26932          parse_crop_size:
26933           set_has_crop_size();
26934           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26935                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
26936                  input, &crop_size_)));
26937         } else {
26938           goto handle_unusual;
26939         }
26940         if (input->ExpectTag(48)) goto parse_mirror;
26941         break;
26942       }
26943
26944       // optional bool mirror = 6 [default = false];
26945       case 6: {
26946         if (tag == 48) {
26947          parse_mirror:
26948           set_has_mirror();
26949           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26950                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
26951                  input, &mirror_)));
26952         } else {
26953           goto handle_unusual;
26954         }
26955         if (input->ExpectTag(56)) goto parse_rand_skip;
26956         break;
26957       }
26958
26959       // optional uint32 rand_skip = 7 [default = 0];
26960       case 7: {
26961         if (tag == 56) {
26962          parse_rand_skip:
26963           set_has_rand_skip();
26964           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26965                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
26966                  input, &rand_skip_)));
26967         } else {
26968           goto handle_unusual;
26969         }
26970         if (input->ExpectTag(64)) goto parse_backend;
26971         break;
26972       }
26973
26974       // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
26975       case 8: {
26976         if (tag == 64) {
26977          parse_backend:
26978           int value;
26979           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
26980                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
26981                  input, &value)));
26982           if (::opencv_caffe::DataParameter_DB_IsValid(value)) {
26983             set_backend(static_cast< ::opencv_caffe::DataParameter_DB >(value));
26984           } else {
26985             mutable_unknown_fields()->AddVarint(8, value);
26986           }
26987         } else {
26988           goto handle_unusual;
26989         }
26990         if (input->ExpectTag(72)) goto parse_force_encoded_color;
26991         break;
26992       }
26993
26994       // optional bool force_encoded_color = 9 [default = false];
26995       case 9: {
26996         if (tag == 72) {
26997          parse_force_encoded_color:
26998           set_has_force_encoded_color();
26999           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27000                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
27001                  input, &force_encoded_color_)));
27002         } else {
27003           goto handle_unusual;
27004         }
27005         if (input->ExpectTag(80)) goto parse_prefetch;
27006         break;
27007       }
27008
27009       // optional uint32 prefetch = 10 [default = 4];
27010       case 10: {
27011         if (tag == 80) {
27012          parse_prefetch:
27013           set_has_prefetch();
27014           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27015                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
27016                  input, &prefetch_)));
27017         } else {
27018           goto handle_unusual;
27019         }
27020         if (input->ExpectAtEnd()) goto success;
27021         break;
27022       }
27023
27024       default: {
27025       handle_unusual:
27026         if (tag == 0 ||
27027             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
27028             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
27029           goto success;
27030         }
27031         DO_(::google::protobuf::internal::WireFormat::SkipField(
27032               input, tag, mutable_unknown_fields()));
27033         break;
27034       }
27035     }
27036   }
27037 success:
27038   // @@protoc_insertion_point(parse_success:opencv_caffe.DataParameter)
27039   return true;
27040 failure:
27041   // @@protoc_insertion_point(parse_failure:opencv_caffe.DataParameter)
27042   return false;
27043 #undef DO_
27044 }
27045
27046 void DataParameter::SerializeWithCachedSizes(
27047     ::google::protobuf::io::CodedOutputStream* output) const {
27048   // @@protoc_insertion_point(serialize_start:opencv_caffe.DataParameter)
27049   // optional string source = 1;
27050   if (has_source()) {
27051     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27052       this->source().data(), this->source().length(),
27053       ::google::protobuf::internal::WireFormat::SERIALIZE,
27054       "opencv_caffe.DataParameter.source");
27055     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
27056       1, this->source(), output);
27057   }
27058
27059   // optional float scale = 2 [default = 1];
27060   if (has_scale()) {
27061     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
27062   }
27063
27064   // optional string mean_file = 3;
27065   if (has_mean_file()) {
27066     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27067       this->mean_file().data(), this->mean_file().length(),
27068       ::google::protobuf::internal::WireFormat::SERIALIZE,
27069       "opencv_caffe.DataParameter.mean_file");
27070     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
27071       3, this->mean_file(), output);
27072   }
27073
27074   // optional uint32 batch_size = 4;
27075   if (has_batch_size()) {
27076     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output);
27077   }
27078
27079   // optional uint32 crop_size = 5 [default = 0];
27080   if (has_crop_size()) {
27081     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output);
27082   }
27083
27084   // optional bool mirror = 6 [default = false];
27085   if (has_mirror()) {
27086     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output);
27087   }
27088
27089   // optional uint32 rand_skip = 7 [default = 0];
27090   if (has_rand_skip()) {
27091     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->rand_skip(), output);
27092   }
27093
27094   // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27095   if (has_backend()) {
27096     ::google::protobuf::internal::WireFormatLite::WriteEnum(
27097       8, this->backend(), output);
27098   }
27099
27100   // optional bool force_encoded_color = 9 [default = false];
27101   if (has_force_encoded_color()) {
27102     ::google::protobuf::internal::WireFormatLite::WriteBool(9, this->force_encoded_color(), output);
27103   }
27104
27105   // optional uint32 prefetch = 10 [default = 4];
27106   if (has_prefetch()) {
27107     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->prefetch(), output);
27108   }
27109
27110   if (_internal_metadata_.have_unknown_fields()) {
27111     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
27112         unknown_fields(), output);
27113   }
27114   // @@protoc_insertion_point(serialize_end:opencv_caffe.DataParameter)
27115 }
27116
27117 ::google::protobuf::uint8* DataParameter::InternalSerializeWithCachedSizesToArray(
27118     bool deterministic, ::google::protobuf::uint8* target) const {
27119   (void)deterministic; // Unused
27120   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DataParameter)
27121   // optional string source = 1;
27122   if (has_source()) {
27123     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27124       this->source().data(), this->source().length(),
27125       ::google::protobuf::internal::WireFormat::SERIALIZE,
27126       "opencv_caffe.DataParameter.source");
27127     target =
27128       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
27129         1, this->source(), target);
27130   }
27131
27132   // optional float scale = 2 [default = 1];
27133   if (has_scale()) {
27134     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
27135   }
27136
27137   // optional string mean_file = 3;
27138   if (has_mean_file()) {
27139     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
27140       this->mean_file().data(), this->mean_file().length(),
27141       ::google::protobuf::internal::WireFormat::SERIALIZE,
27142       "opencv_caffe.DataParameter.mean_file");
27143     target =
27144       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
27145         3, this->mean_file(), target);
27146   }
27147
27148   // optional uint32 batch_size = 4;
27149   if (has_batch_size()) {
27150     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target);
27151   }
27152
27153   // optional uint32 crop_size = 5 [default = 0];
27154   if (has_crop_size()) {
27155     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target);
27156   }
27157
27158   // optional bool mirror = 6 [default = false];
27159   if (has_mirror()) {
27160     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target);
27161   }
27162
27163   // optional uint32 rand_skip = 7 [default = 0];
27164   if (has_rand_skip()) {
27165     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->rand_skip(), target);
27166   }
27167
27168   // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27169   if (has_backend()) {
27170     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
27171       8, this->backend(), target);
27172   }
27173
27174   // optional bool force_encoded_color = 9 [default = false];
27175   if (has_force_encoded_color()) {
27176     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(9, this->force_encoded_color(), target);
27177   }
27178
27179   // optional uint32 prefetch = 10 [default = 4];
27180   if (has_prefetch()) {
27181     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->prefetch(), target);
27182   }
27183
27184   if (_internal_metadata_.have_unknown_fields()) {
27185     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
27186         unknown_fields(), target);
27187   }
27188   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DataParameter)
27189   return target;
27190 }
27191
27192 size_t DataParameter::ByteSizeLong() const {
27193 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DataParameter)
27194   size_t total_size = 0;
27195
27196   if (_has_bits_[0 / 32] & 255u) {
27197     // optional string source = 1;
27198     if (has_source()) {
27199       total_size += 1 +
27200         ::google::protobuf::internal::WireFormatLite::StringSize(
27201           this->source());
27202     }
27203
27204     // optional uint32 batch_size = 4;
27205     if (has_batch_size()) {
27206       total_size += 1 +
27207         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27208           this->batch_size());
27209     }
27210
27211     // optional uint32 rand_skip = 7 [default = 0];
27212     if (has_rand_skip()) {
27213       total_size += 1 +
27214         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27215           this->rand_skip());
27216     }
27217
27218     // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27219     if (has_backend()) {
27220       total_size += 1 +
27221         ::google::protobuf::internal::WireFormatLite::EnumSize(this->backend());
27222     }
27223
27224     // optional float scale = 2 [default = 1];
27225     if (has_scale()) {
27226       total_size += 1 + 4;
27227     }
27228
27229     // optional string mean_file = 3;
27230     if (has_mean_file()) {
27231       total_size += 1 +
27232         ::google::protobuf::internal::WireFormatLite::StringSize(
27233           this->mean_file());
27234     }
27235
27236     // optional uint32 crop_size = 5 [default = 0];
27237     if (has_crop_size()) {
27238       total_size += 1 +
27239         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27240           this->crop_size());
27241     }
27242
27243     // optional bool mirror = 6 [default = false];
27244     if (has_mirror()) {
27245       total_size += 1 + 1;
27246     }
27247
27248   }
27249   if (_has_bits_[8 / 32] & 768u) {
27250     // optional bool force_encoded_color = 9 [default = false];
27251     if (has_force_encoded_color()) {
27252       total_size += 1 + 1;
27253     }
27254
27255     // optional uint32 prefetch = 10 [default = 4];
27256     if (has_prefetch()) {
27257       total_size += 1 +
27258         ::google::protobuf::internal::WireFormatLite::UInt32Size(
27259           this->prefetch());
27260     }
27261
27262   }
27263   if (_internal_metadata_.have_unknown_fields()) {
27264     total_size +=
27265       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
27266         unknown_fields());
27267   }
27268   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
27269   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
27270   _cached_size_ = cached_size;
27271   GOOGLE_SAFE_CONCURRENT_WRITES_END();
27272   return total_size;
27273 }
27274
27275 void DataParameter::MergeFrom(const ::google::protobuf::Message& from) {
27276 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DataParameter)
27277   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
27278   const DataParameter* source =
27279       ::google::protobuf::internal::DynamicCastToGenerated<const DataParameter>(
27280           &from);
27281   if (source == NULL) {
27282   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DataParameter)
27283     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
27284   } else {
27285   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DataParameter)
27286     UnsafeMergeFrom(*source);
27287   }
27288 }
27289
27290 void DataParameter::MergeFrom(const DataParameter& from) {
27291 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DataParameter)
27292   if (GOOGLE_PREDICT_TRUE(&from != this)) {
27293     UnsafeMergeFrom(from);
27294   } else {
27295     MergeFromFail(__LINE__);
27296   }
27297 }
27298
27299 void DataParameter::UnsafeMergeFrom(const DataParameter& from) {
27300   GOOGLE_DCHECK(&from != this);
27301   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
27302     if (from.has_source()) {
27303       set_has_source();
27304       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
27305     }
27306     if (from.has_batch_size()) {
27307       set_batch_size(from.batch_size());
27308     }
27309     if (from.has_rand_skip()) {
27310       set_rand_skip(from.rand_skip());
27311     }
27312     if (from.has_backend()) {
27313       set_backend(from.backend());
27314     }
27315     if (from.has_scale()) {
27316       set_scale(from.scale());
27317     }
27318     if (from.has_mean_file()) {
27319       set_has_mean_file();
27320       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
27321     }
27322     if (from.has_crop_size()) {
27323       set_crop_size(from.crop_size());
27324     }
27325     if (from.has_mirror()) {
27326       set_mirror(from.mirror());
27327     }
27328   }
27329   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
27330     if (from.has_force_encoded_color()) {
27331       set_force_encoded_color(from.force_encoded_color());
27332     }
27333     if (from.has_prefetch()) {
27334       set_prefetch(from.prefetch());
27335     }
27336   }
27337   if (from._internal_metadata_.have_unknown_fields()) {
27338     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
27339       from.unknown_fields(), &_internal_metadata_);
27340   }
27341 }
27342
27343 void DataParameter::CopyFrom(const ::google::protobuf::Message& from) {
27344 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DataParameter)
27345   if (&from == this) return;
27346   Clear();
27347   MergeFrom(from);
27348 }
27349
27350 void DataParameter::CopyFrom(const DataParameter& from) {
27351 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DataParameter)
27352   if (&from == this) return;
27353   Clear();
27354   UnsafeMergeFrom(from);
27355 }
27356
27357 bool DataParameter::IsInitialized() const {
27358
27359   return true;
27360 }
27361
27362 void DataParameter::Swap(DataParameter* other) {
27363   if (other == this) return;
27364   InternalSwap(other);
27365 }
27366 void DataParameter::InternalSwap(DataParameter* other) {
27367   source_.Swap(&other->source_);
27368   std::swap(batch_size_, other->batch_size_);
27369   std::swap(rand_skip_, other->rand_skip_);
27370   std::swap(backend_, other->backend_);
27371   std::swap(scale_, other->scale_);
27372   mean_file_.Swap(&other->mean_file_);
27373   std::swap(crop_size_, other->crop_size_);
27374   std::swap(mirror_, other->mirror_);
27375   std::swap(force_encoded_color_, other->force_encoded_color_);
27376   std::swap(prefetch_, other->prefetch_);
27377   std::swap(_has_bits_[0], other->_has_bits_[0]);
27378   _internal_metadata_.Swap(&other->_internal_metadata_);
27379   std::swap(_cached_size_, other->_cached_size_);
27380 }
27381
27382 ::google::protobuf::Metadata DataParameter::GetMetadata() const {
27383   protobuf_AssignDescriptorsOnce();
27384   ::google::protobuf::Metadata metadata;
27385   metadata.descriptor = DataParameter_descriptor_;
27386   metadata.reflection = DataParameter_reflection_;
27387   return metadata;
27388 }
27389
27390 #if PROTOBUF_INLINE_NOT_IN_HEADERS
27391 // DataParameter
27392
27393 // optional string source = 1;
27394 bool DataParameter::has_source() const {
27395   return (_has_bits_[0] & 0x00000001u) != 0;
27396 }
27397 void DataParameter::set_has_source() {
27398   _has_bits_[0] |= 0x00000001u;
27399 }
27400 void DataParameter::clear_has_source() {
27401   _has_bits_[0] &= ~0x00000001u;
27402 }
27403 void DataParameter::clear_source() {
27404   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27405   clear_has_source();
27406 }
27407 const ::std::string& DataParameter::source() const {
27408   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.source)
27409   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27410 }
27411 void DataParameter::set_source(const ::std::string& value) {
27412   set_has_source();
27413   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27414   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.source)
27415 }
27416 void DataParameter::set_source(const char* value) {
27417   set_has_source();
27418   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27419   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.source)
27420 }
27421 void DataParameter::set_source(const char* value, size_t size) {
27422   set_has_source();
27423   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27424       ::std::string(reinterpret_cast<const char*>(value), size));
27425   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.source)
27426 }
27427 ::std::string* DataParameter::mutable_source() {
27428   set_has_source();
27429   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.source)
27430   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27431 }
27432 ::std::string* DataParameter::release_source() {
27433   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.source)
27434   clear_has_source();
27435   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27436 }
27437 void DataParameter::set_allocated_source(::std::string* source) {
27438   if (source != NULL) {
27439     set_has_source();
27440   } else {
27441     clear_has_source();
27442   }
27443   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
27444   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.source)
27445 }
27446
27447 // optional uint32 batch_size = 4;
27448 bool DataParameter::has_batch_size() const {
27449   return (_has_bits_[0] & 0x00000002u) != 0;
27450 }
27451 void DataParameter::set_has_batch_size() {
27452   _has_bits_[0] |= 0x00000002u;
27453 }
27454 void DataParameter::clear_has_batch_size() {
27455   _has_bits_[0] &= ~0x00000002u;
27456 }
27457 void DataParameter::clear_batch_size() {
27458   batch_size_ = 0u;
27459   clear_has_batch_size();
27460 }
27461 ::google::protobuf::uint32 DataParameter::batch_size() const {
27462   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.batch_size)
27463   return batch_size_;
27464 }
27465 void DataParameter::set_batch_size(::google::protobuf::uint32 value) {
27466   set_has_batch_size();
27467   batch_size_ = value;
27468   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.batch_size)
27469 }
27470
27471 // optional uint32 rand_skip = 7 [default = 0];
27472 bool DataParameter::has_rand_skip() const {
27473   return (_has_bits_[0] & 0x00000004u) != 0;
27474 }
27475 void DataParameter::set_has_rand_skip() {
27476   _has_bits_[0] |= 0x00000004u;
27477 }
27478 void DataParameter::clear_has_rand_skip() {
27479   _has_bits_[0] &= ~0x00000004u;
27480 }
27481 void DataParameter::clear_rand_skip() {
27482   rand_skip_ = 0u;
27483   clear_has_rand_skip();
27484 }
27485 ::google::protobuf::uint32 DataParameter::rand_skip() const {
27486   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.rand_skip)
27487   return rand_skip_;
27488 }
27489 void DataParameter::set_rand_skip(::google::protobuf::uint32 value) {
27490   set_has_rand_skip();
27491   rand_skip_ = value;
27492   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.rand_skip)
27493 }
27494
27495 // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
27496 bool DataParameter::has_backend() const {
27497   return (_has_bits_[0] & 0x00000008u) != 0;
27498 }
27499 void DataParameter::set_has_backend() {
27500   _has_bits_[0] |= 0x00000008u;
27501 }
27502 void DataParameter::clear_has_backend() {
27503   _has_bits_[0] &= ~0x00000008u;
27504 }
27505 void DataParameter::clear_backend() {
27506   backend_ = 0;
27507   clear_has_backend();
27508 }
27509 ::opencv_caffe::DataParameter_DB DataParameter::backend() const {
27510   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.backend)
27511   return static_cast< ::opencv_caffe::DataParameter_DB >(backend_);
27512 }
27513 void DataParameter::set_backend(::opencv_caffe::DataParameter_DB value) {
27514   assert(::opencv_caffe::DataParameter_DB_IsValid(value));
27515   set_has_backend();
27516   backend_ = value;
27517   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.backend)
27518 }
27519
27520 // optional float scale = 2 [default = 1];
27521 bool DataParameter::has_scale() const {
27522   return (_has_bits_[0] & 0x00000010u) != 0;
27523 }
27524 void DataParameter::set_has_scale() {
27525   _has_bits_[0] |= 0x00000010u;
27526 }
27527 void DataParameter::clear_has_scale() {
27528   _has_bits_[0] &= ~0x00000010u;
27529 }
27530 void DataParameter::clear_scale() {
27531   scale_ = 1;
27532   clear_has_scale();
27533 }
27534 float DataParameter::scale() const {
27535   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.scale)
27536   return scale_;
27537 }
27538 void DataParameter::set_scale(float value) {
27539   set_has_scale();
27540   scale_ = value;
27541   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.scale)
27542 }
27543
27544 // optional string mean_file = 3;
27545 bool DataParameter::has_mean_file() const {
27546   return (_has_bits_[0] & 0x00000020u) != 0;
27547 }
27548 void DataParameter::set_has_mean_file() {
27549   _has_bits_[0] |= 0x00000020u;
27550 }
27551 void DataParameter::clear_has_mean_file() {
27552   _has_bits_[0] &= ~0x00000020u;
27553 }
27554 void DataParameter::clear_mean_file() {
27555   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27556   clear_has_mean_file();
27557 }
27558 const ::std::string& DataParameter::mean_file() const {
27559   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mean_file)
27560   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27561 }
27562 void DataParameter::set_mean_file(const ::std::string& value) {
27563   set_has_mean_file();
27564   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27565   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mean_file)
27566 }
27567 void DataParameter::set_mean_file(const char* value) {
27568   set_has_mean_file();
27569   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27570   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.mean_file)
27571 }
27572 void DataParameter::set_mean_file(const char* value, size_t size) {
27573   set_has_mean_file();
27574   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27575       ::std::string(reinterpret_cast<const char*>(value), size));
27576   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.mean_file)
27577 }
27578 ::std::string* DataParameter::mutable_mean_file() {
27579   set_has_mean_file();
27580   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.mean_file)
27581   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27582 }
27583 ::std::string* DataParameter::release_mean_file() {
27584   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.mean_file)
27585   clear_has_mean_file();
27586   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27587 }
27588 void DataParameter::set_allocated_mean_file(::std::string* mean_file) {
27589   if (mean_file != NULL) {
27590     set_has_mean_file();
27591   } else {
27592     clear_has_mean_file();
27593   }
27594   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
27595   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.mean_file)
27596 }
27597
27598 // optional uint32 crop_size = 5 [default = 0];
27599 bool DataParameter::has_crop_size() const {
27600   return (_has_bits_[0] & 0x00000040u) != 0;
27601 }
27602 void DataParameter::set_has_crop_size() {
27603   _has_bits_[0] |= 0x00000040u;
27604 }
27605 void DataParameter::clear_has_crop_size() {
27606   _has_bits_[0] &= ~0x00000040u;
27607 }
27608 void DataParameter::clear_crop_size() {
27609   crop_size_ = 0u;
27610   clear_has_crop_size();
27611 }
27612 ::google::protobuf::uint32 DataParameter::crop_size() const {
27613   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.crop_size)
27614   return crop_size_;
27615 }
27616 void DataParameter::set_crop_size(::google::protobuf::uint32 value) {
27617   set_has_crop_size();
27618   crop_size_ = value;
27619   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.crop_size)
27620 }
27621
27622 // optional bool mirror = 6 [default = false];
27623 bool DataParameter::has_mirror() const {
27624   return (_has_bits_[0] & 0x00000080u) != 0;
27625 }
27626 void DataParameter::set_has_mirror() {
27627   _has_bits_[0] |= 0x00000080u;
27628 }
27629 void DataParameter::clear_has_mirror() {
27630   _has_bits_[0] &= ~0x00000080u;
27631 }
27632 void DataParameter::clear_mirror() {
27633   mirror_ = false;
27634   clear_has_mirror();
27635 }
27636 bool DataParameter::mirror() const {
27637   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mirror)
27638   return mirror_;
27639 }
27640 void DataParameter::set_mirror(bool value) {
27641   set_has_mirror();
27642   mirror_ = value;
27643   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mirror)
27644 }
27645
27646 // optional bool force_encoded_color = 9 [default = false];
27647 bool DataParameter::has_force_encoded_color() const {
27648   return (_has_bits_[0] & 0x00000100u) != 0;
27649 }
27650 void DataParameter::set_has_force_encoded_color() {
27651   _has_bits_[0] |= 0x00000100u;
27652 }
27653 void DataParameter::clear_has_force_encoded_color() {
27654   _has_bits_[0] &= ~0x00000100u;
27655 }
27656 void DataParameter::clear_force_encoded_color() {
27657   force_encoded_color_ = false;
27658   clear_has_force_encoded_color();
27659 }
27660 bool DataParameter::force_encoded_color() const {
27661   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.force_encoded_color)
27662   return force_encoded_color_;
27663 }
27664 void DataParameter::set_force_encoded_color(bool value) {
27665   set_has_force_encoded_color();
27666   force_encoded_color_ = value;
27667   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.force_encoded_color)
27668 }
27669
27670 // optional uint32 prefetch = 10 [default = 4];
27671 bool DataParameter::has_prefetch() const {
27672   return (_has_bits_[0] & 0x00000200u) != 0;
27673 }
27674 void DataParameter::set_has_prefetch() {
27675   _has_bits_[0] |= 0x00000200u;
27676 }
27677 void DataParameter::clear_has_prefetch() {
27678   _has_bits_[0] &= ~0x00000200u;
27679 }
27680 void DataParameter::clear_prefetch() {
27681   prefetch_ = 4u;
27682   clear_has_prefetch();
27683 }
27684 ::google::protobuf::uint32 DataParameter::prefetch() const {
27685   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.prefetch)
27686   return prefetch_;
27687 }
27688 void DataParameter::set_prefetch(::google::protobuf::uint32 value) {
27689   set_has_prefetch();
27690   prefetch_ = value;
27691   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.prefetch)
27692 }
27693
27694 inline const DataParameter* DataParameter::internal_default_instance() {
27695   return &DataParameter_default_instance_.get();
27696 }
27697 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
27698
27699 // ===================================================================
27700
27701 #if !defined(_MSC_VER) || _MSC_VER >= 1900
27702 const int NonMaximumSuppressionParameter::kNmsThresholdFieldNumber;
27703 const int NonMaximumSuppressionParameter::kTopKFieldNumber;
27704 const int NonMaximumSuppressionParameter::kEtaFieldNumber;
27705 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
27706
27707 NonMaximumSuppressionParameter::NonMaximumSuppressionParameter()
27708   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
27709   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
27710   SharedCtor();
27711   // @@protoc_insertion_point(constructor:opencv_caffe.NonMaximumSuppressionParameter)
27712 }
27713
27714 void NonMaximumSuppressionParameter::InitAsDefaultInstance() {
27715 }
27716
27717 NonMaximumSuppressionParameter::NonMaximumSuppressionParameter(const NonMaximumSuppressionParameter& from)
27718   : ::google::protobuf::Message(),
27719     _internal_metadata_(NULL) {
27720   SharedCtor();
27721   UnsafeMergeFrom(from);
27722   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NonMaximumSuppressionParameter)
27723 }
27724
27725 void NonMaximumSuppressionParameter::SharedCtor() {
27726   _cached_size_ = 0;
27727   top_k_ = 0;
27728   nms_threshold_ = 0.3f;
27729   eta_ = 1;
27730 }
27731
27732 NonMaximumSuppressionParameter::~NonMaximumSuppressionParameter() {
27733   // @@protoc_insertion_point(destructor:opencv_caffe.NonMaximumSuppressionParameter)
27734   SharedDtor();
27735 }
27736
27737 void NonMaximumSuppressionParameter::SharedDtor() {
27738 }
27739
27740 void NonMaximumSuppressionParameter::SetCachedSize(int size) const {
27741   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
27742   _cached_size_ = size;
27743   GOOGLE_SAFE_CONCURRENT_WRITES_END();
27744 }
27745 const ::google::protobuf::Descriptor* NonMaximumSuppressionParameter::descriptor() {
27746   protobuf_AssignDescriptorsOnce();
27747   return NonMaximumSuppressionParameter_descriptor_;
27748 }
27749
27750 const NonMaximumSuppressionParameter& NonMaximumSuppressionParameter::default_instance() {
27751   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
27752   return *internal_default_instance();
27753 }
27754
27755 ::google::protobuf::internal::ExplicitlyConstructed<NonMaximumSuppressionParameter> NonMaximumSuppressionParameter_default_instance_;
27756
27757 NonMaximumSuppressionParameter* NonMaximumSuppressionParameter::New(::google::protobuf::Arena* arena) const {
27758   NonMaximumSuppressionParameter* n = new NonMaximumSuppressionParameter;
27759   if (arena != NULL) {
27760     arena->Own(n);
27761   }
27762   return n;
27763 }
27764
27765 void NonMaximumSuppressionParameter::Clear() {
27766 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NonMaximumSuppressionParameter)
27767   if (_has_bits_[0 / 32] & 7u) {
27768     nms_threshold_ = 0.3f;
27769     top_k_ = 0;
27770     eta_ = 1;
27771   }
27772   _has_bits_.Clear();
27773   if (_internal_metadata_.have_unknown_fields()) {
27774     mutable_unknown_fields()->Clear();
27775   }
27776 }
27777
27778 bool NonMaximumSuppressionParameter::MergePartialFromCodedStream(
27779     ::google::protobuf::io::CodedInputStream* input) {
27780 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
27781   ::google::protobuf::uint32 tag;
27782   // @@protoc_insertion_point(parse_start:opencv_caffe.NonMaximumSuppressionParameter)
27783   for (;;) {
27784     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
27785     tag = p.first;
27786     if (!p.second) goto handle_unusual;
27787     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
27788       // optional float nms_threshold = 1 [default = 0.3];
27789       case 1: {
27790         if (tag == 13) {
27791           set_has_nms_threshold();
27792           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27793                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
27794                  input, &nms_threshold_)));
27795         } else {
27796           goto handle_unusual;
27797         }
27798         if (input->ExpectTag(16)) goto parse_top_k;
27799         break;
27800       }
27801
27802       // optional int32 top_k = 2;
27803       case 2: {
27804         if (tag == 16) {
27805          parse_top_k:
27806           set_has_top_k();
27807           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27808                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
27809                  input, &top_k_)));
27810         } else {
27811           goto handle_unusual;
27812         }
27813         if (input->ExpectTag(29)) goto parse_eta;
27814         break;
27815       }
27816
27817       // optional float eta = 3 [default = 1];
27818       case 3: {
27819         if (tag == 29) {
27820          parse_eta:
27821           set_has_eta();
27822           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
27823                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
27824                  input, &eta_)));
27825         } else {
27826           goto handle_unusual;
27827         }
27828         if (input->ExpectAtEnd()) goto success;
27829         break;
27830       }
27831
27832       default: {
27833       handle_unusual:
27834         if (tag == 0 ||
27835             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
27836             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
27837           goto success;
27838         }
27839         DO_(::google::protobuf::internal::WireFormat::SkipField(
27840               input, tag, mutable_unknown_fields()));
27841         break;
27842       }
27843     }
27844   }
27845 success:
27846   // @@protoc_insertion_point(parse_success:opencv_caffe.NonMaximumSuppressionParameter)
27847   return true;
27848 failure:
27849   // @@protoc_insertion_point(parse_failure:opencv_caffe.NonMaximumSuppressionParameter)
27850   return false;
27851 #undef DO_
27852 }
27853
27854 void NonMaximumSuppressionParameter::SerializeWithCachedSizes(
27855     ::google::protobuf::io::CodedOutputStream* output) const {
27856   // @@protoc_insertion_point(serialize_start:opencv_caffe.NonMaximumSuppressionParameter)
27857   // optional float nms_threshold = 1 [default = 0.3];
27858   if (has_nms_threshold()) {
27859     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->nms_threshold(), output);
27860   }
27861
27862   // optional int32 top_k = 2;
27863   if (has_top_k()) {
27864     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->top_k(), output);
27865   }
27866
27867   // optional float eta = 3 [default = 1];
27868   if (has_eta()) {
27869     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->eta(), output);
27870   }
27871
27872   if (_internal_metadata_.have_unknown_fields()) {
27873     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
27874         unknown_fields(), output);
27875   }
27876   // @@protoc_insertion_point(serialize_end:opencv_caffe.NonMaximumSuppressionParameter)
27877 }
27878
27879 ::google::protobuf::uint8* NonMaximumSuppressionParameter::InternalSerializeWithCachedSizesToArray(
27880     bool deterministic, ::google::protobuf::uint8* target) const {
27881   (void)deterministic; // Unused
27882   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NonMaximumSuppressionParameter)
27883   // optional float nms_threshold = 1 [default = 0.3];
27884   if (has_nms_threshold()) {
27885     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->nms_threshold(), target);
27886   }
27887
27888   // optional int32 top_k = 2;
27889   if (has_top_k()) {
27890     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->top_k(), target);
27891   }
27892
27893   // optional float eta = 3 [default = 1];
27894   if (has_eta()) {
27895     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->eta(), target);
27896   }
27897
27898   if (_internal_metadata_.have_unknown_fields()) {
27899     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
27900         unknown_fields(), target);
27901   }
27902   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NonMaximumSuppressionParameter)
27903   return target;
27904 }
27905
27906 size_t NonMaximumSuppressionParameter::ByteSizeLong() const {
27907 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NonMaximumSuppressionParameter)
27908   size_t total_size = 0;
27909
27910   if (_has_bits_[0 / 32] & 7u) {
27911     // optional float nms_threshold = 1 [default = 0.3];
27912     if (has_nms_threshold()) {
27913       total_size += 1 + 4;
27914     }
27915
27916     // optional int32 top_k = 2;
27917     if (has_top_k()) {
27918       total_size += 1 +
27919         ::google::protobuf::internal::WireFormatLite::Int32Size(
27920           this->top_k());
27921     }
27922
27923     // optional float eta = 3 [default = 1];
27924     if (has_eta()) {
27925       total_size += 1 + 4;
27926     }
27927
27928   }
27929   if (_internal_metadata_.have_unknown_fields()) {
27930     total_size +=
27931       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
27932         unknown_fields());
27933   }
27934   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
27935   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
27936   _cached_size_ = cached_size;
27937   GOOGLE_SAFE_CONCURRENT_WRITES_END();
27938   return total_size;
27939 }
27940
27941 void NonMaximumSuppressionParameter::MergeFrom(const ::google::protobuf::Message& from) {
27942 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NonMaximumSuppressionParameter)
27943   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
27944   const NonMaximumSuppressionParameter* source =
27945       ::google::protobuf::internal::DynamicCastToGenerated<const NonMaximumSuppressionParameter>(
27946           &from);
27947   if (source == NULL) {
27948   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NonMaximumSuppressionParameter)
27949     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
27950   } else {
27951   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NonMaximumSuppressionParameter)
27952     UnsafeMergeFrom(*source);
27953   }
27954 }
27955
27956 void NonMaximumSuppressionParameter::MergeFrom(const NonMaximumSuppressionParameter& from) {
27957 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NonMaximumSuppressionParameter)
27958   if (GOOGLE_PREDICT_TRUE(&from != this)) {
27959     UnsafeMergeFrom(from);
27960   } else {
27961     MergeFromFail(__LINE__);
27962   }
27963 }
27964
27965 void NonMaximumSuppressionParameter::UnsafeMergeFrom(const NonMaximumSuppressionParameter& from) {
27966   GOOGLE_DCHECK(&from != this);
27967   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
27968     if (from.has_nms_threshold()) {
27969       set_nms_threshold(from.nms_threshold());
27970     }
27971     if (from.has_top_k()) {
27972       set_top_k(from.top_k());
27973     }
27974     if (from.has_eta()) {
27975       set_eta(from.eta());
27976     }
27977   }
27978   if (from._internal_metadata_.have_unknown_fields()) {
27979     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
27980       from.unknown_fields(), &_internal_metadata_);
27981   }
27982 }
27983
27984 void NonMaximumSuppressionParameter::CopyFrom(const ::google::protobuf::Message& from) {
27985 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NonMaximumSuppressionParameter)
27986   if (&from == this) return;
27987   Clear();
27988   MergeFrom(from);
27989 }
27990
27991 void NonMaximumSuppressionParameter::CopyFrom(const NonMaximumSuppressionParameter& from) {
27992 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NonMaximumSuppressionParameter)
27993   if (&from == this) return;
27994   Clear();
27995   UnsafeMergeFrom(from);
27996 }
27997
27998 bool NonMaximumSuppressionParameter::IsInitialized() const {
27999
28000   return true;
28001 }
28002
28003 void NonMaximumSuppressionParameter::Swap(NonMaximumSuppressionParameter* other) {
28004   if (other == this) return;
28005   InternalSwap(other);
28006 }
28007 void NonMaximumSuppressionParameter::InternalSwap(NonMaximumSuppressionParameter* other) {
28008   std::swap(nms_threshold_, other->nms_threshold_);
28009   std::swap(top_k_, other->top_k_);
28010   std::swap(eta_, other->eta_);
28011   std::swap(_has_bits_[0], other->_has_bits_[0]);
28012   _internal_metadata_.Swap(&other->_internal_metadata_);
28013   std::swap(_cached_size_, other->_cached_size_);
28014 }
28015
28016 ::google::protobuf::Metadata NonMaximumSuppressionParameter::GetMetadata() const {
28017   protobuf_AssignDescriptorsOnce();
28018   ::google::protobuf::Metadata metadata;
28019   metadata.descriptor = NonMaximumSuppressionParameter_descriptor_;
28020   metadata.reflection = NonMaximumSuppressionParameter_reflection_;
28021   return metadata;
28022 }
28023
28024 #if PROTOBUF_INLINE_NOT_IN_HEADERS
28025 // NonMaximumSuppressionParameter
28026
28027 // optional float nms_threshold = 1 [default = 0.3];
28028 bool NonMaximumSuppressionParameter::has_nms_threshold() const {
28029   return (_has_bits_[0] & 0x00000001u) != 0;
28030 }
28031 void NonMaximumSuppressionParameter::set_has_nms_threshold() {
28032   _has_bits_[0] |= 0x00000001u;
28033 }
28034 void NonMaximumSuppressionParameter::clear_has_nms_threshold() {
28035   _has_bits_[0] &= ~0x00000001u;
28036 }
28037 void NonMaximumSuppressionParameter::clear_nms_threshold() {
28038   nms_threshold_ = 0.3f;
28039   clear_has_nms_threshold();
28040 }
28041 float NonMaximumSuppressionParameter::nms_threshold() const {
28042   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
28043   return nms_threshold_;
28044 }
28045 void NonMaximumSuppressionParameter::set_nms_threshold(float value) {
28046   set_has_nms_threshold();
28047   nms_threshold_ = value;
28048   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
28049 }
28050
28051 // optional int32 top_k = 2;
28052 bool NonMaximumSuppressionParameter::has_top_k() const {
28053   return (_has_bits_[0] & 0x00000002u) != 0;
28054 }
28055 void NonMaximumSuppressionParameter::set_has_top_k() {
28056   _has_bits_[0] |= 0x00000002u;
28057 }
28058 void NonMaximumSuppressionParameter::clear_has_top_k() {
28059   _has_bits_[0] &= ~0x00000002u;
28060 }
28061 void NonMaximumSuppressionParameter::clear_top_k() {
28062   top_k_ = 0;
28063   clear_has_top_k();
28064 }
28065 ::google::protobuf::int32 NonMaximumSuppressionParameter::top_k() const {
28066   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.top_k)
28067   return top_k_;
28068 }
28069 void NonMaximumSuppressionParameter::set_top_k(::google::protobuf::int32 value) {
28070   set_has_top_k();
28071   top_k_ = value;
28072   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.top_k)
28073 }
28074
28075 // optional float eta = 3 [default = 1];
28076 bool NonMaximumSuppressionParameter::has_eta() const {
28077   return (_has_bits_[0] & 0x00000004u) != 0;
28078 }
28079 void NonMaximumSuppressionParameter::set_has_eta() {
28080   _has_bits_[0] |= 0x00000004u;
28081 }
28082 void NonMaximumSuppressionParameter::clear_has_eta() {
28083   _has_bits_[0] &= ~0x00000004u;
28084 }
28085 void NonMaximumSuppressionParameter::clear_eta() {
28086   eta_ = 1;
28087   clear_has_eta();
28088 }
28089 float NonMaximumSuppressionParameter::eta() const {
28090   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.eta)
28091   return eta_;
28092 }
28093 void NonMaximumSuppressionParameter::set_eta(float value) {
28094   set_has_eta();
28095   eta_ = value;
28096   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.eta)
28097 }
28098
28099 inline const NonMaximumSuppressionParameter* NonMaximumSuppressionParameter::internal_default_instance() {
28100   return &NonMaximumSuppressionParameter_default_instance_.get();
28101 }
28102 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
28103
28104 // ===================================================================
28105
28106 #if !defined(_MSC_VER) || _MSC_VER >= 1900
28107 const int SaveOutputParameter::kOutputDirectoryFieldNumber;
28108 const int SaveOutputParameter::kOutputNamePrefixFieldNumber;
28109 const int SaveOutputParameter::kOutputFormatFieldNumber;
28110 const int SaveOutputParameter::kLabelMapFileFieldNumber;
28111 const int SaveOutputParameter::kNameSizeFileFieldNumber;
28112 const int SaveOutputParameter::kNumTestImageFieldNumber;
28113 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
28114
28115 SaveOutputParameter::SaveOutputParameter()
28116   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
28117   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
28118   SharedCtor();
28119   // @@protoc_insertion_point(constructor:opencv_caffe.SaveOutputParameter)
28120 }
28121
28122 void SaveOutputParameter::InitAsDefaultInstance() {
28123 }
28124
28125 SaveOutputParameter::SaveOutputParameter(const SaveOutputParameter& from)
28126   : ::google::protobuf::Message(),
28127     _internal_metadata_(NULL) {
28128   SharedCtor();
28129   UnsafeMergeFrom(from);
28130   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SaveOutputParameter)
28131 }
28132
28133 void SaveOutputParameter::SharedCtor() {
28134   _cached_size_ = 0;
28135   output_directory_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28136   output_name_prefix_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28137   output_format_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28138   label_map_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28139   name_size_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28140   num_test_image_ = 0u;
28141 }
28142
28143 SaveOutputParameter::~SaveOutputParameter() {
28144   // @@protoc_insertion_point(destructor:opencv_caffe.SaveOutputParameter)
28145   SharedDtor();
28146 }
28147
28148 void SaveOutputParameter::SharedDtor() {
28149   output_directory_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28150   output_name_prefix_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28151   output_format_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28152   label_map_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28153   name_size_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28154 }
28155
28156 void SaveOutputParameter::SetCachedSize(int size) const {
28157   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
28158   _cached_size_ = size;
28159   GOOGLE_SAFE_CONCURRENT_WRITES_END();
28160 }
28161 const ::google::protobuf::Descriptor* SaveOutputParameter::descriptor() {
28162   protobuf_AssignDescriptorsOnce();
28163   return SaveOutputParameter_descriptor_;
28164 }
28165
28166 const SaveOutputParameter& SaveOutputParameter::default_instance() {
28167   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
28168   return *internal_default_instance();
28169 }
28170
28171 ::google::protobuf::internal::ExplicitlyConstructed<SaveOutputParameter> SaveOutputParameter_default_instance_;
28172
28173 SaveOutputParameter* SaveOutputParameter::New(::google::protobuf::Arena* arena) const {
28174   SaveOutputParameter* n = new SaveOutputParameter;
28175   if (arena != NULL) {
28176     arena->Own(n);
28177   }
28178   return n;
28179 }
28180
28181 void SaveOutputParameter::Clear() {
28182 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SaveOutputParameter)
28183   if (_has_bits_[0 / 32] & 63u) {
28184     if (has_output_directory()) {
28185       output_directory_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28186     }
28187     if (has_output_name_prefix()) {
28188       output_name_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28189     }
28190     if (has_output_format()) {
28191       output_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28192     }
28193     if (has_label_map_file()) {
28194       label_map_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28195     }
28196     if (has_name_size_file()) {
28197       name_size_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28198     }
28199     num_test_image_ = 0u;
28200   }
28201   _has_bits_.Clear();
28202   if (_internal_metadata_.have_unknown_fields()) {
28203     mutable_unknown_fields()->Clear();
28204   }
28205 }
28206
28207 bool SaveOutputParameter::MergePartialFromCodedStream(
28208     ::google::protobuf::io::CodedInputStream* input) {
28209 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
28210   ::google::protobuf::uint32 tag;
28211   // @@protoc_insertion_point(parse_start:opencv_caffe.SaveOutputParameter)
28212   for (;;) {
28213     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
28214     tag = p.first;
28215     if (!p.second) goto handle_unusual;
28216     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
28217       // optional string output_directory = 1;
28218       case 1: {
28219         if (tag == 10) {
28220           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28221                 input, this->mutable_output_directory()));
28222           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28223             this->output_directory().data(), this->output_directory().length(),
28224             ::google::protobuf::internal::WireFormat::PARSE,
28225             "opencv_caffe.SaveOutputParameter.output_directory");
28226         } else {
28227           goto handle_unusual;
28228         }
28229         if (input->ExpectTag(18)) goto parse_output_name_prefix;
28230         break;
28231       }
28232
28233       // optional string output_name_prefix = 2;
28234       case 2: {
28235         if (tag == 18) {
28236          parse_output_name_prefix:
28237           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28238                 input, this->mutable_output_name_prefix()));
28239           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28240             this->output_name_prefix().data(), this->output_name_prefix().length(),
28241             ::google::protobuf::internal::WireFormat::PARSE,
28242             "opencv_caffe.SaveOutputParameter.output_name_prefix");
28243         } else {
28244           goto handle_unusual;
28245         }
28246         if (input->ExpectTag(26)) goto parse_output_format;
28247         break;
28248       }
28249
28250       // optional string output_format = 3;
28251       case 3: {
28252         if (tag == 26) {
28253          parse_output_format:
28254           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28255                 input, this->mutable_output_format()));
28256           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28257             this->output_format().data(), this->output_format().length(),
28258             ::google::protobuf::internal::WireFormat::PARSE,
28259             "opencv_caffe.SaveOutputParameter.output_format");
28260         } else {
28261           goto handle_unusual;
28262         }
28263         if (input->ExpectTag(34)) goto parse_label_map_file;
28264         break;
28265       }
28266
28267       // optional string label_map_file = 4;
28268       case 4: {
28269         if (tag == 34) {
28270          parse_label_map_file:
28271           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28272                 input, this->mutable_label_map_file()));
28273           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28274             this->label_map_file().data(), this->label_map_file().length(),
28275             ::google::protobuf::internal::WireFormat::PARSE,
28276             "opencv_caffe.SaveOutputParameter.label_map_file");
28277         } else {
28278           goto handle_unusual;
28279         }
28280         if (input->ExpectTag(42)) goto parse_name_size_file;
28281         break;
28282       }
28283
28284       // optional string name_size_file = 5;
28285       case 5: {
28286         if (tag == 42) {
28287          parse_name_size_file:
28288           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
28289                 input, this->mutable_name_size_file()));
28290           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28291             this->name_size_file().data(), this->name_size_file().length(),
28292             ::google::protobuf::internal::WireFormat::PARSE,
28293             "opencv_caffe.SaveOutputParameter.name_size_file");
28294         } else {
28295           goto handle_unusual;
28296         }
28297         if (input->ExpectTag(48)) goto parse_num_test_image;
28298         break;
28299       }
28300
28301       // optional uint32 num_test_image = 6;
28302       case 6: {
28303         if (tag == 48) {
28304          parse_num_test_image:
28305           set_has_num_test_image();
28306           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
28307                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
28308                  input, &num_test_image_)));
28309         } else {
28310           goto handle_unusual;
28311         }
28312         if (input->ExpectAtEnd()) goto success;
28313         break;
28314       }
28315
28316       default: {
28317       handle_unusual:
28318         if (tag == 0 ||
28319             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
28320             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
28321           goto success;
28322         }
28323         DO_(::google::protobuf::internal::WireFormat::SkipField(
28324               input, tag, mutable_unknown_fields()));
28325         break;
28326       }
28327     }
28328   }
28329 success:
28330   // @@protoc_insertion_point(parse_success:opencv_caffe.SaveOutputParameter)
28331   return true;
28332 failure:
28333   // @@protoc_insertion_point(parse_failure:opencv_caffe.SaveOutputParameter)
28334   return false;
28335 #undef DO_
28336 }
28337
28338 void SaveOutputParameter::SerializeWithCachedSizes(
28339     ::google::protobuf::io::CodedOutputStream* output) const {
28340   // @@protoc_insertion_point(serialize_start:opencv_caffe.SaveOutputParameter)
28341   // optional string output_directory = 1;
28342   if (has_output_directory()) {
28343     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28344       this->output_directory().data(), this->output_directory().length(),
28345       ::google::protobuf::internal::WireFormat::SERIALIZE,
28346       "opencv_caffe.SaveOutputParameter.output_directory");
28347     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28348       1, this->output_directory(), output);
28349   }
28350
28351   // optional string output_name_prefix = 2;
28352   if (has_output_name_prefix()) {
28353     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28354       this->output_name_prefix().data(), this->output_name_prefix().length(),
28355       ::google::protobuf::internal::WireFormat::SERIALIZE,
28356       "opencv_caffe.SaveOutputParameter.output_name_prefix");
28357     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28358       2, this->output_name_prefix(), output);
28359   }
28360
28361   // optional string output_format = 3;
28362   if (has_output_format()) {
28363     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28364       this->output_format().data(), this->output_format().length(),
28365       ::google::protobuf::internal::WireFormat::SERIALIZE,
28366       "opencv_caffe.SaveOutputParameter.output_format");
28367     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28368       3, this->output_format(), output);
28369   }
28370
28371   // optional string label_map_file = 4;
28372   if (has_label_map_file()) {
28373     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28374       this->label_map_file().data(), this->label_map_file().length(),
28375       ::google::protobuf::internal::WireFormat::SERIALIZE,
28376       "opencv_caffe.SaveOutputParameter.label_map_file");
28377     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28378       4, this->label_map_file(), output);
28379   }
28380
28381   // optional string name_size_file = 5;
28382   if (has_name_size_file()) {
28383     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28384       this->name_size_file().data(), this->name_size_file().length(),
28385       ::google::protobuf::internal::WireFormat::SERIALIZE,
28386       "opencv_caffe.SaveOutputParameter.name_size_file");
28387     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
28388       5, this->name_size_file(), output);
28389   }
28390
28391   // optional uint32 num_test_image = 6;
28392   if (has_num_test_image()) {
28393     ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->num_test_image(), output);
28394   }
28395
28396   if (_internal_metadata_.have_unknown_fields()) {
28397     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
28398         unknown_fields(), output);
28399   }
28400   // @@protoc_insertion_point(serialize_end:opencv_caffe.SaveOutputParameter)
28401 }
28402
28403 ::google::protobuf::uint8* SaveOutputParameter::InternalSerializeWithCachedSizesToArray(
28404     bool deterministic, ::google::protobuf::uint8* target) const {
28405   (void)deterministic; // Unused
28406   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SaveOutputParameter)
28407   // optional string output_directory = 1;
28408   if (has_output_directory()) {
28409     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28410       this->output_directory().data(), this->output_directory().length(),
28411       ::google::protobuf::internal::WireFormat::SERIALIZE,
28412       "opencv_caffe.SaveOutputParameter.output_directory");
28413     target =
28414       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28415         1, this->output_directory(), target);
28416   }
28417
28418   // optional string output_name_prefix = 2;
28419   if (has_output_name_prefix()) {
28420     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28421       this->output_name_prefix().data(), this->output_name_prefix().length(),
28422       ::google::protobuf::internal::WireFormat::SERIALIZE,
28423       "opencv_caffe.SaveOutputParameter.output_name_prefix");
28424     target =
28425       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28426         2, this->output_name_prefix(), target);
28427   }
28428
28429   // optional string output_format = 3;
28430   if (has_output_format()) {
28431     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28432       this->output_format().data(), this->output_format().length(),
28433       ::google::protobuf::internal::WireFormat::SERIALIZE,
28434       "opencv_caffe.SaveOutputParameter.output_format");
28435     target =
28436       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28437         3, this->output_format(), target);
28438   }
28439
28440   // optional string label_map_file = 4;
28441   if (has_label_map_file()) {
28442     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28443       this->label_map_file().data(), this->label_map_file().length(),
28444       ::google::protobuf::internal::WireFormat::SERIALIZE,
28445       "opencv_caffe.SaveOutputParameter.label_map_file");
28446     target =
28447       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28448         4, this->label_map_file(), target);
28449   }
28450
28451   // optional string name_size_file = 5;
28452   if (has_name_size_file()) {
28453     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
28454       this->name_size_file().data(), this->name_size_file().length(),
28455       ::google::protobuf::internal::WireFormat::SERIALIZE,
28456       "opencv_caffe.SaveOutputParameter.name_size_file");
28457     target =
28458       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
28459         5, this->name_size_file(), target);
28460   }
28461
28462   // optional uint32 num_test_image = 6;
28463   if (has_num_test_image()) {
28464     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(6, this->num_test_image(), target);
28465   }
28466
28467   if (_internal_metadata_.have_unknown_fields()) {
28468     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
28469         unknown_fields(), target);
28470   }
28471   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SaveOutputParameter)
28472   return target;
28473 }
28474
28475 size_t SaveOutputParameter::ByteSizeLong() const {
28476 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SaveOutputParameter)
28477   size_t total_size = 0;
28478
28479   if (_has_bits_[0 / 32] & 63u) {
28480     // optional string output_directory = 1;
28481     if (has_output_directory()) {
28482       total_size += 1 +
28483         ::google::protobuf::internal::WireFormatLite::StringSize(
28484           this->output_directory());
28485     }
28486
28487     // optional string output_name_prefix = 2;
28488     if (has_output_name_prefix()) {
28489       total_size += 1 +
28490         ::google::protobuf::internal::WireFormatLite::StringSize(
28491           this->output_name_prefix());
28492     }
28493
28494     // optional string output_format = 3;
28495     if (has_output_format()) {
28496       total_size += 1 +
28497         ::google::protobuf::internal::WireFormatLite::StringSize(
28498           this->output_format());
28499     }
28500
28501     // optional string label_map_file = 4;
28502     if (has_label_map_file()) {
28503       total_size += 1 +
28504         ::google::protobuf::internal::WireFormatLite::StringSize(
28505           this->label_map_file());
28506     }
28507
28508     // optional string name_size_file = 5;
28509     if (has_name_size_file()) {
28510       total_size += 1 +
28511         ::google::protobuf::internal::WireFormatLite::StringSize(
28512           this->name_size_file());
28513     }
28514
28515     // optional uint32 num_test_image = 6;
28516     if (has_num_test_image()) {
28517       total_size += 1 +
28518         ::google::protobuf::internal::WireFormatLite::UInt32Size(
28519           this->num_test_image());
28520     }
28521
28522   }
28523   if (_internal_metadata_.have_unknown_fields()) {
28524     total_size +=
28525       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
28526         unknown_fields());
28527   }
28528   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
28529   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
28530   _cached_size_ = cached_size;
28531   GOOGLE_SAFE_CONCURRENT_WRITES_END();
28532   return total_size;
28533 }
28534
28535 void SaveOutputParameter::MergeFrom(const ::google::protobuf::Message& from) {
28536 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SaveOutputParameter)
28537   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
28538   const SaveOutputParameter* source =
28539       ::google::protobuf::internal::DynamicCastToGenerated<const SaveOutputParameter>(
28540           &from);
28541   if (source == NULL) {
28542   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SaveOutputParameter)
28543     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
28544   } else {
28545   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SaveOutputParameter)
28546     UnsafeMergeFrom(*source);
28547   }
28548 }
28549
28550 void SaveOutputParameter::MergeFrom(const SaveOutputParameter& from) {
28551 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SaveOutputParameter)
28552   if (GOOGLE_PREDICT_TRUE(&from != this)) {
28553     UnsafeMergeFrom(from);
28554   } else {
28555     MergeFromFail(__LINE__);
28556   }
28557 }
28558
28559 void SaveOutputParameter::UnsafeMergeFrom(const SaveOutputParameter& from) {
28560   GOOGLE_DCHECK(&from != this);
28561   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
28562     if (from.has_output_directory()) {
28563       set_has_output_directory();
28564       output_directory_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_directory_);
28565     }
28566     if (from.has_output_name_prefix()) {
28567       set_has_output_name_prefix();
28568       output_name_prefix_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_name_prefix_);
28569     }
28570     if (from.has_output_format()) {
28571       set_has_output_format();
28572       output_format_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.output_format_);
28573     }
28574     if (from.has_label_map_file()) {
28575       set_has_label_map_file();
28576       label_map_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.label_map_file_);
28577     }
28578     if (from.has_name_size_file()) {
28579       set_has_name_size_file();
28580       name_size_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_size_file_);
28581     }
28582     if (from.has_num_test_image()) {
28583       set_num_test_image(from.num_test_image());
28584     }
28585   }
28586   if (from._internal_metadata_.have_unknown_fields()) {
28587     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
28588       from.unknown_fields(), &_internal_metadata_);
28589   }
28590 }
28591
28592 void SaveOutputParameter::CopyFrom(const ::google::protobuf::Message& from) {
28593 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SaveOutputParameter)
28594   if (&from == this) return;
28595   Clear();
28596   MergeFrom(from);
28597 }
28598
28599 void SaveOutputParameter::CopyFrom(const SaveOutputParameter& from) {
28600 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SaveOutputParameter)
28601   if (&from == this) return;
28602   Clear();
28603   UnsafeMergeFrom(from);
28604 }
28605
28606 bool SaveOutputParameter::IsInitialized() const {
28607
28608   return true;
28609 }
28610
28611 void SaveOutputParameter::Swap(SaveOutputParameter* other) {
28612   if (other == this) return;
28613   InternalSwap(other);
28614 }
28615 void SaveOutputParameter::InternalSwap(SaveOutputParameter* other) {
28616   output_directory_.Swap(&other->output_directory_);
28617   output_name_prefix_.Swap(&other->output_name_prefix_);
28618   output_format_.Swap(&other->output_format_);
28619   label_map_file_.Swap(&other->label_map_file_);
28620   name_size_file_.Swap(&other->name_size_file_);
28621   std::swap(num_test_image_, other->num_test_image_);
28622   std::swap(_has_bits_[0], other->_has_bits_[0]);
28623   _internal_metadata_.Swap(&other->_internal_metadata_);
28624   std::swap(_cached_size_, other->_cached_size_);
28625 }
28626
28627 ::google::protobuf::Metadata SaveOutputParameter::GetMetadata() const {
28628   protobuf_AssignDescriptorsOnce();
28629   ::google::protobuf::Metadata metadata;
28630   metadata.descriptor = SaveOutputParameter_descriptor_;
28631   metadata.reflection = SaveOutputParameter_reflection_;
28632   return metadata;
28633 }
28634
28635 #if PROTOBUF_INLINE_NOT_IN_HEADERS
28636 // SaveOutputParameter
28637
28638 // optional string output_directory = 1;
28639 bool SaveOutputParameter::has_output_directory() const {
28640   return (_has_bits_[0] & 0x00000001u) != 0;
28641 }
28642 void SaveOutputParameter::set_has_output_directory() {
28643   _has_bits_[0] |= 0x00000001u;
28644 }
28645 void SaveOutputParameter::clear_has_output_directory() {
28646   _has_bits_[0] &= ~0x00000001u;
28647 }
28648 void SaveOutputParameter::clear_output_directory() {
28649   output_directory_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28650   clear_has_output_directory();
28651 }
28652 const ::std::string& SaveOutputParameter::output_directory() const {
28653   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_directory)
28654   return output_directory_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28655 }
28656 void SaveOutputParameter::set_output_directory(const ::std::string& value) {
28657   set_has_output_directory();
28658   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28659   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_directory)
28660 }
28661 void SaveOutputParameter::set_output_directory(const char* value) {
28662   set_has_output_directory();
28663   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28664   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_directory)
28665 }
28666 void SaveOutputParameter::set_output_directory(const char* value, size_t size) {
28667   set_has_output_directory();
28668   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28669       ::std::string(reinterpret_cast<const char*>(value), size));
28670   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_directory)
28671 }
28672 ::std::string* SaveOutputParameter::mutable_output_directory() {
28673   set_has_output_directory();
28674   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_directory)
28675   return output_directory_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28676 }
28677 ::std::string* SaveOutputParameter::release_output_directory() {
28678   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_directory)
28679   clear_has_output_directory();
28680   return output_directory_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28681 }
28682 void SaveOutputParameter::set_allocated_output_directory(::std::string* output_directory) {
28683   if (output_directory != NULL) {
28684     set_has_output_directory();
28685   } else {
28686     clear_has_output_directory();
28687   }
28688   output_directory_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_directory);
28689   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_directory)
28690 }
28691
28692 // optional string output_name_prefix = 2;
28693 bool SaveOutputParameter::has_output_name_prefix() const {
28694   return (_has_bits_[0] & 0x00000002u) != 0;
28695 }
28696 void SaveOutputParameter::set_has_output_name_prefix() {
28697   _has_bits_[0] |= 0x00000002u;
28698 }
28699 void SaveOutputParameter::clear_has_output_name_prefix() {
28700   _has_bits_[0] &= ~0x00000002u;
28701 }
28702 void SaveOutputParameter::clear_output_name_prefix() {
28703   output_name_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28704   clear_has_output_name_prefix();
28705 }
28706 const ::std::string& SaveOutputParameter::output_name_prefix() const {
28707   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_name_prefix)
28708   return output_name_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28709 }
28710 void SaveOutputParameter::set_output_name_prefix(const ::std::string& value) {
28711   set_has_output_name_prefix();
28712   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28713   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_name_prefix)
28714 }
28715 void SaveOutputParameter::set_output_name_prefix(const char* value) {
28716   set_has_output_name_prefix();
28717   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28718   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_name_prefix)
28719 }
28720 void SaveOutputParameter::set_output_name_prefix(const char* value, size_t size) {
28721   set_has_output_name_prefix();
28722   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28723       ::std::string(reinterpret_cast<const char*>(value), size));
28724   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_name_prefix)
28725 }
28726 ::std::string* SaveOutputParameter::mutable_output_name_prefix() {
28727   set_has_output_name_prefix();
28728   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_name_prefix)
28729   return output_name_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28730 }
28731 ::std::string* SaveOutputParameter::release_output_name_prefix() {
28732   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_name_prefix)
28733   clear_has_output_name_prefix();
28734   return output_name_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28735 }
28736 void SaveOutputParameter::set_allocated_output_name_prefix(::std::string* output_name_prefix) {
28737   if (output_name_prefix != NULL) {
28738     set_has_output_name_prefix();
28739   } else {
28740     clear_has_output_name_prefix();
28741   }
28742   output_name_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_name_prefix);
28743   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_name_prefix)
28744 }
28745
28746 // optional string output_format = 3;
28747 bool SaveOutputParameter::has_output_format() const {
28748   return (_has_bits_[0] & 0x00000004u) != 0;
28749 }
28750 void SaveOutputParameter::set_has_output_format() {
28751   _has_bits_[0] |= 0x00000004u;
28752 }
28753 void SaveOutputParameter::clear_has_output_format() {
28754   _has_bits_[0] &= ~0x00000004u;
28755 }
28756 void SaveOutputParameter::clear_output_format() {
28757   output_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28758   clear_has_output_format();
28759 }
28760 const ::std::string& SaveOutputParameter::output_format() const {
28761   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_format)
28762   return output_format_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28763 }
28764 void SaveOutputParameter::set_output_format(const ::std::string& value) {
28765   set_has_output_format();
28766   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28767   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_format)
28768 }
28769 void SaveOutputParameter::set_output_format(const char* value) {
28770   set_has_output_format();
28771   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28772   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_format)
28773 }
28774 void SaveOutputParameter::set_output_format(const char* value, size_t size) {
28775   set_has_output_format();
28776   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28777       ::std::string(reinterpret_cast<const char*>(value), size));
28778   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_format)
28779 }
28780 ::std::string* SaveOutputParameter::mutable_output_format() {
28781   set_has_output_format();
28782   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_format)
28783   return output_format_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28784 }
28785 ::std::string* SaveOutputParameter::release_output_format() {
28786   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_format)
28787   clear_has_output_format();
28788   return output_format_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28789 }
28790 void SaveOutputParameter::set_allocated_output_format(::std::string* output_format) {
28791   if (output_format != NULL) {
28792     set_has_output_format();
28793   } else {
28794     clear_has_output_format();
28795   }
28796   output_format_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_format);
28797   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_format)
28798 }
28799
28800 // optional string label_map_file = 4;
28801 bool SaveOutputParameter::has_label_map_file() const {
28802   return (_has_bits_[0] & 0x00000008u) != 0;
28803 }
28804 void SaveOutputParameter::set_has_label_map_file() {
28805   _has_bits_[0] |= 0x00000008u;
28806 }
28807 void SaveOutputParameter::clear_has_label_map_file() {
28808   _has_bits_[0] &= ~0x00000008u;
28809 }
28810 void SaveOutputParameter::clear_label_map_file() {
28811   label_map_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28812   clear_has_label_map_file();
28813 }
28814 const ::std::string& SaveOutputParameter::label_map_file() const {
28815   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.label_map_file)
28816   return label_map_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28817 }
28818 void SaveOutputParameter::set_label_map_file(const ::std::string& value) {
28819   set_has_label_map_file();
28820   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28821   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.label_map_file)
28822 }
28823 void SaveOutputParameter::set_label_map_file(const char* value) {
28824   set_has_label_map_file();
28825   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28826   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.label_map_file)
28827 }
28828 void SaveOutputParameter::set_label_map_file(const char* value, size_t size) {
28829   set_has_label_map_file();
28830   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28831       ::std::string(reinterpret_cast<const char*>(value), size));
28832   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.label_map_file)
28833 }
28834 ::std::string* SaveOutputParameter::mutable_label_map_file() {
28835   set_has_label_map_file();
28836   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.label_map_file)
28837   return label_map_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28838 }
28839 ::std::string* SaveOutputParameter::release_label_map_file() {
28840   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.label_map_file)
28841   clear_has_label_map_file();
28842   return label_map_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28843 }
28844 void SaveOutputParameter::set_allocated_label_map_file(::std::string* label_map_file) {
28845   if (label_map_file != NULL) {
28846     set_has_label_map_file();
28847   } else {
28848     clear_has_label_map_file();
28849   }
28850   label_map_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), label_map_file);
28851   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.label_map_file)
28852 }
28853
28854 // optional string name_size_file = 5;
28855 bool SaveOutputParameter::has_name_size_file() const {
28856   return (_has_bits_[0] & 0x00000010u) != 0;
28857 }
28858 void SaveOutputParameter::set_has_name_size_file() {
28859   _has_bits_[0] |= 0x00000010u;
28860 }
28861 void SaveOutputParameter::clear_has_name_size_file() {
28862   _has_bits_[0] &= ~0x00000010u;
28863 }
28864 void SaveOutputParameter::clear_name_size_file() {
28865   name_size_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28866   clear_has_name_size_file();
28867 }
28868 const ::std::string& SaveOutputParameter::name_size_file() const {
28869   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.name_size_file)
28870   return name_size_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28871 }
28872 void SaveOutputParameter::set_name_size_file(const ::std::string& value) {
28873   set_has_name_size_file();
28874   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28875   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.name_size_file)
28876 }
28877 void SaveOutputParameter::set_name_size_file(const char* value) {
28878   set_has_name_size_file();
28879   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28880   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.name_size_file)
28881 }
28882 void SaveOutputParameter::set_name_size_file(const char* value, size_t size) {
28883   set_has_name_size_file();
28884   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28885       ::std::string(reinterpret_cast<const char*>(value), size));
28886   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.name_size_file)
28887 }
28888 ::std::string* SaveOutputParameter::mutable_name_size_file() {
28889   set_has_name_size_file();
28890   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.name_size_file)
28891   return name_size_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28892 }
28893 ::std::string* SaveOutputParameter::release_name_size_file() {
28894   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.name_size_file)
28895   clear_has_name_size_file();
28896   return name_size_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28897 }
28898 void SaveOutputParameter::set_allocated_name_size_file(::std::string* name_size_file) {
28899   if (name_size_file != NULL) {
28900     set_has_name_size_file();
28901   } else {
28902     clear_has_name_size_file();
28903   }
28904   name_size_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name_size_file);
28905   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.name_size_file)
28906 }
28907
28908 // optional uint32 num_test_image = 6;
28909 bool SaveOutputParameter::has_num_test_image() const {
28910   return (_has_bits_[0] & 0x00000020u) != 0;
28911 }
28912 void SaveOutputParameter::set_has_num_test_image() {
28913   _has_bits_[0] |= 0x00000020u;
28914 }
28915 void SaveOutputParameter::clear_has_num_test_image() {
28916   _has_bits_[0] &= ~0x00000020u;
28917 }
28918 void SaveOutputParameter::clear_num_test_image() {
28919   num_test_image_ = 0u;
28920   clear_has_num_test_image();
28921 }
28922 ::google::protobuf::uint32 SaveOutputParameter::num_test_image() const {
28923   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.num_test_image)
28924   return num_test_image_;
28925 }
28926 void SaveOutputParameter::set_num_test_image(::google::protobuf::uint32 value) {
28927   set_has_num_test_image();
28928   num_test_image_ = value;
28929   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.num_test_image)
28930 }
28931
28932 inline const SaveOutputParameter* SaveOutputParameter::internal_default_instance() {
28933   return &SaveOutputParameter_default_instance_.get();
28934 }
28935 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
28936
28937 // ===================================================================
28938
28939 #if !defined(_MSC_VER) || _MSC_VER >= 1900
28940 const int DropoutParameter::kDropoutRatioFieldNumber;
28941 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
28942
28943 DropoutParameter::DropoutParameter()
28944   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
28945   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
28946   SharedCtor();
28947   // @@protoc_insertion_point(constructor:opencv_caffe.DropoutParameter)
28948 }
28949
28950 void DropoutParameter::InitAsDefaultInstance() {
28951 }
28952
28953 DropoutParameter::DropoutParameter(const DropoutParameter& from)
28954   : ::google::protobuf::Message(),
28955     _internal_metadata_(NULL) {
28956   SharedCtor();
28957   UnsafeMergeFrom(from);
28958   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DropoutParameter)
28959 }
28960
28961 void DropoutParameter::SharedCtor() {
28962   _cached_size_ = 0;
28963   dropout_ratio_ = 0.5f;
28964 }
28965
28966 DropoutParameter::~DropoutParameter() {
28967   // @@protoc_insertion_point(destructor:opencv_caffe.DropoutParameter)
28968   SharedDtor();
28969 }
28970
28971 void DropoutParameter::SharedDtor() {
28972 }
28973
28974 void DropoutParameter::SetCachedSize(int size) const {
28975   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
28976   _cached_size_ = size;
28977   GOOGLE_SAFE_CONCURRENT_WRITES_END();
28978 }
28979 const ::google::protobuf::Descriptor* DropoutParameter::descriptor() {
28980   protobuf_AssignDescriptorsOnce();
28981   return DropoutParameter_descriptor_;
28982 }
28983
28984 const DropoutParameter& DropoutParameter::default_instance() {
28985   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
28986   return *internal_default_instance();
28987 }
28988
28989 ::google::protobuf::internal::ExplicitlyConstructed<DropoutParameter> DropoutParameter_default_instance_;
28990
28991 DropoutParameter* DropoutParameter::New(::google::protobuf::Arena* arena) const {
28992   DropoutParameter* n = new DropoutParameter;
28993   if (arena != NULL) {
28994     arena->Own(n);
28995   }
28996   return n;
28997 }
28998
28999 void DropoutParameter::Clear() {
29000 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DropoutParameter)
29001   dropout_ratio_ = 0.5f;
29002   _has_bits_.Clear();
29003   if (_internal_metadata_.have_unknown_fields()) {
29004     mutable_unknown_fields()->Clear();
29005   }
29006 }
29007
29008 bool DropoutParameter::MergePartialFromCodedStream(
29009     ::google::protobuf::io::CodedInputStream* input) {
29010 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
29011   ::google::protobuf::uint32 tag;
29012   // @@protoc_insertion_point(parse_start:opencv_caffe.DropoutParameter)
29013   for (;;) {
29014     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
29015     tag = p.first;
29016     if (!p.second) goto handle_unusual;
29017     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
29018       // optional float dropout_ratio = 1 [default = 0.5];
29019       case 1: {
29020         if (tag == 13) {
29021           set_has_dropout_ratio();
29022           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
29023                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
29024                  input, &dropout_ratio_)));
29025         } else {
29026           goto handle_unusual;
29027         }
29028         if (input->ExpectAtEnd()) goto success;
29029         break;
29030       }
29031
29032       default: {
29033       handle_unusual:
29034         if (tag == 0 ||
29035             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
29036             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
29037           goto success;
29038         }
29039         DO_(::google::protobuf::internal::WireFormat::SkipField(
29040               input, tag, mutable_unknown_fields()));
29041         break;
29042       }
29043     }
29044   }
29045 success:
29046   // @@protoc_insertion_point(parse_success:opencv_caffe.DropoutParameter)
29047   return true;
29048 failure:
29049   // @@protoc_insertion_point(parse_failure:opencv_caffe.DropoutParameter)
29050   return false;
29051 #undef DO_
29052 }
29053
29054 void DropoutParameter::SerializeWithCachedSizes(
29055     ::google::protobuf::io::CodedOutputStream* output) const {
29056   // @@protoc_insertion_point(serialize_start:opencv_caffe.DropoutParameter)
29057   // optional float dropout_ratio = 1 [default = 0.5];
29058   if (has_dropout_ratio()) {
29059     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->dropout_ratio(), output);
29060   }
29061
29062   if (_internal_metadata_.have_unknown_fields()) {
29063     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
29064         unknown_fields(), output);
29065   }
29066   // @@protoc_insertion_point(serialize_end:opencv_caffe.DropoutParameter)
29067 }
29068
29069 ::google::protobuf::uint8* DropoutParameter::InternalSerializeWithCachedSizesToArray(
29070     bool deterministic, ::google::protobuf::uint8* target) const {
29071   (void)deterministic; // Unused
29072   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DropoutParameter)
29073   // optional float dropout_ratio = 1 [default = 0.5];
29074   if (has_dropout_ratio()) {
29075     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->dropout_ratio(), target);
29076   }
29077
29078   if (_internal_metadata_.have_unknown_fields()) {
29079     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
29080         unknown_fields(), target);
29081   }
29082   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DropoutParameter)
29083   return target;
29084 }
29085
29086 size_t DropoutParameter::ByteSizeLong() const {
29087 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DropoutParameter)
29088   size_t total_size = 0;
29089
29090   // optional float dropout_ratio = 1 [default = 0.5];
29091   if (has_dropout_ratio()) {
29092     total_size += 1 + 4;
29093   }
29094
29095   if (_internal_metadata_.have_unknown_fields()) {
29096     total_size +=
29097       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
29098         unknown_fields());
29099   }
29100   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
29101   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29102   _cached_size_ = cached_size;
29103   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29104   return total_size;
29105 }
29106
29107 void DropoutParameter::MergeFrom(const ::google::protobuf::Message& from) {
29108 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DropoutParameter)
29109   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
29110   const DropoutParameter* source =
29111       ::google::protobuf::internal::DynamicCastToGenerated<const DropoutParameter>(
29112           &from);
29113   if (source == NULL) {
29114   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DropoutParameter)
29115     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
29116   } else {
29117   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DropoutParameter)
29118     UnsafeMergeFrom(*source);
29119   }
29120 }
29121
29122 void DropoutParameter::MergeFrom(const DropoutParameter& from) {
29123 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DropoutParameter)
29124   if (GOOGLE_PREDICT_TRUE(&from != this)) {
29125     UnsafeMergeFrom(from);
29126   } else {
29127     MergeFromFail(__LINE__);
29128   }
29129 }
29130
29131 void DropoutParameter::UnsafeMergeFrom(const DropoutParameter& from) {
29132   GOOGLE_DCHECK(&from != this);
29133   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
29134     if (from.has_dropout_ratio()) {
29135       set_dropout_ratio(from.dropout_ratio());
29136     }
29137   }
29138   if (from._internal_metadata_.have_unknown_fields()) {
29139     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
29140       from.unknown_fields(), &_internal_metadata_);
29141   }
29142 }
29143
29144 void DropoutParameter::CopyFrom(const ::google::protobuf::Message& from) {
29145 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DropoutParameter)
29146   if (&from == this) return;
29147   Clear();
29148   MergeFrom(from);
29149 }
29150
29151 void DropoutParameter::CopyFrom(const DropoutParameter& from) {
29152 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DropoutParameter)
29153   if (&from == this) return;
29154   Clear();
29155   UnsafeMergeFrom(from);
29156 }
29157
29158 bool DropoutParameter::IsInitialized() const {
29159
29160   return true;
29161 }
29162
29163 void DropoutParameter::Swap(DropoutParameter* other) {
29164   if (other == this) return;
29165   InternalSwap(other);
29166 }
29167 void DropoutParameter::InternalSwap(DropoutParameter* other) {
29168   std::swap(dropout_ratio_, other->dropout_ratio_);
29169   std::swap(_has_bits_[0], other->_has_bits_[0]);
29170   _internal_metadata_.Swap(&other->_internal_metadata_);
29171   std::swap(_cached_size_, other->_cached_size_);
29172 }
29173
29174 ::google::protobuf::Metadata DropoutParameter::GetMetadata() const {
29175   protobuf_AssignDescriptorsOnce();
29176   ::google::protobuf::Metadata metadata;
29177   metadata.descriptor = DropoutParameter_descriptor_;
29178   metadata.reflection = DropoutParameter_reflection_;
29179   return metadata;
29180 }
29181
29182 #if PROTOBUF_INLINE_NOT_IN_HEADERS
29183 // DropoutParameter
29184
29185 // optional float dropout_ratio = 1 [default = 0.5];
29186 bool DropoutParameter::has_dropout_ratio() const {
29187   return (_has_bits_[0] & 0x00000001u) != 0;
29188 }
29189 void DropoutParameter::set_has_dropout_ratio() {
29190   _has_bits_[0] |= 0x00000001u;
29191 }
29192 void DropoutParameter::clear_has_dropout_ratio() {
29193   _has_bits_[0] &= ~0x00000001u;
29194 }
29195 void DropoutParameter::clear_dropout_ratio() {
29196   dropout_ratio_ = 0.5f;
29197   clear_has_dropout_ratio();
29198 }
29199 float DropoutParameter::dropout_ratio() const {
29200   // @@protoc_insertion_point(field_get:opencv_caffe.DropoutParameter.dropout_ratio)
29201   return dropout_ratio_;
29202 }
29203 void DropoutParameter::set_dropout_ratio(float value) {
29204   set_has_dropout_ratio();
29205   dropout_ratio_ = value;
29206   // @@protoc_insertion_point(field_set:opencv_caffe.DropoutParameter.dropout_ratio)
29207 }
29208
29209 inline const DropoutParameter* DropoutParameter::internal_default_instance() {
29210   return &DropoutParameter_default_instance_.get();
29211 }
29212 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
29213
29214 // ===================================================================
29215
29216 #if !defined(_MSC_VER) || _MSC_VER >= 1900
29217 const int DummyDataParameter::kDataFillerFieldNumber;
29218 const int DummyDataParameter::kShapeFieldNumber;
29219 const int DummyDataParameter::kNumFieldNumber;
29220 const int DummyDataParameter::kChannelsFieldNumber;
29221 const int DummyDataParameter::kHeightFieldNumber;
29222 const int DummyDataParameter::kWidthFieldNumber;
29223 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
29224
29225 DummyDataParameter::DummyDataParameter()
29226   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
29227   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29228   SharedCtor();
29229   // @@protoc_insertion_point(constructor:opencv_caffe.DummyDataParameter)
29230 }
29231
29232 void DummyDataParameter::InitAsDefaultInstance() {
29233 }
29234
29235 DummyDataParameter::DummyDataParameter(const DummyDataParameter& from)
29236   : ::google::protobuf::Message(),
29237     _internal_metadata_(NULL) {
29238   SharedCtor();
29239   UnsafeMergeFrom(from);
29240   // @@protoc_insertion_point(copy_constructor:opencv_caffe.DummyDataParameter)
29241 }
29242
29243 void DummyDataParameter::SharedCtor() {
29244   _cached_size_ = 0;
29245 }
29246
29247 DummyDataParameter::~DummyDataParameter() {
29248   // @@protoc_insertion_point(destructor:opencv_caffe.DummyDataParameter)
29249   SharedDtor();
29250 }
29251
29252 void DummyDataParameter::SharedDtor() {
29253 }
29254
29255 void DummyDataParameter::SetCachedSize(int size) const {
29256   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29257   _cached_size_ = size;
29258   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29259 }
29260 const ::google::protobuf::Descriptor* DummyDataParameter::descriptor() {
29261   protobuf_AssignDescriptorsOnce();
29262   return DummyDataParameter_descriptor_;
29263 }
29264
29265 const DummyDataParameter& DummyDataParameter::default_instance() {
29266   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29267   return *internal_default_instance();
29268 }
29269
29270 ::google::protobuf::internal::ExplicitlyConstructed<DummyDataParameter> DummyDataParameter_default_instance_;
29271
29272 DummyDataParameter* DummyDataParameter::New(::google::protobuf::Arena* arena) const {
29273   DummyDataParameter* n = new DummyDataParameter;
29274   if (arena != NULL) {
29275     arena->Own(n);
29276   }
29277   return n;
29278 }
29279
29280 void DummyDataParameter::Clear() {
29281 // @@protoc_insertion_point(message_clear_start:opencv_caffe.DummyDataParameter)
29282   data_filler_.Clear();
29283   shape_.Clear();
29284   num_.Clear();
29285   channels_.Clear();
29286   height_.Clear();
29287   width_.Clear();
29288   _has_bits_.Clear();
29289   if (_internal_metadata_.have_unknown_fields()) {
29290     mutable_unknown_fields()->Clear();
29291   }
29292 }
29293
29294 bool DummyDataParameter::MergePartialFromCodedStream(
29295     ::google::protobuf::io::CodedInputStream* input) {
29296 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
29297   ::google::protobuf::uint32 tag;
29298   // @@protoc_insertion_point(parse_start:opencv_caffe.DummyDataParameter)
29299   for (;;) {
29300     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
29301     tag = p.first;
29302     if (!p.second) goto handle_unusual;
29303     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
29304       // repeated .opencv_caffe.FillerParameter data_filler = 1;
29305       case 1: {
29306         if (tag == 10) {
29307           DO_(input->IncrementRecursionDepth());
29308          parse_loop_data_filler:
29309           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
29310                 input, add_data_filler()));
29311         } else {
29312           goto handle_unusual;
29313         }
29314         if (input->ExpectTag(10)) goto parse_loop_data_filler;
29315         input->UnsafeDecrementRecursionDepth();
29316         if (input->ExpectTag(16)) goto parse_num;
29317         break;
29318       }
29319
29320       // repeated uint32 num = 2;
29321       case 2: {
29322         if (tag == 16) {
29323          parse_num:
29324           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29325                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29326                  1, 16, input, this->mutable_num())));
29327         } else if (tag == 18) {
29328           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29329                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29330                  input, this->mutable_num())));
29331         } else {
29332           goto handle_unusual;
29333         }
29334         if (input->ExpectTag(16)) goto parse_num;
29335         if (input->ExpectTag(24)) goto parse_channels;
29336         break;
29337       }
29338
29339       // repeated uint32 channels = 3;
29340       case 3: {
29341         if (tag == 24) {
29342          parse_channels:
29343           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29344                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29345                  1, 24, input, this->mutable_channels())));
29346         } else if (tag == 26) {
29347           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29348                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29349                  input, this->mutable_channels())));
29350         } else {
29351           goto handle_unusual;
29352         }
29353         if (input->ExpectTag(24)) goto parse_channels;
29354         if (input->ExpectTag(32)) goto parse_height;
29355         break;
29356       }
29357
29358       // repeated uint32 height = 4;
29359       case 4: {
29360         if (tag == 32) {
29361          parse_height:
29362           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29363                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29364                  1, 32, input, this->mutable_height())));
29365         } else if (tag == 34) {
29366           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29367                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29368                  input, this->mutable_height())));
29369         } else {
29370           goto handle_unusual;
29371         }
29372         if (input->ExpectTag(32)) goto parse_height;
29373         if (input->ExpectTag(40)) goto parse_width;
29374         break;
29375       }
29376
29377       // repeated uint32 width = 5;
29378       case 5: {
29379         if (tag == 40) {
29380          parse_width:
29381           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
29382                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29383                  1, 40, input, this->mutable_width())));
29384         } else if (tag == 42) {
29385           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
29386                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
29387                  input, this->mutable_width())));
29388         } else {
29389           goto handle_unusual;
29390         }
29391         if (input->ExpectTag(40)) goto parse_width;
29392         if (input->ExpectTag(50)) goto parse_shape;
29393         break;
29394       }
29395
29396       // repeated .opencv_caffe.BlobShape shape = 6;
29397       case 6: {
29398         if (tag == 50) {
29399          parse_shape:
29400           DO_(input->IncrementRecursionDepth());
29401          parse_loop_shape:
29402           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
29403                 input, add_shape()));
29404         } else {
29405           goto handle_unusual;
29406         }
29407         if (input->ExpectTag(50)) goto parse_loop_shape;
29408         input->UnsafeDecrementRecursionDepth();
29409         if (input->ExpectAtEnd()) goto success;
29410         break;
29411       }
29412
29413       default: {
29414       handle_unusual:
29415         if (tag == 0 ||
29416             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
29417             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
29418           goto success;
29419         }
29420         DO_(::google::protobuf::internal::WireFormat::SkipField(
29421               input, tag, mutable_unknown_fields()));
29422         break;
29423       }
29424     }
29425   }
29426 success:
29427   // @@protoc_insertion_point(parse_success:opencv_caffe.DummyDataParameter)
29428   return true;
29429 failure:
29430   // @@protoc_insertion_point(parse_failure:opencv_caffe.DummyDataParameter)
29431   return false;
29432 #undef DO_
29433 }
29434
29435 void DummyDataParameter::SerializeWithCachedSizes(
29436     ::google::protobuf::io::CodedOutputStream* output) const {
29437   // @@protoc_insertion_point(serialize_start:opencv_caffe.DummyDataParameter)
29438   // repeated .opencv_caffe.FillerParameter data_filler = 1;
29439   for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) {
29440     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
29441       1, this->data_filler(i), output);
29442   }
29443
29444   // repeated uint32 num = 2;
29445   for (int i = 0; i < this->num_size(); i++) {
29446     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29447       2, this->num(i), output);
29448   }
29449
29450   // repeated uint32 channels = 3;
29451   for (int i = 0; i < this->channels_size(); i++) {
29452     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29453       3, this->channels(i), output);
29454   }
29455
29456   // repeated uint32 height = 4;
29457   for (int i = 0; i < this->height_size(); i++) {
29458     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29459       4, this->height(i), output);
29460   }
29461
29462   // repeated uint32 width = 5;
29463   for (int i = 0; i < this->width_size(); i++) {
29464     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
29465       5, this->width(i), output);
29466   }
29467
29468   // repeated .opencv_caffe.BlobShape shape = 6;
29469   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
29470     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
29471       6, this->shape(i), output);
29472   }
29473
29474   if (_internal_metadata_.have_unknown_fields()) {
29475     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
29476         unknown_fields(), output);
29477   }
29478   // @@protoc_insertion_point(serialize_end:opencv_caffe.DummyDataParameter)
29479 }
29480
29481 ::google::protobuf::uint8* DummyDataParameter::InternalSerializeWithCachedSizesToArray(
29482     bool deterministic, ::google::protobuf::uint8* target) const {
29483   (void)deterministic; // Unused
29484   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.DummyDataParameter)
29485   // repeated .opencv_caffe.FillerParameter data_filler = 1;
29486   for (unsigned int i = 0, n = this->data_filler_size(); i < n; i++) {
29487     target = ::google::protobuf::internal::WireFormatLite::
29488       InternalWriteMessageNoVirtualToArray(
29489         1, this->data_filler(i), false, target);
29490   }
29491
29492   // repeated uint32 num = 2;
29493   for (int i = 0; i < this->num_size(); i++) {
29494     target = ::google::protobuf::internal::WireFormatLite::
29495       WriteUInt32ToArray(2, this->num(i), target);
29496   }
29497
29498   // repeated uint32 channels = 3;
29499   for (int i = 0; i < this->channels_size(); i++) {
29500     target = ::google::protobuf::internal::WireFormatLite::
29501       WriteUInt32ToArray(3, this->channels(i), target);
29502   }
29503
29504   // repeated uint32 height = 4;
29505   for (int i = 0; i < this->height_size(); i++) {
29506     target = ::google::protobuf::internal::WireFormatLite::
29507       WriteUInt32ToArray(4, this->height(i), target);
29508   }
29509
29510   // repeated uint32 width = 5;
29511   for (int i = 0; i < this->width_size(); i++) {
29512     target = ::google::protobuf::internal::WireFormatLite::
29513       WriteUInt32ToArray(5, this->width(i), target);
29514   }
29515
29516   // repeated .opencv_caffe.BlobShape shape = 6;
29517   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
29518     target = ::google::protobuf::internal::WireFormatLite::
29519       InternalWriteMessageNoVirtualToArray(
29520         6, this->shape(i), false, target);
29521   }
29522
29523   if (_internal_metadata_.have_unknown_fields()) {
29524     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
29525         unknown_fields(), target);
29526   }
29527   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.DummyDataParameter)
29528   return target;
29529 }
29530
29531 size_t DummyDataParameter::ByteSizeLong() const {
29532 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.DummyDataParameter)
29533   size_t total_size = 0;
29534
29535   // repeated .opencv_caffe.FillerParameter data_filler = 1;
29536   {
29537     unsigned int count = this->data_filler_size();
29538     total_size += 1UL * count;
29539     for (unsigned int i = 0; i < count; i++) {
29540       total_size +=
29541         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
29542           this->data_filler(i));
29543     }
29544   }
29545
29546   // repeated .opencv_caffe.BlobShape shape = 6;
29547   {
29548     unsigned int count = this->shape_size();
29549     total_size += 1UL * count;
29550     for (unsigned int i = 0; i < count; i++) {
29551       total_size +=
29552         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
29553           this->shape(i));
29554     }
29555   }
29556
29557   // repeated uint32 num = 2;
29558   {
29559     size_t data_size = 0;
29560     unsigned int count = this->num_size();
29561     for (unsigned int i = 0; i < count; i++) {
29562       data_size += ::google::protobuf::internal::WireFormatLite::
29563         UInt32Size(this->num(i));
29564     }
29565     total_size += 1 *
29566                   ::google::protobuf::internal::FromIntSize(this->num_size());
29567     total_size += data_size;
29568   }
29569
29570   // repeated uint32 channels = 3;
29571   {
29572     size_t data_size = 0;
29573     unsigned int count = this->channels_size();
29574     for (unsigned int i = 0; i < count; i++) {
29575       data_size += ::google::protobuf::internal::WireFormatLite::
29576         UInt32Size(this->channels(i));
29577     }
29578     total_size += 1 *
29579                   ::google::protobuf::internal::FromIntSize(this->channels_size());
29580     total_size += data_size;
29581   }
29582
29583   // repeated uint32 height = 4;
29584   {
29585     size_t data_size = 0;
29586     unsigned int count = this->height_size();
29587     for (unsigned int i = 0; i < count; i++) {
29588       data_size += ::google::protobuf::internal::WireFormatLite::
29589         UInt32Size(this->height(i));
29590     }
29591     total_size += 1 *
29592                   ::google::protobuf::internal::FromIntSize(this->height_size());
29593     total_size += data_size;
29594   }
29595
29596   // repeated uint32 width = 5;
29597   {
29598     size_t data_size = 0;
29599     unsigned int count = this->width_size();
29600     for (unsigned int i = 0; i < count; i++) {
29601       data_size += ::google::protobuf::internal::WireFormatLite::
29602         UInt32Size(this->width(i));
29603     }
29604     total_size += 1 *
29605                   ::google::protobuf::internal::FromIntSize(this->width_size());
29606     total_size += data_size;
29607   }
29608
29609   if (_internal_metadata_.have_unknown_fields()) {
29610     total_size +=
29611       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
29612         unknown_fields());
29613   }
29614   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
29615   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29616   _cached_size_ = cached_size;
29617   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29618   return total_size;
29619 }
29620
29621 void DummyDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
29622 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.DummyDataParameter)
29623   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
29624   const DummyDataParameter* source =
29625       ::google::protobuf::internal::DynamicCastToGenerated<const DummyDataParameter>(
29626           &from);
29627   if (source == NULL) {
29628   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.DummyDataParameter)
29629     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
29630   } else {
29631   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.DummyDataParameter)
29632     UnsafeMergeFrom(*source);
29633   }
29634 }
29635
29636 void DummyDataParameter::MergeFrom(const DummyDataParameter& from) {
29637 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.DummyDataParameter)
29638   if (GOOGLE_PREDICT_TRUE(&from != this)) {
29639     UnsafeMergeFrom(from);
29640   } else {
29641     MergeFromFail(__LINE__);
29642   }
29643 }
29644
29645 void DummyDataParameter::UnsafeMergeFrom(const DummyDataParameter& from) {
29646   GOOGLE_DCHECK(&from != this);
29647   data_filler_.MergeFrom(from.data_filler_);
29648   shape_.MergeFrom(from.shape_);
29649   num_.UnsafeMergeFrom(from.num_);
29650   channels_.UnsafeMergeFrom(from.channels_);
29651   height_.UnsafeMergeFrom(from.height_);
29652   width_.UnsafeMergeFrom(from.width_);
29653   if (from._internal_metadata_.have_unknown_fields()) {
29654     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
29655       from.unknown_fields(), &_internal_metadata_);
29656   }
29657 }
29658
29659 void DummyDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
29660 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.DummyDataParameter)
29661   if (&from == this) return;
29662   Clear();
29663   MergeFrom(from);
29664 }
29665
29666 void DummyDataParameter::CopyFrom(const DummyDataParameter& from) {
29667 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.DummyDataParameter)
29668   if (&from == this) return;
29669   Clear();
29670   UnsafeMergeFrom(from);
29671 }
29672
29673 bool DummyDataParameter::IsInitialized() const {
29674
29675   return true;
29676 }
29677
29678 void DummyDataParameter::Swap(DummyDataParameter* other) {
29679   if (other == this) return;
29680   InternalSwap(other);
29681 }
29682 void DummyDataParameter::InternalSwap(DummyDataParameter* other) {
29683   data_filler_.UnsafeArenaSwap(&other->data_filler_);
29684   shape_.UnsafeArenaSwap(&other->shape_);
29685   num_.UnsafeArenaSwap(&other->num_);
29686   channels_.UnsafeArenaSwap(&other->channels_);
29687   height_.UnsafeArenaSwap(&other->height_);
29688   width_.UnsafeArenaSwap(&other->width_);
29689   std::swap(_has_bits_[0], other->_has_bits_[0]);
29690   _internal_metadata_.Swap(&other->_internal_metadata_);
29691   std::swap(_cached_size_, other->_cached_size_);
29692 }
29693
29694 ::google::protobuf::Metadata DummyDataParameter::GetMetadata() const {
29695   protobuf_AssignDescriptorsOnce();
29696   ::google::protobuf::Metadata metadata;
29697   metadata.descriptor = DummyDataParameter_descriptor_;
29698   metadata.reflection = DummyDataParameter_reflection_;
29699   return metadata;
29700 }
29701
29702 #if PROTOBUF_INLINE_NOT_IN_HEADERS
29703 // DummyDataParameter
29704
29705 // repeated .opencv_caffe.FillerParameter data_filler = 1;
29706 int DummyDataParameter::data_filler_size() const {
29707   return data_filler_.size();
29708 }
29709 void DummyDataParameter::clear_data_filler() {
29710   data_filler_.Clear();
29711 }
29712 const ::opencv_caffe::FillerParameter& DummyDataParameter::data_filler(int index) const {
29713   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.data_filler)
29714   return data_filler_.Get(index);
29715 }
29716 ::opencv_caffe::FillerParameter* DummyDataParameter::mutable_data_filler(int index) {
29717   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.data_filler)
29718   return data_filler_.Mutable(index);
29719 }
29720 ::opencv_caffe::FillerParameter* DummyDataParameter::add_data_filler() {
29721   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.data_filler)
29722   return data_filler_.Add();
29723 }
29724 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >*
29725 DummyDataParameter::mutable_data_filler() {
29726   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.data_filler)
29727   return &data_filler_;
29728 }
29729 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >&
29730 DummyDataParameter::data_filler() const {
29731   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.data_filler)
29732   return data_filler_;
29733 }
29734
29735 // repeated .opencv_caffe.BlobShape shape = 6;
29736 int DummyDataParameter::shape_size() const {
29737   return shape_.size();
29738 }
29739 void DummyDataParameter::clear_shape() {
29740   shape_.Clear();
29741 }
29742 const ::opencv_caffe::BlobShape& DummyDataParameter::shape(int index) const {
29743   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.shape)
29744   return shape_.Get(index);
29745 }
29746 ::opencv_caffe::BlobShape* DummyDataParameter::mutable_shape(int index) {
29747   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.shape)
29748   return shape_.Mutable(index);
29749 }
29750 ::opencv_caffe::BlobShape* DummyDataParameter::add_shape() {
29751   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.shape)
29752   return shape_.Add();
29753 }
29754 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
29755 DummyDataParameter::mutable_shape() {
29756   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.shape)
29757   return &shape_;
29758 }
29759 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
29760 DummyDataParameter::shape() const {
29761   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.shape)
29762   return shape_;
29763 }
29764
29765 // repeated uint32 num = 2;
29766 int DummyDataParameter::num_size() const {
29767   return num_.size();
29768 }
29769 void DummyDataParameter::clear_num() {
29770   num_.Clear();
29771 }
29772 ::google::protobuf::uint32 DummyDataParameter::num(int index) const {
29773   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.num)
29774   return num_.Get(index);
29775 }
29776 void DummyDataParameter::set_num(int index, ::google::protobuf::uint32 value) {
29777   num_.Set(index, value);
29778   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.num)
29779 }
29780 void DummyDataParameter::add_num(::google::protobuf::uint32 value) {
29781   num_.Add(value);
29782   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.num)
29783 }
29784 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
29785 DummyDataParameter::num() const {
29786   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.num)
29787   return num_;
29788 }
29789 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
29790 DummyDataParameter::mutable_num() {
29791   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.num)
29792   return &num_;
29793 }
29794
29795 // repeated uint32 channels = 3;
29796 int DummyDataParameter::channels_size() const {
29797   return channels_.size();
29798 }
29799 void DummyDataParameter::clear_channels() {
29800   channels_.Clear();
29801 }
29802 ::google::protobuf::uint32 DummyDataParameter::channels(int index) const {
29803   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.channels)
29804   return channels_.Get(index);
29805 }
29806 void DummyDataParameter::set_channels(int index, ::google::protobuf::uint32 value) {
29807   channels_.Set(index, value);
29808   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.channels)
29809 }
29810 void DummyDataParameter::add_channels(::google::protobuf::uint32 value) {
29811   channels_.Add(value);
29812   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.channels)
29813 }
29814 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
29815 DummyDataParameter::channels() const {
29816   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.channels)
29817   return channels_;
29818 }
29819 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
29820 DummyDataParameter::mutable_channels() {
29821   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.channels)
29822   return &channels_;
29823 }
29824
29825 // repeated uint32 height = 4;
29826 int DummyDataParameter::height_size() const {
29827   return height_.size();
29828 }
29829 void DummyDataParameter::clear_height() {
29830   height_.Clear();
29831 }
29832 ::google::protobuf::uint32 DummyDataParameter::height(int index) const {
29833   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.height)
29834   return height_.Get(index);
29835 }
29836 void DummyDataParameter::set_height(int index, ::google::protobuf::uint32 value) {
29837   height_.Set(index, value);
29838   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.height)
29839 }
29840 void DummyDataParameter::add_height(::google::protobuf::uint32 value) {
29841   height_.Add(value);
29842   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.height)
29843 }
29844 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
29845 DummyDataParameter::height() const {
29846   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.height)
29847   return height_;
29848 }
29849 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
29850 DummyDataParameter::mutable_height() {
29851   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.height)
29852   return &height_;
29853 }
29854
29855 // repeated uint32 width = 5;
29856 int DummyDataParameter::width_size() const {
29857   return width_.size();
29858 }
29859 void DummyDataParameter::clear_width() {
29860   width_.Clear();
29861 }
29862 ::google::protobuf::uint32 DummyDataParameter::width(int index) const {
29863   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.width)
29864   return width_.Get(index);
29865 }
29866 void DummyDataParameter::set_width(int index, ::google::protobuf::uint32 value) {
29867   width_.Set(index, value);
29868   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.width)
29869 }
29870 void DummyDataParameter::add_width(::google::protobuf::uint32 value) {
29871   width_.Add(value);
29872   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.width)
29873 }
29874 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
29875 DummyDataParameter::width() const {
29876   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.width)
29877   return width_;
29878 }
29879 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
29880 DummyDataParameter::mutable_width() {
29881   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.width)
29882   return &width_;
29883 }
29884
29885 inline const DummyDataParameter* DummyDataParameter::internal_default_instance() {
29886   return &DummyDataParameter_default_instance_.get();
29887 }
29888 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
29889
29890 // ===================================================================
29891
29892 const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor() {
29893   protobuf_AssignDescriptorsOnce();
29894   return EltwiseParameter_EltwiseOp_descriptor_;
29895 }
29896 bool EltwiseParameter_EltwiseOp_IsValid(int value) {
29897   switch (value) {
29898     case 0:
29899     case 1:
29900     case 2:
29901       return true;
29902     default:
29903       return false;
29904   }
29905 }
29906
29907 #if !defined(_MSC_VER) || _MSC_VER >= 1900
29908 const EltwiseParameter_EltwiseOp EltwiseParameter::PROD;
29909 const EltwiseParameter_EltwiseOp EltwiseParameter::SUM;
29910 const EltwiseParameter_EltwiseOp EltwiseParameter::MAX;
29911 const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MIN;
29912 const EltwiseParameter_EltwiseOp EltwiseParameter::EltwiseOp_MAX;
29913 const int EltwiseParameter::EltwiseOp_ARRAYSIZE;
29914 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
29915 #if !defined(_MSC_VER) || _MSC_VER >= 1900
29916 const int EltwiseParameter::kOperationFieldNumber;
29917 const int EltwiseParameter::kCoeffFieldNumber;
29918 const int EltwiseParameter::kStableProdGradFieldNumber;
29919 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
29920
29921 EltwiseParameter::EltwiseParameter()
29922   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
29923   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29924   SharedCtor();
29925   // @@protoc_insertion_point(constructor:opencv_caffe.EltwiseParameter)
29926 }
29927
29928 void EltwiseParameter::InitAsDefaultInstance() {
29929 }
29930
29931 EltwiseParameter::EltwiseParameter(const EltwiseParameter& from)
29932   : ::google::protobuf::Message(),
29933     _internal_metadata_(NULL) {
29934   SharedCtor();
29935   UnsafeMergeFrom(from);
29936   // @@protoc_insertion_point(copy_constructor:opencv_caffe.EltwiseParameter)
29937 }
29938
29939 void EltwiseParameter::SharedCtor() {
29940   _cached_size_ = 0;
29941   operation_ = 1;
29942   stable_prod_grad_ = true;
29943 }
29944
29945 EltwiseParameter::~EltwiseParameter() {
29946   // @@protoc_insertion_point(destructor:opencv_caffe.EltwiseParameter)
29947   SharedDtor();
29948 }
29949
29950 void EltwiseParameter::SharedDtor() {
29951 }
29952
29953 void EltwiseParameter::SetCachedSize(int size) const {
29954   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
29955   _cached_size_ = size;
29956   GOOGLE_SAFE_CONCURRENT_WRITES_END();
29957 }
29958 const ::google::protobuf::Descriptor* EltwiseParameter::descriptor() {
29959   protobuf_AssignDescriptorsOnce();
29960   return EltwiseParameter_descriptor_;
29961 }
29962
29963 const EltwiseParameter& EltwiseParameter::default_instance() {
29964   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
29965   return *internal_default_instance();
29966 }
29967
29968 ::google::protobuf::internal::ExplicitlyConstructed<EltwiseParameter> EltwiseParameter_default_instance_;
29969
29970 EltwiseParameter* EltwiseParameter::New(::google::protobuf::Arena* arena) const {
29971   EltwiseParameter* n = new EltwiseParameter;
29972   if (arena != NULL) {
29973     arena->Own(n);
29974   }
29975   return n;
29976 }
29977
29978 void EltwiseParameter::Clear() {
29979 // @@protoc_insertion_point(message_clear_start:opencv_caffe.EltwiseParameter)
29980   if (_has_bits_[0 / 32] & 5u) {
29981     operation_ = 1;
29982     stable_prod_grad_ = true;
29983   }
29984   coeff_.Clear();
29985   _has_bits_.Clear();
29986   if (_internal_metadata_.have_unknown_fields()) {
29987     mutable_unknown_fields()->Clear();
29988   }
29989 }
29990
29991 bool EltwiseParameter::MergePartialFromCodedStream(
29992     ::google::protobuf::io::CodedInputStream* input) {
29993 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
29994   ::google::protobuf::uint32 tag;
29995   // @@protoc_insertion_point(parse_start:opencv_caffe.EltwiseParameter)
29996   for (;;) {
29997     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
29998     tag = p.first;
29999     if (!p.second) goto handle_unusual;
30000     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
30001       // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30002       case 1: {
30003         if (tag == 8) {
30004           int value;
30005           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30006                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
30007                  input, &value)));
30008           if (::opencv_caffe::EltwiseParameter_EltwiseOp_IsValid(value)) {
30009             set_operation(static_cast< ::opencv_caffe::EltwiseParameter_EltwiseOp >(value));
30010           } else {
30011             mutable_unknown_fields()->AddVarint(1, value);
30012           }
30013         } else {
30014           goto handle_unusual;
30015         }
30016         if (input->ExpectTag(21)) goto parse_coeff;
30017         break;
30018       }
30019
30020       // repeated float coeff = 2;
30021       case 2: {
30022         if (tag == 21) {
30023          parse_coeff:
30024           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
30025                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
30026                  1, 21, input, this->mutable_coeff())));
30027         } else if (tag == 18) {
30028           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
30029                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
30030                  input, this->mutable_coeff())));
30031         } else {
30032           goto handle_unusual;
30033         }
30034         if (input->ExpectTag(21)) goto parse_coeff;
30035         if (input->ExpectTag(24)) goto parse_stable_prod_grad;
30036         break;
30037       }
30038
30039       // optional bool stable_prod_grad = 3 [default = true];
30040       case 3: {
30041         if (tag == 24) {
30042          parse_stable_prod_grad:
30043           set_has_stable_prod_grad();
30044           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30045                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
30046                  input, &stable_prod_grad_)));
30047         } else {
30048           goto handle_unusual;
30049         }
30050         if (input->ExpectAtEnd()) goto success;
30051         break;
30052       }
30053
30054       default: {
30055       handle_unusual:
30056         if (tag == 0 ||
30057             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
30058             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
30059           goto success;
30060         }
30061         DO_(::google::protobuf::internal::WireFormat::SkipField(
30062               input, tag, mutable_unknown_fields()));
30063         break;
30064       }
30065     }
30066   }
30067 success:
30068   // @@protoc_insertion_point(parse_success:opencv_caffe.EltwiseParameter)
30069   return true;
30070 failure:
30071   // @@protoc_insertion_point(parse_failure:opencv_caffe.EltwiseParameter)
30072   return false;
30073 #undef DO_
30074 }
30075
30076 void EltwiseParameter::SerializeWithCachedSizes(
30077     ::google::protobuf::io::CodedOutputStream* output) const {
30078   // @@protoc_insertion_point(serialize_start:opencv_caffe.EltwiseParameter)
30079   // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30080   if (has_operation()) {
30081     ::google::protobuf::internal::WireFormatLite::WriteEnum(
30082       1, this->operation(), output);
30083   }
30084
30085   // repeated float coeff = 2;
30086   for (int i = 0; i < this->coeff_size(); i++) {
30087     ::google::protobuf::internal::WireFormatLite::WriteFloat(
30088       2, this->coeff(i), output);
30089   }
30090
30091   // optional bool stable_prod_grad = 3 [default = true];
30092   if (has_stable_prod_grad()) {
30093     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->stable_prod_grad(), output);
30094   }
30095
30096   if (_internal_metadata_.have_unknown_fields()) {
30097     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
30098         unknown_fields(), output);
30099   }
30100   // @@protoc_insertion_point(serialize_end:opencv_caffe.EltwiseParameter)
30101 }
30102
30103 ::google::protobuf::uint8* EltwiseParameter::InternalSerializeWithCachedSizesToArray(
30104     bool deterministic, ::google::protobuf::uint8* target) const {
30105   (void)deterministic; // Unused
30106   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.EltwiseParameter)
30107   // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30108   if (has_operation()) {
30109     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
30110       1, this->operation(), target);
30111   }
30112
30113   // repeated float coeff = 2;
30114   for (int i = 0; i < this->coeff_size(); i++) {
30115     target = ::google::protobuf::internal::WireFormatLite::
30116       WriteFloatToArray(2, this->coeff(i), target);
30117   }
30118
30119   // optional bool stable_prod_grad = 3 [default = true];
30120   if (has_stable_prod_grad()) {
30121     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->stable_prod_grad(), target);
30122   }
30123
30124   if (_internal_metadata_.have_unknown_fields()) {
30125     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
30126         unknown_fields(), target);
30127   }
30128   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.EltwiseParameter)
30129   return target;
30130 }
30131
30132 size_t EltwiseParameter::ByteSizeLong() const {
30133 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.EltwiseParameter)
30134   size_t total_size = 0;
30135
30136   if (_has_bits_[0 / 32] & 5u) {
30137     // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30138     if (has_operation()) {
30139       total_size += 1 +
30140         ::google::protobuf::internal::WireFormatLite::EnumSize(this->operation());
30141     }
30142
30143     // optional bool stable_prod_grad = 3 [default = true];
30144     if (has_stable_prod_grad()) {
30145       total_size += 1 + 1;
30146     }
30147
30148   }
30149   // repeated float coeff = 2;
30150   {
30151     size_t data_size = 0;
30152     unsigned int count = this->coeff_size();
30153     data_size = 4UL * count;
30154     total_size += 1 *
30155                   ::google::protobuf::internal::FromIntSize(this->coeff_size());
30156     total_size += data_size;
30157   }
30158
30159   if (_internal_metadata_.have_unknown_fields()) {
30160     total_size +=
30161       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
30162         unknown_fields());
30163   }
30164   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
30165   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30166   _cached_size_ = cached_size;
30167   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30168   return total_size;
30169 }
30170
30171 void EltwiseParameter::MergeFrom(const ::google::protobuf::Message& from) {
30172 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.EltwiseParameter)
30173   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
30174   const EltwiseParameter* source =
30175       ::google::protobuf::internal::DynamicCastToGenerated<const EltwiseParameter>(
30176           &from);
30177   if (source == NULL) {
30178   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.EltwiseParameter)
30179     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
30180   } else {
30181   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.EltwiseParameter)
30182     UnsafeMergeFrom(*source);
30183   }
30184 }
30185
30186 void EltwiseParameter::MergeFrom(const EltwiseParameter& from) {
30187 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.EltwiseParameter)
30188   if (GOOGLE_PREDICT_TRUE(&from != this)) {
30189     UnsafeMergeFrom(from);
30190   } else {
30191     MergeFromFail(__LINE__);
30192   }
30193 }
30194
30195 void EltwiseParameter::UnsafeMergeFrom(const EltwiseParameter& from) {
30196   GOOGLE_DCHECK(&from != this);
30197   coeff_.UnsafeMergeFrom(from.coeff_);
30198   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
30199     if (from.has_operation()) {
30200       set_operation(from.operation());
30201     }
30202     if (from.has_stable_prod_grad()) {
30203       set_stable_prod_grad(from.stable_prod_grad());
30204     }
30205   }
30206   if (from._internal_metadata_.have_unknown_fields()) {
30207     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
30208       from.unknown_fields(), &_internal_metadata_);
30209   }
30210 }
30211
30212 void EltwiseParameter::CopyFrom(const ::google::protobuf::Message& from) {
30213 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.EltwiseParameter)
30214   if (&from == this) return;
30215   Clear();
30216   MergeFrom(from);
30217 }
30218
30219 void EltwiseParameter::CopyFrom(const EltwiseParameter& from) {
30220 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.EltwiseParameter)
30221   if (&from == this) return;
30222   Clear();
30223   UnsafeMergeFrom(from);
30224 }
30225
30226 bool EltwiseParameter::IsInitialized() const {
30227
30228   return true;
30229 }
30230
30231 void EltwiseParameter::Swap(EltwiseParameter* other) {
30232   if (other == this) return;
30233   InternalSwap(other);
30234 }
30235 void EltwiseParameter::InternalSwap(EltwiseParameter* other) {
30236   std::swap(operation_, other->operation_);
30237   coeff_.UnsafeArenaSwap(&other->coeff_);
30238   std::swap(stable_prod_grad_, other->stable_prod_grad_);
30239   std::swap(_has_bits_[0], other->_has_bits_[0]);
30240   _internal_metadata_.Swap(&other->_internal_metadata_);
30241   std::swap(_cached_size_, other->_cached_size_);
30242 }
30243
30244 ::google::protobuf::Metadata EltwiseParameter::GetMetadata() const {
30245   protobuf_AssignDescriptorsOnce();
30246   ::google::protobuf::Metadata metadata;
30247   metadata.descriptor = EltwiseParameter_descriptor_;
30248   metadata.reflection = EltwiseParameter_reflection_;
30249   return metadata;
30250 }
30251
30252 #if PROTOBUF_INLINE_NOT_IN_HEADERS
30253 // EltwiseParameter
30254
30255 // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
30256 bool EltwiseParameter::has_operation() const {
30257   return (_has_bits_[0] & 0x00000001u) != 0;
30258 }
30259 void EltwiseParameter::set_has_operation() {
30260   _has_bits_[0] |= 0x00000001u;
30261 }
30262 void EltwiseParameter::clear_has_operation() {
30263   _has_bits_[0] &= ~0x00000001u;
30264 }
30265 void EltwiseParameter::clear_operation() {
30266   operation_ = 1;
30267   clear_has_operation();
30268 }
30269 ::opencv_caffe::EltwiseParameter_EltwiseOp EltwiseParameter::operation() const {
30270   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.operation)
30271   return static_cast< ::opencv_caffe::EltwiseParameter_EltwiseOp >(operation_);
30272 }
30273 void EltwiseParameter::set_operation(::opencv_caffe::EltwiseParameter_EltwiseOp value) {
30274   assert(::opencv_caffe::EltwiseParameter_EltwiseOp_IsValid(value));
30275   set_has_operation();
30276   operation_ = value;
30277   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.operation)
30278 }
30279
30280 // repeated float coeff = 2;
30281 int EltwiseParameter::coeff_size() const {
30282   return coeff_.size();
30283 }
30284 void EltwiseParameter::clear_coeff() {
30285   coeff_.Clear();
30286 }
30287 float EltwiseParameter::coeff(int index) const {
30288   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.coeff)
30289   return coeff_.Get(index);
30290 }
30291 void EltwiseParameter::set_coeff(int index, float value) {
30292   coeff_.Set(index, value);
30293   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.coeff)
30294 }
30295 void EltwiseParameter::add_coeff(float value) {
30296   coeff_.Add(value);
30297   // @@protoc_insertion_point(field_add:opencv_caffe.EltwiseParameter.coeff)
30298 }
30299 const ::google::protobuf::RepeatedField< float >&
30300 EltwiseParameter::coeff() const {
30301   // @@protoc_insertion_point(field_list:opencv_caffe.EltwiseParameter.coeff)
30302   return coeff_;
30303 }
30304 ::google::protobuf::RepeatedField< float >*
30305 EltwiseParameter::mutable_coeff() {
30306   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.EltwiseParameter.coeff)
30307   return &coeff_;
30308 }
30309
30310 // optional bool stable_prod_grad = 3 [default = true];
30311 bool EltwiseParameter::has_stable_prod_grad() const {
30312   return (_has_bits_[0] & 0x00000004u) != 0;
30313 }
30314 void EltwiseParameter::set_has_stable_prod_grad() {
30315   _has_bits_[0] |= 0x00000004u;
30316 }
30317 void EltwiseParameter::clear_has_stable_prod_grad() {
30318   _has_bits_[0] &= ~0x00000004u;
30319 }
30320 void EltwiseParameter::clear_stable_prod_grad() {
30321   stable_prod_grad_ = true;
30322   clear_has_stable_prod_grad();
30323 }
30324 bool EltwiseParameter::stable_prod_grad() const {
30325   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.stable_prod_grad)
30326   return stable_prod_grad_;
30327 }
30328 void EltwiseParameter::set_stable_prod_grad(bool value) {
30329   set_has_stable_prod_grad();
30330   stable_prod_grad_ = value;
30331   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.stable_prod_grad)
30332 }
30333
30334 inline const EltwiseParameter* EltwiseParameter::internal_default_instance() {
30335   return &EltwiseParameter_default_instance_.get();
30336 }
30337 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
30338
30339 // ===================================================================
30340
30341 #if !defined(_MSC_VER) || _MSC_VER >= 1900
30342 const int ELUParameter::kAlphaFieldNumber;
30343 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
30344
30345 ELUParameter::ELUParameter()
30346   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
30347   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30348   SharedCtor();
30349   // @@protoc_insertion_point(constructor:opencv_caffe.ELUParameter)
30350 }
30351
30352 void ELUParameter::InitAsDefaultInstance() {
30353 }
30354
30355 ELUParameter::ELUParameter(const ELUParameter& from)
30356   : ::google::protobuf::Message(),
30357     _internal_metadata_(NULL) {
30358   SharedCtor();
30359   UnsafeMergeFrom(from);
30360   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ELUParameter)
30361 }
30362
30363 void ELUParameter::SharedCtor() {
30364   _cached_size_ = 0;
30365   alpha_ = 1;
30366 }
30367
30368 ELUParameter::~ELUParameter() {
30369   // @@protoc_insertion_point(destructor:opencv_caffe.ELUParameter)
30370   SharedDtor();
30371 }
30372
30373 void ELUParameter::SharedDtor() {
30374 }
30375
30376 void ELUParameter::SetCachedSize(int size) const {
30377   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30378   _cached_size_ = size;
30379   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30380 }
30381 const ::google::protobuf::Descriptor* ELUParameter::descriptor() {
30382   protobuf_AssignDescriptorsOnce();
30383   return ELUParameter_descriptor_;
30384 }
30385
30386 const ELUParameter& ELUParameter::default_instance() {
30387   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30388   return *internal_default_instance();
30389 }
30390
30391 ::google::protobuf::internal::ExplicitlyConstructed<ELUParameter> ELUParameter_default_instance_;
30392
30393 ELUParameter* ELUParameter::New(::google::protobuf::Arena* arena) const {
30394   ELUParameter* n = new ELUParameter;
30395   if (arena != NULL) {
30396     arena->Own(n);
30397   }
30398   return n;
30399 }
30400
30401 void ELUParameter::Clear() {
30402 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ELUParameter)
30403   alpha_ = 1;
30404   _has_bits_.Clear();
30405   if (_internal_metadata_.have_unknown_fields()) {
30406     mutable_unknown_fields()->Clear();
30407   }
30408 }
30409
30410 bool ELUParameter::MergePartialFromCodedStream(
30411     ::google::protobuf::io::CodedInputStream* input) {
30412 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
30413   ::google::protobuf::uint32 tag;
30414   // @@protoc_insertion_point(parse_start:opencv_caffe.ELUParameter)
30415   for (;;) {
30416     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
30417     tag = p.first;
30418     if (!p.second) goto handle_unusual;
30419     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
30420       // optional float alpha = 1 [default = 1];
30421       case 1: {
30422         if (tag == 13) {
30423           set_has_alpha();
30424           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30425                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
30426                  input, &alpha_)));
30427         } else {
30428           goto handle_unusual;
30429         }
30430         if (input->ExpectAtEnd()) goto success;
30431         break;
30432       }
30433
30434       default: {
30435       handle_unusual:
30436         if (tag == 0 ||
30437             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
30438             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
30439           goto success;
30440         }
30441         DO_(::google::protobuf::internal::WireFormat::SkipField(
30442               input, tag, mutable_unknown_fields()));
30443         break;
30444       }
30445     }
30446   }
30447 success:
30448   // @@protoc_insertion_point(parse_success:opencv_caffe.ELUParameter)
30449   return true;
30450 failure:
30451   // @@protoc_insertion_point(parse_failure:opencv_caffe.ELUParameter)
30452   return false;
30453 #undef DO_
30454 }
30455
30456 void ELUParameter::SerializeWithCachedSizes(
30457     ::google::protobuf::io::CodedOutputStream* output) const {
30458   // @@protoc_insertion_point(serialize_start:opencv_caffe.ELUParameter)
30459   // optional float alpha = 1 [default = 1];
30460   if (has_alpha()) {
30461     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->alpha(), output);
30462   }
30463
30464   if (_internal_metadata_.have_unknown_fields()) {
30465     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
30466         unknown_fields(), output);
30467   }
30468   // @@protoc_insertion_point(serialize_end:opencv_caffe.ELUParameter)
30469 }
30470
30471 ::google::protobuf::uint8* ELUParameter::InternalSerializeWithCachedSizesToArray(
30472     bool deterministic, ::google::protobuf::uint8* target) const {
30473   (void)deterministic; // Unused
30474   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ELUParameter)
30475   // optional float alpha = 1 [default = 1];
30476   if (has_alpha()) {
30477     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->alpha(), target);
30478   }
30479
30480   if (_internal_metadata_.have_unknown_fields()) {
30481     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
30482         unknown_fields(), target);
30483   }
30484   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ELUParameter)
30485   return target;
30486 }
30487
30488 size_t ELUParameter::ByteSizeLong() const {
30489 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ELUParameter)
30490   size_t total_size = 0;
30491
30492   // optional float alpha = 1 [default = 1];
30493   if (has_alpha()) {
30494     total_size += 1 + 4;
30495   }
30496
30497   if (_internal_metadata_.have_unknown_fields()) {
30498     total_size +=
30499       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
30500         unknown_fields());
30501   }
30502   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
30503   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30504   _cached_size_ = cached_size;
30505   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30506   return total_size;
30507 }
30508
30509 void ELUParameter::MergeFrom(const ::google::protobuf::Message& from) {
30510 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ELUParameter)
30511   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
30512   const ELUParameter* source =
30513       ::google::protobuf::internal::DynamicCastToGenerated<const ELUParameter>(
30514           &from);
30515   if (source == NULL) {
30516   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ELUParameter)
30517     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
30518   } else {
30519   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ELUParameter)
30520     UnsafeMergeFrom(*source);
30521   }
30522 }
30523
30524 void ELUParameter::MergeFrom(const ELUParameter& from) {
30525 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ELUParameter)
30526   if (GOOGLE_PREDICT_TRUE(&from != this)) {
30527     UnsafeMergeFrom(from);
30528   } else {
30529     MergeFromFail(__LINE__);
30530   }
30531 }
30532
30533 void ELUParameter::UnsafeMergeFrom(const ELUParameter& from) {
30534   GOOGLE_DCHECK(&from != this);
30535   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
30536     if (from.has_alpha()) {
30537       set_alpha(from.alpha());
30538     }
30539   }
30540   if (from._internal_metadata_.have_unknown_fields()) {
30541     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
30542       from.unknown_fields(), &_internal_metadata_);
30543   }
30544 }
30545
30546 void ELUParameter::CopyFrom(const ::google::protobuf::Message& from) {
30547 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ELUParameter)
30548   if (&from == this) return;
30549   Clear();
30550   MergeFrom(from);
30551 }
30552
30553 void ELUParameter::CopyFrom(const ELUParameter& from) {
30554 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ELUParameter)
30555   if (&from == this) return;
30556   Clear();
30557   UnsafeMergeFrom(from);
30558 }
30559
30560 bool ELUParameter::IsInitialized() const {
30561
30562   return true;
30563 }
30564
30565 void ELUParameter::Swap(ELUParameter* other) {
30566   if (other == this) return;
30567   InternalSwap(other);
30568 }
30569 void ELUParameter::InternalSwap(ELUParameter* other) {
30570   std::swap(alpha_, other->alpha_);
30571   std::swap(_has_bits_[0], other->_has_bits_[0]);
30572   _internal_metadata_.Swap(&other->_internal_metadata_);
30573   std::swap(_cached_size_, other->_cached_size_);
30574 }
30575
30576 ::google::protobuf::Metadata ELUParameter::GetMetadata() const {
30577   protobuf_AssignDescriptorsOnce();
30578   ::google::protobuf::Metadata metadata;
30579   metadata.descriptor = ELUParameter_descriptor_;
30580   metadata.reflection = ELUParameter_reflection_;
30581   return metadata;
30582 }
30583
30584 #if PROTOBUF_INLINE_NOT_IN_HEADERS
30585 // ELUParameter
30586
30587 // optional float alpha = 1 [default = 1];
30588 bool ELUParameter::has_alpha() const {
30589   return (_has_bits_[0] & 0x00000001u) != 0;
30590 }
30591 void ELUParameter::set_has_alpha() {
30592   _has_bits_[0] |= 0x00000001u;
30593 }
30594 void ELUParameter::clear_has_alpha() {
30595   _has_bits_[0] &= ~0x00000001u;
30596 }
30597 void ELUParameter::clear_alpha() {
30598   alpha_ = 1;
30599   clear_has_alpha();
30600 }
30601 float ELUParameter::alpha() const {
30602   // @@protoc_insertion_point(field_get:opencv_caffe.ELUParameter.alpha)
30603   return alpha_;
30604 }
30605 void ELUParameter::set_alpha(float value) {
30606   set_has_alpha();
30607   alpha_ = value;
30608   // @@protoc_insertion_point(field_set:opencv_caffe.ELUParameter.alpha)
30609 }
30610
30611 inline const ELUParameter* ELUParameter::internal_default_instance() {
30612   return &ELUParameter_default_instance_.get();
30613 }
30614 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
30615
30616 // ===================================================================
30617
30618 #if !defined(_MSC_VER) || _MSC_VER >= 1900
30619 const int EmbedParameter::kNumOutputFieldNumber;
30620 const int EmbedParameter::kInputDimFieldNumber;
30621 const int EmbedParameter::kBiasTermFieldNumber;
30622 const int EmbedParameter::kWeightFillerFieldNumber;
30623 const int EmbedParameter::kBiasFillerFieldNumber;
30624 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
30625
30626 EmbedParameter::EmbedParameter()
30627   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
30628   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30629   SharedCtor();
30630   // @@protoc_insertion_point(constructor:opencv_caffe.EmbedParameter)
30631 }
30632
30633 void EmbedParameter::InitAsDefaultInstance() {
30634   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
30635       ::opencv_caffe::FillerParameter::internal_default_instance());
30636   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
30637       ::opencv_caffe::FillerParameter::internal_default_instance());
30638 }
30639
30640 EmbedParameter::EmbedParameter(const EmbedParameter& from)
30641   : ::google::protobuf::Message(),
30642     _internal_metadata_(NULL) {
30643   SharedCtor();
30644   UnsafeMergeFrom(from);
30645   // @@protoc_insertion_point(copy_constructor:opencv_caffe.EmbedParameter)
30646 }
30647
30648 void EmbedParameter::SharedCtor() {
30649   _cached_size_ = 0;
30650   weight_filler_ = NULL;
30651   bias_filler_ = NULL;
30652   ::memset(&num_output_, 0, reinterpret_cast<char*>(&input_dim_) -
30653     reinterpret_cast<char*>(&num_output_) + sizeof(input_dim_));
30654   bias_term_ = true;
30655 }
30656
30657 EmbedParameter::~EmbedParameter() {
30658   // @@protoc_insertion_point(destructor:opencv_caffe.EmbedParameter)
30659   SharedDtor();
30660 }
30661
30662 void EmbedParameter::SharedDtor() {
30663   if (this != &EmbedParameter_default_instance_.get()) {
30664     delete weight_filler_;
30665     delete bias_filler_;
30666   }
30667 }
30668
30669 void EmbedParameter::SetCachedSize(int size) const {
30670   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30671   _cached_size_ = size;
30672   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30673 }
30674 const ::google::protobuf::Descriptor* EmbedParameter::descriptor() {
30675   protobuf_AssignDescriptorsOnce();
30676   return EmbedParameter_descriptor_;
30677 }
30678
30679 const EmbedParameter& EmbedParameter::default_instance() {
30680   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
30681   return *internal_default_instance();
30682 }
30683
30684 ::google::protobuf::internal::ExplicitlyConstructed<EmbedParameter> EmbedParameter_default_instance_;
30685
30686 EmbedParameter* EmbedParameter::New(::google::protobuf::Arena* arena) const {
30687   EmbedParameter* n = new EmbedParameter;
30688   if (arena != NULL) {
30689     arena->Own(n);
30690   }
30691   return n;
30692 }
30693
30694 void EmbedParameter::Clear() {
30695 // @@protoc_insertion_point(message_clear_start:opencv_caffe.EmbedParameter)
30696 #if defined(__clang__)
30697 #define ZR_HELPER_(f) \
30698   _Pragma("clang diagnostic push") \
30699   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
30700   __builtin_offsetof(EmbedParameter, f) \
30701   _Pragma("clang diagnostic pop")
30702 #else
30703 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
30704   &reinterpret_cast<EmbedParameter*>(16)->f)
30705 #endif
30706
30707 #define ZR_(first, last) do {\
30708   ::memset(&(first), 0,\
30709            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
30710 } while (0)
30711
30712   if (_has_bits_[0 / 32] & 31u) {
30713     ZR_(num_output_, input_dim_);
30714     bias_term_ = true;
30715     if (has_weight_filler()) {
30716       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
30717     }
30718     if (has_bias_filler()) {
30719       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
30720     }
30721   }
30722
30723 #undef ZR_HELPER_
30724 #undef ZR_
30725
30726   _has_bits_.Clear();
30727   if (_internal_metadata_.have_unknown_fields()) {
30728     mutable_unknown_fields()->Clear();
30729   }
30730 }
30731
30732 bool EmbedParameter::MergePartialFromCodedStream(
30733     ::google::protobuf::io::CodedInputStream* input) {
30734 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
30735   ::google::protobuf::uint32 tag;
30736   // @@protoc_insertion_point(parse_start:opencv_caffe.EmbedParameter)
30737   for (;;) {
30738     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
30739     tag = p.first;
30740     if (!p.second) goto handle_unusual;
30741     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
30742       // optional uint32 num_output = 1;
30743       case 1: {
30744         if (tag == 8) {
30745           set_has_num_output();
30746           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30747                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
30748                  input, &num_output_)));
30749         } else {
30750           goto handle_unusual;
30751         }
30752         if (input->ExpectTag(16)) goto parse_input_dim;
30753         break;
30754       }
30755
30756       // optional uint32 input_dim = 2;
30757       case 2: {
30758         if (tag == 16) {
30759          parse_input_dim:
30760           set_has_input_dim();
30761           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30762                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
30763                  input, &input_dim_)));
30764         } else {
30765           goto handle_unusual;
30766         }
30767         if (input->ExpectTag(24)) goto parse_bias_term;
30768         break;
30769       }
30770
30771       // optional bool bias_term = 3 [default = true];
30772       case 3: {
30773         if (tag == 24) {
30774          parse_bias_term:
30775           set_has_bias_term();
30776           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
30777                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
30778                  input, &bias_term_)));
30779         } else {
30780           goto handle_unusual;
30781         }
30782         if (input->ExpectTag(34)) goto parse_weight_filler;
30783         break;
30784       }
30785
30786       // optional .opencv_caffe.FillerParameter weight_filler = 4;
30787       case 4: {
30788         if (tag == 34) {
30789          parse_weight_filler:
30790           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
30791                input, mutable_weight_filler()));
30792         } else {
30793           goto handle_unusual;
30794         }
30795         if (input->ExpectTag(42)) goto parse_bias_filler;
30796         break;
30797       }
30798
30799       // optional .opencv_caffe.FillerParameter bias_filler = 5;
30800       case 5: {
30801         if (tag == 42) {
30802          parse_bias_filler:
30803           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
30804                input, mutable_bias_filler()));
30805         } else {
30806           goto handle_unusual;
30807         }
30808         if (input->ExpectAtEnd()) goto success;
30809         break;
30810       }
30811
30812       default: {
30813       handle_unusual:
30814         if (tag == 0 ||
30815             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
30816             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
30817           goto success;
30818         }
30819         DO_(::google::protobuf::internal::WireFormat::SkipField(
30820               input, tag, mutable_unknown_fields()));
30821         break;
30822       }
30823     }
30824   }
30825 success:
30826   // @@protoc_insertion_point(parse_success:opencv_caffe.EmbedParameter)
30827   return true;
30828 failure:
30829   // @@protoc_insertion_point(parse_failure:opencv_caffe.EmbedParameter)
30830   return false;
30831 #undef DO_
30832 }
30833
30834 void EmbedParameter::SerializeWithCachedSizes(
30835     ::google::protobuf::io::CodedOutputStream* output) const {
30836   // @@protoc_insertion_point(serialize_start:opencv_caffe.EmbedParameter)
30837   // optional uint32 num_output = 1;
30838   if (has_num_output()) {
30839     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
30840   }
30841
30842   // optional uint32 input_dim = 2;
30843   if (has_input_dim()) {
30844     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->input_dim(), output);
30845   }
30846
30847   // optional bool bias_term = 3 [default = true];
30848   if (has_bias_term()) {
30849     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->bias_term(), output);
30850   }
30851
30852   // optional .opencv_caffe.FillerParameter weight_filler = 4;
30853   if (has_weight_filler()) {
30854     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
30855       4, *this->weight_filler_, output);
30856   }
30857
30858   // optional .opencv_caffe.FillerParameter bias_filler = 5;
30859   if (has_bias_filler()) {
30860     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
30861       5, *this->bias_filler_, output);
30862   }
30863
30864   if (_internal_metadata_.have_unknown_fields()) {
30865     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
30866         unknown_fields(), output);
30867   }
30868   // @@protoc_insertion_point(serialize_end:opencv_caffe.EmbedParameter)
30869 }
30870
30871 ::google::protobuf::uint8* EmbedParameter::InternalSerializeWithCachedSizesToArray(
30872     bool deterministic, ::google::protobuf::uint8* target) const {
30873   (void)deterministic; // Unused
30874   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.EmbedParameter)
30875   // optional uint32 num_output = 1;
30876   if (has_num_output()) {
30877     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
30878   }
30879
30880   // optional uint32 input_dim = 2;
30881   if (has_input_dim()) {
30882     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->input_dim(), target);
30883   }
30884
30885   // optional bool bias_term = 3 [default = true];
30886   if (has_bias_term()) {
30887     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->bias_term(), target);
30888   }
30889
30890   // optional .opencv_caffe.FillerParameter weight_filler = 4;
30891   if (has_weight_filler()) {
30892     target = ::google::protobuf::internal::WireFormatLite::
30893       InternalWriteMessageNoVirtualToArray(
30894         4, *this->weight_filler_, false, target);
30895   }
30896
30897   // optional .opencv_caffe.FillerParameter bias_filler = 5;
30898   if (has_bias_filler()) {
30899     target = ::google::protobuf::internal::WireFormatLite::
30900       InternalWriteMessageNoVirtualToArray(
30901         5, *this->bias_filler_, false, target);
30902   }
30903
30904   if (_internal_metadata_.have_unknown_fields()) {
30905     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
30906         unknown_fields(), target);
30907   }
30908   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.EmbedParameter)
30909   return target;
30910 }
30911
30912 size_t EmbedParameter::ByteSizeLong() const {
30913 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.EmbedParameter)
30914   size_t total_size = 0;
30915
30916   if (_has_bits_[0 / 32] & 31u) {
30917     // optional uint32 num_output = 1;
30918     if (has_num_output()) {
30919       total_size += 1 +
30920         ::google::protobuf::internal::WireFormatLite::UInt32Size(
30921           this->num_output());
30922     }
30923
30924     // optional uint32 input_dim = 2;
30925     if (has_input_dim()) {
30926       total_size += 1 +
30927         ::google::protobuf::internal::WireFormatLite::UInt32Size(
30928           this->input_dim());
30929     }
30930
30931     // optional bool bias_term = 3 [default = true];
30932     if (has_bias_term()) {
30933       total_size += 1 + 1;
30934     }
30935
30936     // optional .opencv_caffe.FillerParameter weight_filler = 4;
30937     if (has_weight_filler()) {
30938       total_size += 1 +
30939         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
30940           *this->weight_filler_);
30941     }
30942
30943     // optional .opencv_caffe.FillerParameter bias_filler = 5;
30944     if (has_bias_filler()) {
30945       total_size += 1 +
30946         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
30947           *this->bias_filler_);
30948     }
30949
30950   }
30951   if (_internal_metadata_.have_unknown_fields()) {
30952     total_size +=
30953       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
30954         unknown_fields());
30955   }
30956   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
30957   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
30958   _cached_size_ = cached_size;
30959   GOOGLE_SAFE_CONCURRENT_WRITES_END();
30960   return total_size;
30961 }
30962
30963 void EmbedParameter::MergeFrom(const ::google::protobuf::Message& from) {
30964 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.EmbedParameter)
30965   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
30966   const EmbedParameter* source =
30967       ::google::protobuf::internal::DynamicCastToGenerated<const EmbedParameter>(
30968           &from);
30969   if (source == NULL) {
30970   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.EmbedParameter)
30971     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
30972   } else {
30973   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.EmbedParameter)
30974     UnsafeMergeFrom(*source);
30975   }
30976 }
30977
30978 void EmbedParameter::MergeFrom(const EmbedParameter& from) {
30979 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.EmbedParameter)
30980   if (GOOGLE_PREDICT_TRUE(&from != this)) {
30981     UnsafeMergeFrom(from);
30982   } else {
30983     MergeFromFail(__LINE__);
30984   }
30985 }
30986
30987 void EmbedParameter::UnsafeMergeFrom(const EmbedParameter& from) {
30988   GOOGLE_DCHECK(&from != this);
30989   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
30990     if (from.has_num_output()) {
30991       set_num_output(from.num_output());
30992     }
30993     if (from.has_input_dim()) {
30994       set_input_dim(from.input_dim());
30995     }
30996     if (from.has_bias_term()) {
30997       set_bias_term(from.bias_term());
30998     }
30999     if (from.has_weight_filler()) {
31000       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
31001     }
31002     if (from.has_bias_filler()) {
31003       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
31004     }
31005   }
31006   if (from._internal_metadata_.have_unknown_fields()) {
31007     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
31008       from.unknown_fields(), &_internal_metadata_);
31009   }
31010 }
31011
31012 void EmbedParameter::CopyFrom(const ::google::protobuf::Message& from) {
31013 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.EmbedParameter)
31014   if (&from == this) return;
31015   Clear();
31016   MergeFrom(from);
31017 }
31018
31019 void EmbedParameter::CopyFrom(const EmbedParameter& from) {
31020 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.EmbedParameter)
31021   if (&from == this) return;
31022   Clear();
31023   UnsafeMergeFrom(from);
31024 }
31025
31026 bool EmbedParameter::IsInitialized() const {
31027
31028   return true;
31029 }
31030
31031 void EmbedParameter::Swap(EmbedParameter* other) {
31032   if (other == this) return;
31033   InternalSwap(other);
31034 }
31035 void EmbedParameter::InternalSwap(EmbedParameter* other) {
31036   std::swap(num_output_, other->num_output_);
31037   std::swap(input_dim_, other->input_dim_);
31038   std::swap(bias_term_, other->bias_term_);
31039   std::swap(weight_filler_, other->weight_filler_);
31040   std::swap(bias_filler_, other->bias_filler_);
31041   std::swap(_has_bits_[0], other->_has_bits_[0]);
31042   _internal_metadata_.Swap(&other->_internal_metadata_);
31043   std::swap(_cached_size_, other->_cached_size_);
31044 }
31045
31046 ::google::protobuf::Metadata EmbedParameter::GetMetadata() const {
31047   protobuf_AssignDescriptorsOnce();
31048   ::google::protobuf::Metadata metadata;
31049   metadata.descriptor = EmbedParameter_descriptor_;
31050   metadata.reflection = EmbedParameter_reflection_;
31051   return metadata;
31052 }
31053
31054 #if PROTOBUF_INLINE_NOT_IN_HEADERS
31055 // EmbedParameter
31056
31057 // optional uint32 num_output = 1;
31058 bool EmbedParameter::has_num_output() const {
31059   return (_has_bits_[0] & 0x00000001u) != 0;
31060 }
31061 void EmbedParameter::set_has_num_output() {
31062   _has_bits_[0] |= 0x00000001u;
31063 }
31064 void EmbedParameter::clear_has_num_output() {
31065   _has_bits_[0] &= ~0x00000001u;
31066 }
31067 void EmbedParameter::clear_num_output() {
31068   num_output_ = 0u;
31069   clear_has_num_output();
31070 }
31071 ::google::protobuf::uint32 EmbedParameter::num_output() const {
31072   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.num_output)
31073   return num_output_;
31074 }
31075 void EmbedParameter::set_num_output(::google::protobuf::uint32 value) {
31076   set_has_num_output();
31077   num_output_ = value;
31078   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.num_output)
31079 }
31080
31081 // optional uint32 input_dim = 2;
31082 bool EmbedParameter::has_input_dim() const {
31083   return (_has_bits_[0] & 0x00000002u) != 0;
31084 }
31085 void EmbedParameter::set_has_input_dim() {
31086   _has_bits_[0] |= 0x00000002u;
31087 }
31088 void EmbedParameter::clear_has_input_dim() {
31089   _has_bits_[0] &= ~0x00000002u;
31090 }
31091 void EmbedParameter::clear_input_dim() {
31092   input_dim_ = 0u;
31093   clear_has_input_dim();
31094 }
31095 ::google::protobuf::uint32 EmbedParameter::input_dim() const {
31096   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.input_dim)
31097   return input_dim_;
31098 }
31099 void EmbedParameter::set_input_dim(::google::protobuf::uint32 value) {
31100   set_has_input_dim();
31101   input_dim_ = value;
31102   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.input_dim)
31103 }
31104
31105 // optional bool bias_term = 3 [default = true];
31106 bool EmbedParameter::has_bias_term() const {
31107   return (_has_bits_[0] & 0x00000004u) != 0;
31108 }
31109 void EmbedParameter::set_has_bias_term() {
31110   _has_bits_[0] |= 0x00000004u;
31111 }
31112 void EmbedParameter::clear_has_bias_term() {
31113   _has_bits_[0] &= ~0x00000004u;
31114 }
31115 void EmbedParameter::clear_bias_term() {
31116   bias_term_ = true;
31117   clear_has_bias_term();
31118 }
31119 bool EmbedParameter::bias_term() const {
31120   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_term)
31121   return bias_term_;
31122 }
31123 void EmbedParameter::set_bias_term(bool value) {
31124   set_has_bias_term();
31125   bias_term_ = value;
31126   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.bias_term)
31127 }
31128
31129 // optional .opencv_caffe.FillerParameter weight_filler = 4;
31130 bool EmbedParameter::has_weight_filler() const {
31131   return (_has_bits_[0] & 0x00000008u) != 0;
31132 }
31133 void EmbedParameter::set_has_weight_filler() {
31134   _has_bits_[0] |= 0x00000008u;
31135 }
31136 void EmbedParameter::clear_has_weight_filler() {
31137   _has_bits_[0] &= ~0x00000008u;
31138 }
31139 void EmbedParameter::clear_weight_filler() {
31140   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
31141   clear_has_weight_filler();
31142 }
31143 const ::opencv_caffe::FillerParameter& EmbedParameter::weight_filler() const {
31144   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.weight_filler)
31145   return weight_filler_ != NULL ? *weight_filler_
31146                          : *::opencv_caffe::FillerParameter::internal_default_instance();
31147 }
31148 ::opencv_caffe::FillerParameter* EmbedParameter::mutable_weight_filler() {
31149   set_has_weight_filler();
31150   if (weight_filler_ == NULL) {
31151     weight_filler_ = new ::opencv_caffe::FillerParameter;
31152   }
31153   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.weight_filler)
31154   return weight_filler_;
31155 }
31156 ::opencv_caffe::FillerParameter* EmbedParameter::release_weight_filler() {
31157   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.weight_filler)
31158   clear_has_weight_filler();
31159   ::opencv_caffe::FillerParameter* temp = weight_filler_;
31160   weight_filler_ = NULL;
31161   return temp;
31162 }
31163 void EmbedParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
31164   delete weight_filler_;
31165   weight_filler_ = weight_filler;
31166   if (weight_filler) {
31167     set_has_weight_filler();
31168   } else {
31169     clear_has_weight_filler();
31170   }
31171   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.weight_filler)
31172 }
31173
31174 // optional .opencv_caffe.FillerParameter bias_filler = 5;
31175 bool EmbedParameter::has_bias_filler() const {
31176   return (_has_bits_[0] & 0x00000010u) != 0;
31177 }
31178 void EmbedParameter::set_has_bias_filler() {
31179   _has_bits_[0] |= 0x00000010u;
31180 }
31181 void EmbedParameter::clear_has_bias_filler() {
31182   _has_bits_[0] &= ~0x00000010u;
31183 }
31184 void EmbedParameter::clear_bias_filler() {
31185   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
31186   clear_has_bias_filler();
31187 }
31188 const ::opencv_caffe::FillerParameter& EmbedParameter::bias_filler() const {
31189   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_filler)
31190   return bias_filler_ != NULL ? *bias_filler_
31191                          : *::opencv_caffe::FillerParameter::internal_default_instance();
31192 }
31193 ::opencv_caffe::FillerParameter* EmbedParameter::mutable_bias_filler() {
31194   set_has_bias_filler();
31195   if (bias_filler_ == NULL) {
31196     bias_filler_ = new ::opencv_caffe::FillerParameter;
31197   }
31198   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.bias_filler)
31199   return bias_filler_;
31200 }
31201 ::opencv_caffe::FillerParameter* EmbedParameter::release_bias_filler() {
31202   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.bias_filler)
31203   clear_has_bias_filler();
31204   ::opencv_caffe::FillerParameter* temp = bias_filler_;
31205   bias_filler_ = NULL;
31206   return temp;
31207 }
31208 void EmbedParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
31209   delete bias_filler_;
31210   bias_filler_ = bias_filler;
31211   if (bias_filler) {
31212     set_has_bias_filler();
31213   } else {
31214     clear_has_bias_filler();
31215   }
31216   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.bias_filler)
31217 }
31218
31219 inline const EmbedParameter* EmbedParameter::internal_default_instance() {
31220   return &EmbedParameter_default_instance_.get();
31221 }
31222 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
31223
31224 // ===================================================================
31225
31226 #if !defined(_MSC_VER) || _MSC_VER >= 1900
31227 const int ExpParameter::kBaseFieldNumber;
31228 const int ExpParameter::kScaleFieldNumber;
31229 const int ExpParameter::kShiftFieldNumber;
31230 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
31231
31232 ExpParameter::ExpParameter()
31233   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
31234   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31235   SharedCtor();
31236   // @@protoc_insertion_point(constructor:opencv_caffe.ExpParameter)
31237 }
31238
31239 void ExpParameter::InitAsDefaultInstance() {
31240 }
31241
31242 ExpParameter::ExpParameter(const ExpParameter& from)
31243   : ::google::protobuf::Message(),
31244     _internal_metadata_(NULL) {
31245   SharedCtor();
31246   UnsafeMergeFrom(from);
31247   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ExpParameter)
31248 }
31249
31250 void ExpParameter::SharedCtor() {
31251   _cached_size_ = 0;
31252   shift_ = 0;
31253   base_ = -1;
31254   scale_ = 1;
31255 }
31256
31257 ExpParameter::~ExpParameter() {
31258   // @@protoc_insertion_point(destructor:opencv_caffe.ExpParameter)
31259   SharedDtor();
31260 }
31261
31262 void ExpParameter::SharedDtor() {
31263 }
31264
31265 void ExpParameter::SetCachedSize(int size) const {
31266   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31267   _cached_size_ = size;
31268   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31269 }
31270 const ::google::protobuf::Descriptor* ExpParameter::descriptor() {
31271   protobuf_AssignDescriptorsOnce();
31272   return ExpParameter_descriptor_;
31273 }
31274
31275 const ExpParameter& ExpParameter::default_instance() {
31276   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31277   return *internal_default_instance();
31278 }
31279
31280 ::google::protobuf::internal::ExplicitlyConstructed<ExpParameter> ExpParameter_default_instance_;
31281
31282 ExpParameter* ExpParameter::New(::google::protobuf::Arena* arena) const {
31283   ExpParameter* n = new ExpParameter;
31284   if (arena != NULL) {
31285     arena->Own(n);
31286   }
31287   return n;
31288 }
31289
31290 void ExpParameter::Clear() {
31291 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ExpParameter)
31292   if (_has_bits_[0 / 32] & 7u) {
31293     base_ = -1;
31294     scale_ = 1;
31295     shift_ = 0;
31296   }
31297   _has_bits_.Clear();
31298   if (_internal_metadata_.have_unknown_fields()) {
31299     mutable_unknown_fields()->Clear();
31300   }
31301 }
31302
31303 bool ExpParameter::MergePartialFromCodedStream(
31304     ::google::protobuf::io::CodedInputStream* input) {
31305 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
31306   ::google::protobuf::uint32 tag;
31307   // @@protoc_insertion_point(parse_start:opencv_caffe.ExpParameter)
31308   for (;;) {
31309     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
31310     tag = p.first;
31311     if (!p.second) goto handle_unusual;
31312     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
31313       // optional float base = 1 [default = -1];
31314       case 1: {
31315         if (tag == 13) {
31316           set_has_base();
31317           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31318                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
31319                  input, &base_)));
31320         } else {
31321           goto handle_unusual;
31322         }
31323         if (input->ExpectTag(21)) goto parse_scale;
31324         break;
31325       }
31326
31327       // optional float scale = 2 [default = 1];
31328       case 2: {
31329         if (tag == 21) {
31330          parse_scale:
31331           set_has_scale();
31332           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31333                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
31334                  input, &scale_)));
31335         } else {
31336           goto handle_unusual;
31337         }
31338         if (input->ExpectTag(29)) goto parse_shift;
31339         break;
31340       }
31341
31342       // optional float shift = 3 [default = 0];
31343       case 3: {
31344         if (tag == 29) {
31345          parse_shift:
31346           set_has_shift();
31347           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31348                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
31349                  input, &shift_)));
31350         } else {
31351           goto handle_unusual;
31352         }
31353         if (input->ExpectAtEnd()) goto success;
31354         break;
31355       }
31356
31357       default: {
31358       handle_unusual:
31359         if (tag == 0 ||
31360             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
31361             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
31362           goto success;
31363         }
31364         DO_(::google::protobuf::internal::WireFormat::SkipField(
31365               input, tag, mutable_unknown_fields()));
31366         break;
31367       }
31368     }
31369   }
31370 success:
31371   // @@protoc_insertion_point(parse_success:opencv_caffe.ExpParameter)
31372   return true;
31373 failure:
31374   // @@protoc_insertion_point(parse_failure:opencv_caffe.ExpParameter)
31375   return false;
31376 #undef DO_
31377 }
31378
31379 void ExpParameter::SerializeWithCachedSizes(
31380     ::google::protobuf::io::CodedOutputStream* output) const {
31381   // @@protoc_insertion_point(serialize_start:opencv_caffe.ExpParameter)
31382   // optional float base = 1 [default = -1];
31383   if (has_base()) {
31384     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->base(), output);
31385   }
31386
31387   // optional float scale = 2 [default = 1];
31388   if (has_scale()) {
31389     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
31390   }
31391
31392   // optional float shift = 3 [default = 0];
31393   if (has_shift()) {
31394     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->shift(), output);
31395   }
31396
31397   if (_internal_metadata_.have_unknown_fields()) {
31398     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
31399         unknown_fields(), output);
31400   }
31401   // @@protoc_insertion_point(serialize_end:opencv_caffe.ExpParameter)
31402 }
31403
31404 ::google::protobuf::uint8* ExpParameter::InternalSerializeWithCachedSizesToArray(
31405     bool deterministic, ::google::protobuf::uint8* target) const {
31406   (void)deterministic; // Unused
31407   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ExpParameter)
31408   // optional float base = 1 [default = -1];
31409   if (has_base()) {
31410     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->base(), target);
31411   }
31412
31413   // optional float scale = 2 [default = 1];
31414   if (has_scale()) {
31415     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
31416   }
31417
31418   // optional float shift = 3 [default = 0];
31419   if (has_shift()) {
31420     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->shift(), target);
31421   }
31422
31423   if (_internal_metadata_.have_unknown_fields()) {
31424     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
31425         unknown_fields(), target);
31426   }
31427   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ExpParameter)
31428   return target;
31429 }
31430
31431 size_t ExpParameter::ByteSizeLong() const {
31432 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ExpParameter)
31433   size_t total_size = 0;
31434
31435   if (_has_bits_[0 / 32] & 7u) {
31436     // optional float base = 1 [default = -1];
31437     if (has_base()) {
31438       total_size += 1 + 4;
31439     }
31440
31441     // optional float scale = 2 [default = 1];
31442     if (has_scale()) {
31443       total_size += 1 + 4;
31444     }
31445
31446     // optional float shift = 3 [default = 0];
31447     if (has_shift()) {
31448       total_size += 1 + 4;
31449     }
31450
31451   }
31452   if (_internal_metadata_.have_unknown_fields()) {
31453     total_size +=
31454       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
31455         unknown_fields());
31456   }
31457   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
31458   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31459   _cached_size_ = cached_size;
31460   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31461   return total_size;
31462 }
31463
31464 void ExpParameter::MergeFrom(const ::google::protobuf::Message& from) {
31465 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ExpParameter)
31466   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
31467   const ExpParameter* source =
31468       ::google::protobuf::internal::DynamicCastToGenerated<const ExpParameter>(
31469           &from);
31470   if (source == NULL) {
31471   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ExpParameter)
31472     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
31473   } else {
31474   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ExpParameter)
31475     UnsafeMergeFrom(*source);
31476   }
31477 }
31478
31479 void ExpParameter::MergeFrom(const ExpParameter& from) {
31480 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ExpParameter)
31481   if (GOOGLE_PREDICT_TRUE(&from != this)) {
31482     UnsafeMergeFrom(from);
31483   } else {
31484     MergeFromFail(__LINE__);
31485   }
31486 }
31487
31488 void ExpParameter::UnsafeMergeFrom(const ExpParameter& from) {
31489   GOOGLE_DCHECK(&from != this);
31490   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
31491     if (from.has_base()) {
31492       set_base(from.base());
31493     }
31494     if (from.has_scale()) {
31495       set_scale(from.scale());
31496     }
31497     if (from.has_shift()) {
31498       set_shift(from.shift());
31499     }
31500   }
31501   if (from._internal_metadata_.have_unknown_fields()) {
31502     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
31503       from.unknown_fields(), &_internal_metadata_);
31504   }
31505 }
31506
31507 void ExpParameter::CopyFrom(const ::google::protobuf::Message& from) {
31508 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ExpParameter)
31509   if (&from == this) return;
31510   Clear();
31511   MergeFrom(from);
31512 }
31513
31514 void ExpParameter::CopyFrom(const ExpParameter& from) {
31515 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ExpParameter)
31516   if (&from == this) return;
31517   Clear();
31518   UnsafeMergeFrom(from);
31519 }
31520
31521 bool ExpParameter::IsInitialized() const {
31522
31523   return true;
31524 }
31525
31526 void ExpParameter::Swap(ExpParameter* other) {
31527   if (other == this) return;
31528   InternalSwap(other);
31529 }
31530 void ExpParameter::InternalSwap(ExpParameter* other) {
31531   std::swap(base_, other->base_);
31532   std::swap(scale_, other->scale_);
31533   std::swap(shift_, other->shift_);
31534   std::swap(_has_bits_[0], other->_has_bits_[0]);
31535   _internal_metadata_.Swap(&other->_internal_metadata_);
31536   std::swap(_cached_size_, other->_cached_size_);
31537 }
31538
31539 ::google::protobuf::Metadata ExpParameter::GetMetadata() const {
31540   protobuf_AssignDescriptorsOnce();
31541   ::google::protobuf::Metadata metadata;
31542   metadata.descriptor = ExpParameter_descriptor_;
31543   metadata.reflection = ExpParameter_reflection_;
31544   return metadata;
31545 }
31546
31547 #if PROTOBUF_INLINE_NOT_IN_HEADERS
31548 // ExpParameter
31549
31550 // optional float base = 1 [default = -1];
31551 bool ExpParameter::has_base() const {
31552   return (_has_bits_[0] & 0x00000001u) != 0;
31553 }
31554 void ExpParameter::set_has_base() {
31555   _has_bits_[0] |= 0x00000001u;
31556 }
31557 void ExpParameter::clear_has_base() {
31558   _has_bits_[0] &= ~0x00000001u;
31559 }
31560 void ExpParameter::clear_base() {
31561   base_ = -1;
31562   clear_has_base();
31563 }
31564 float ExpParameter::base() const {
31565   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.base)
31566   return base_;
31567 }
31568 void ExpParameter::set_base(float value) {
31569   set_has_base();
31570   base_ = value;
31571   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.base)
31572 }
31573
31574 // optional float scale = 2 [default = 1];
31575 bool ExpParameter::has_scale() const {
31576   return (_has_bits_[0] & 0x00000002u) != 0;
31577 }
31578 void ExpParameter::set_has_scale() {
31579   _has_bits_[0] |= 0x00000002u;
31580 }
31581 void ExpParameter::clear_has_scale() {
31582   _has_bits_[0] &= ~0x00000002u;
31583 }
31584 void ExpParameter::clear_scale() {
31585   scale_ = 1;
31586   clear_has_scale();
31587 }
31588 float ExpParameter::scale() const {
31589   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.scale)
31590   return scale_;
31591 }
31592 void ExpParameter::set_scale(float value) {
31593   set_has_scale();
31594   scale_ = value;
31595   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.scale)
31596 }
31597
31598 // optional float shift = 3 [default = 0];
31599 bool ExpParameter::has_shift() const {
31600   return (_has_bits_[0] & 0x00000004u) != 0;
31601 }
31602 void ExpParameter::set_has_shift() {
31603   _has_bits_[0] |= 0x00000004u;
31604 }
31605 void ExpParameter::clear_has_shift() {
31606   _has_bits_[0] &= ~0x00000004u;
31607 }
31608 void ExpParameter::clear_shift() {
31609   shift_ = 0;
31610   clear_has_shift();
31611 }
31612 float ExpParameter::shift() const {
31613   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.shift)
31614   return shift_;
31615 }
31616 void ExpParameter::set_shift(float value) {
31617   set_has_shift();
31618   shift_ = value;
31619   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.shift)
31620 }
31621
31622 inline const ExpParameter* ExpParameter::internal_default_instance() {
31623   return &ExpParameter_default_instance_.get();
31624 }
31625 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
31626
31627 // ===================================================================
31628
31629 #if !defined(_MSC_VER) || _MSC_VER >= 1900
31630 const int FlattenParameter::kAxisFieldNumber;
31631 const int FlattenParameter::kEndAxisFieldNumber;
31632 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
31633
31634 FlattenParameter::FlattenParameter()
31635   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
31636   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31637   SharedCtor();
31638   // @@protoc_insertion_point(constructor:opencv_caffe.FlattenParameter)
31639 }
31640
31641 void FlattenParameter::InitAsDefaultInstance() {
31642 }
31643
31644 FlattenParameter::FlattenParameter(const FlattenParameter& from)
31645   : ::google::protobuf::Message(),
31646     _internal_metadata_(NULL) {
31647   SharedCtor();
31648   UnsafeMergeFrom(from);
31649   // @@protoc_insertion_point(copy_constructor:opencv_caffe.FlattenParameter)
31650 }
31651
31652 void FlattenParameter::SharedCtor() {
31653   _cached_size_ = 0;
31654   axis_ = 1;
31655   end_axis_ = -1;
31656 }
31657
31658 FlattenParameter::~FlattenParameter() {
31659   // @@protoc_insertion_point(destructor:opencv_caffe.FlattenParameter)
31660   SharedDtor();
31661 }
31662
31663 void FlattenParameter::SharedDtor() {
31664 }
31665
31666 void FlattenParameter::SetCachedSize(int size) const {
31667   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31668   _cached_size_ = size;
31669   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31670 }
31671 const ::google::protobuf::Descriptor* FlattenParameter::descriptor() {
31672   protobuf_AssignDescriptorsOnce();
31673   return FlattenParameter_descriptor_;
31674 }
31675
31676 const FlattenParameter& FlattenParameter::default_instance() {
31677   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31678   return *internal_default_instance();
31679 }
31680
31681 ::google::protobuf::internal::ExplicitlyConstructed<FlattenParameter> FlattenParameter_default_instance_;
31682
31683 FlattenParameter* FlattenParameter::New(::google::protobuf::Arena* arena) const {
31684   FlattenParameter* n = new FlattenParameter;
31685   if (arena != NULL) {
31686     arena->Own(n);
31687   }
31688   return n;
31689 }
31690
31691 void FlattenParameter::Clear() {
31692 // @@protoc_insertion_point(message_clear_start:opencv_caffe.FlattenParameter)
31693   if (_has_bits_[0 / 32] & 3u) {
31694     axis_ = 1;
31695     end_axis_ = -1;
31696   }
31697   _has_bits_.Clear();
31698   if (_internal_metadata_.have_unknown_fields()) {
31699     mutable_unknown_fields()->Clear();
31700   }
31701 }
31702
31703 bool FlattenParameter::MergePartialFromCodedStream(
31704     ::google::protobuf::io::CodedInputStream* input) {
31705 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
31706   ::google::protobuf::uint32 tag;
31707   // @@protoc_insertion_point(parse_start:opencv_caffe.FlattenParameter)
31708   for (;;) {
31709     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
31710     tag = p.first;
31711     if (!p.second) goto handle_unusual;
31712     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
31713       // optional int32 axis = 1 [default = 1];
31714       case 1: {
31715         if (tag == 8) {
31716           set_has_axis();
31717           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31718                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
31719                  input, &axis_)));
31720         } else {
31721           goto handle_unusual;
31722         }
31723         if (input->ExpectTag(16)) goto parse_end_axis;
31724         break;
31725       }
31726
31727       // optional int32 end_axis = 2 [default = -1];
31728       case 2: {
31729         if (tag == 16) {
31730          parse_end_axis:
31731           set_has_end_axis();
31732           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
31733                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
31734                  input, &end_axis_)));
31735         } else {
31736           goto handle_unusual;
31737         }
31738         if (input->ExpectAtEnd()) goto success;
31739         break;
31740       }
31741
31742       default: {
31743       handle_unusual:
31744         if (tag == 0 ||
31745             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
31746             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
31747           goto success;
31748         }
31749         DO_(::google::protobuf::internal::WireFormat::SkipField(
31750               input, tag, mutable_unknown_fields()));
31751         break;
31752       }
31753     }
31754   }
31755 success:
31756   // @@protoc_insertion_point(parse_success:opencv_caffe.FlattenParameter)
31757   return true;
31758 failure:
31759   // @@protoc_insertion_point(parse_failure:opencv_caffe.FlattenParameter)
31760   return false;
31761 #undef DO_
31762 }
31763
31764 void FlattenParameter::SerializeWithCachedSizes(
31765     ::google::protobuf::io::CodedOutputStream* output) const {
31766   // @@protoc_insertion_point(serialize_start:opencv_caffe.FlattenParameter)
31767   // optional int32 axis = 1 [default = 1];
31768   if (has_axis()) {
31769     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
31770   }
31771
31772   // optional int32 end_axis = 2 [default = -1];
31773   if (has_end_axis()) {
31774     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->end_axis(), output);
31775   }
31776
31777   if (_internal_metadata_.have_unknown_fields()) {
31778     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
31779         unknown_fields(), output);
31780   }
31781   // @@protoc_insertion_point(serialize_end:opencv_caffe.FlattenParameter)
31782 }
31783
31784 ::google::protobuf::uint8* FlattenParameter::InternalSerializeWithCachedSizesToArray(
31785     bool deterministic, ::google::protobuf::uint8* target) const {
31786   (void)deterministic; // Unused
31787   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.FlattenParameter)
31788   // optional int32 axis = 1 [default = 1];
31789   if (has_axis()) {
31790     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
31791   }
31792
31793   // optional int32 end_axis = 2 [default = -1];
31794   if (has_end_axis()) {
31795     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->end_axis(), target);
31796   }
31797
31798   if (_internal_metadata_.have_unknown_fields()) {
31799     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
31800         unknown_fields(), target);
31801   }
31802   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.FlattenParameter)
31803   return target;
31804 }
31805
31806 size_t FlattenParameter::ByteSizeLong() const {
31807 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.FlattenParameter)
31808   size_t total_size = 0;
31809
31810   if (_has_bits_[0 / 32] & 3u) {
31811     // optional int32 axis = 1 [default = 1];
31812     if (has_axis()) {
31813       total_size += 1 +
31814         ::google::protobuf::internal::WireFormatLite::Int32Size(
31815           this->axis());
31816     }
31817
31818     // optional int32 end_axis = 2 [default = -1];
31819     if (has_end_axis()) {
31820       total_size += 1 +
31821         ::google::protobuf::internal::WireFormatLite::Int32Size(
31822           this->end_axis());
31823     }
31824
31825   }
31826   if (_internal_metadata_.have_unknown_fields()) {
31827     total_size +=
31828       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
31829         unknown_fields());
31830   }
31831   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
31832   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
31833   _cached_size_ = cached_size;
31834   GOOGLE_SAFE_CONCURRENT_WRITES_END();
31835   return total_size;
31836 }
31837
31838 void FlattenParameter::MergeFrom(const ::google::protobuf::Message& from) {
31839 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.FlattenParameter)
31840   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
31841   const FlattenParameter* source =
31842       ::google::protobuf::internal::DynamicCastToGenerated<const FlattenParameter>(
31843           &from);
31844   if (source == NULL) {
31845   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.FlattenParameter)
31846     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
31847   } else {
31848   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.FlattenParameter)
31849     UnsafeMergeFrom(*source);
31850   }
31851 }
31852
31853 void FlattenParameter::MergeFrom(const FlattenParameter& from) {
31854 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.FlattenParameter)
31855   if (GOOGLE_PREDICT_TRUE(&from != this)) {
31856     UnsafeMergeFrom(from);
31857   } else {
31858     MergeFromFail(__LINE__);
31859   }
31860 }
31861
31862 void FlattenParameter::UnsafeMergeFrom(const FlattenParameter& from) {
31863   GOOGLE_DCHECK(&from != this);
31864   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
31865     if (from.has_axis()) {
31866       set_axis(from.axis());
31867     }
31868     if (from.has_end_axis()) {
31869       set_end_axis(from.end_axis());
31870     }
31871   }
31872   if (from._internal_metadata_.have_unknown_fields()) {
31873     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
31874       from.unknown_fields(), &_internal_metadata_);
31875   }
31876 }
31877
31878 void FlattenParameter::CopyFrom(const ::google::protobuf::Message& from) {
31879 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.FlattenParameter)
31880   if (&from == this) return;
31881   Clear();
31882   MergeFrom(from);
31883 }
31884
31885 void FlattenParameter::CopyFrom(const FlattenParameter& from) {
31886 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.FlattenParameter)
31887   if (&from == this) return;
31888   Clear();
31889   UnsafeMergeFrom(from);
31890 }
31891
31892 bool FlattenParameter::IsInitialized() const {
31893
31894   return true;
31895 }
31896
31897 void FlattenParameter::Swap(FlattenParameter* other) {
31898   if (other == this) return;
31899   InternalSwap(other);
31900 }
31901 void FlattenParameter::InternalSwap(FlattenParameter* other) {
31902   std::swap(axis_, other->axis_);
31903   std::swap(end_axis_, other->end_axis_);
31904   std::swap(_has_bits_[0], other->_has_bits_[0]);
31905   _internal_metadata_.Swap(&other->_internal_metadata_);
31906   std::swap(_cached_size_, other->_cached_size_);
31907 }
31908
31909 ::google::protobuf::Metadata FlattenParameter::GetMetadata() const {
31910   protobuf_AssignDescriptorsOnce();
31911   ::google::protobuf::Metadata metadata;
31912   metadata.descriptor = FlattenParameter_descriptor_;
31913   metadata.reflection = FlattenParameter_reflection_;
31914   return metadata;
31915 }
31916
31917 #if PROTOBUF_INLINE_NOT_IN_HEADERS
31918 // FlattenParameter
31919
31920 // optional int32 axis = 1 [default = 1];
31921 bool FlattenParameter::has_axis() const {
31922   return (_has_bits_[0] & 0x00000001u) != 0;
31923 }
31924 void FlattenParameter::set_has_axis() {
31925   _has_bits_[0] |= 0x00000001u;
31926 }
31927 void FlattenParameter::clear_has_axis() {
31928   _has_bits_[0] &= ~0x00000001u;
31929 }
31930 void FlattenParameter::clear_axis() {
31931   axis_ = 1;
31932   clear_has_axis();
31933 }
31934 ::google::protobuf::int32 FlattenParameter::axis() const {
31935   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.axis)
31936   return axis_;
31937 }
31938 void FlattenParameter::set_axis(::google::protobuf::int32 value) {
31939   set_has_axis();
31940   axis_ = value;
31941   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.axis)
31942 }
31943
31944 // optional int32 end_axis = 2 [default = -1];
31945 bool FlattenParameter::has_end_axis() const {
31946   return (_has_bits_[0] & 0x00000002u) != 0;
31947 }
31948 void FlattenParameter::set_has_end_axis() {
31949   _has_bits_[0] |= 0x00000002u;
31950 }
31951 void FlattenParameter::clear_has_end_axis() {
31952   _has_bits_[0] &= ~0x00000002u;
31953 }
31954 void FlattenParameter::clear_end_axis() {
31955   end_axis_ = -1;
31956   clear_has_end_axis();
31957 }
31958 ::google::protobuf::int32 FlattenParameter::end_axis() const {
31959   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.end_axis)
31960   return end_axis_;
31961 }
31962 void FlattenParameter::set_end_axis(::google::protobuf::int32 value) {
31963   set_has_end_axis();
31964   end_axis_ = value;
31965   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.end_axis)
31966 }
31967
31968 inline const FlattenParameter* FlattenParameter::internal_default_instance() {
31969   return &FlattenParameter_default_instance_.get();
31970 }
31971 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
31972
31973 // ===================================================================
31974
31975 #if !defined(_MSC_VER) || _MSC_VER >= 1900
31976 const int HDF5DataParameter::kSourceFieldNumber;
31977 const int HDF5DataParameter::kBatchSizeFieldNumber;
31978 const int HDF5DataParameter::kShuffleFieldNumber;
31979 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
31980
31981 HDF5DataParameter::HDF5DataParameter()
31982   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
31983   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
31984   SharedCtor();
31985   // @@protoc_insertion_point(constructor:opencv_caffe.HDF5DataParameter)
31986 }
31987
31988 void HDF5DataParameter::InitAsDefaultInstance() {
31989 }
31990
31991 HDF5DataParameter::HDF5DataParameter(const HDF5DataParameter& from)
31992   : ::google::protobuf::Message(),
31993     _internal_metadata_(NULL) {
31994   SharedCtor();
31995   UnsafeMergeFrom(from);
31996   // @@protoc_insertion_point(copy_constructor:opencv_caffe.HDF5DataParameter)
31997 }
31998
31999 void HDF5DataParameter::SharedCtor() {
32000   _cached_size_ = 0;
32001   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32002   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&shuffle_) -
32003     reinterpret_cast<char*>(&batch_size_) + sizeof(shuffle_));
32004 }
32005
32006 HDF5DataParameter::~HDF5DataParameter() {
32007   // @@protoc_insertion_point(destructor:opencv_caffe.HDF5DataParameter)
32008   SharedDtor();
32009 }
32010
32011 void HDF5DataParameter::SharedDtor() {
32012   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32013 }
32014
32015 void HDF5DataParameter::SetCachedSize(int size) const {
32016   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32017   _cached_size_ = size;
32018   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32019 }
32020 const ::google::protobuf::Descriptor* HDF5DataParameter::descriptor() {
32021   protobuf_AssignDescriptorsOnce();
32022   return HDF5DataParameter_descriptor_;
32023 }
32024
32025 const HDF5DataParameter& HDF5DataParameter::default_instance() {
32026   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32027   return *internal_default_instance();
32028 }
32029
32030 ::google::protobuf::internal::ExplicitlyConstructed<HDF5DataParameter> HDF5DataParameter_default_instance_;
32031
32032 HDF5DataParameter* HDF5DataParameter::New(::google::protobuf::Arena* arena) const {
32033   HDF5DataParameter* n = new HDF5DataParameter;
32034   if (arena != NULL) {
32035     arena->Own(n);
32036   }
32037   return n;
32038 }
32039
32040 void HDF5DataParameter::Clear() {
32041 // @@protoc_insertion_point(message_clear_start:opencv_caffe.HDF5DataParameter)
32042 #if defined(__clang__)
32043 #define ZR_HELPER_(f) \
32044   _Pragma("clang diagnostic push") \
32045   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
32046   __builtin_offsetof(HDF5DataParameter, f) \
32047   _Pragma("clang diagnostic pop")
32048 #else
32049 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
32050   &reinterpret_cast<HDF5DataParameter*>(16)->f)
32051 #endif
32052
32053 #define ZR_(first, last) do {\
32054   ::memset(&(first), 0,\
32055            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
32056 } while (0)
32057
32058   if (_has_bits_[0 / 32] & 7u) {
32059     ZR_(batch_size_, shuffle_);
32060     if (has_source()) {
32061       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32062     }
32063   }
32064
32065 #undef ZR_HELPER_
32066 #undef ZR_
32067
32068   _has_bits_.Clear();
32069   if (_internal_metadata_.have_unknown_fields()) {
32070     mutable_unknown_fields()->Clear();
32071   }
32072 }
32073
32074 bool HDF5DataParameter::MergePartialFromCodedStream(
32075     ::google::protobuf::io::CodedInputStream* input) {
32076 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
32077   ::google::protobuf::uint32 tag;
32078   // @@protoc_insertion_point(parse_start:opencv_caffe.HDF5DataParameter)
32079   for (;;) {
32080     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
32081     tag = p.first;
32082     if (!p.second) goto handle_unusual;
32083     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
32084       // optional string source = 1;
32085       case 1: {
32086         if (tag == 10) {
32087           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
32088                 input, this->mutable_source()));
32089           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32090             this->source().data(), this->source().length(),
32091             ::google::protobuf::internal::WireFormat::PARSE,
32092             "opencv_caffe.HDF5DataParameter.source");
32093         } else {
32094           goto handle_unusual;
32095         }
32096         if (input->ExpectTag(16)) goto parse_batch_size;
32097         break;
32098       }
32099
32100       // optional uint32 batch_size = 2;
32101       case 2: {
32102         if (tag == 16) {
32103          parse_batch_size:
32104           set_has_batch_size();
32105           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
32106                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
32107                  input, &batch_size_)));
32108         } else {
32109           goto handle_unusual;
32110         }
32111         if (input->ExpectTag(24)) goto parse_shuffle;
32112         break;
32113       }
32114
32115       // optional bool shuffle = 3 [default = false];
32116       case 3: {
32117         if (tag == 24) {
32118          parse_shuffle:
32119           set_has_shuffle();
32120           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
32121                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
32122                  input, &shuffle_)));
32123         } else {
32124           goto handle_unusual;
32125         }
32126         if (input->ExpectAtEnd()) goto success;
32127         break;
32128       }
32129
32130       default: {
32131       handle_unusual:
32132         if (tag == 0 ||
32133             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
32134             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
32135           goto success;
32136         }
32137         DO_(::google::protobuf::internal::WireFormat::SkipField(
32138               input, tag, mutable_unknown_fields()));
32139         break;
32140       }
32141     }
32142   }
32143 success:
32144   // @@protoc_insertion_point(parse_success:opencv_caffe.HDF5DataParameter)
32145   return true;
32146 failure:
32147   // @@protoc_insertion_point(parse_failure:opencv_caffe.HDF5DataParameter)
32148   return false;
32149 #undef DO_
32150 }
32151
32152 void HDF5DataParameter::SerializeWithCachedSizes(
32153     ::google::protobuf::io::CodedOutputStream* output) const {
32154   // @@protoc_insertion_point(serialize_start:opencv_caffe.HDF5DataParameter)
32155   // optional string source = 1;
32156   if (has_source()) {
32157     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32158       this->source().data(), this->source().length(),
32159       ::google::protobuf::internal::WireFormat::SERIALIZE,
32160       "opencv_caffe.HDF5DataParameter.source");
32161     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
32162       1, this->source(), output);
32163   }
32164
32165   // optional uint32 batch_size = 2;
32166   if (has_batch_size()) {
32167     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->batch_size(), output);
32168   }
32169
32170   // optional bool shuffle = 3 [default = false];
32171   if (has_shuffle()) {
32172     ::google::protobuf::internal::WireFormatLite::WriteBool(3, this->shuffle(), output);
32173   }
32174
32175   if (_internal_metadata_.have_unknown_fields()) {
32176     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
32177         unknown_fields(), output);
32178   }
32179   // @@protoc_insertion_point(serialize_end:opencv_caffe.HDF5DataParameter)
32180 }
32181
32182 ::google::protobuf::uint8* HDF5DataParameter::InternalSerializeWithCachedSizesToArray(
32183     bool deterministic, ::google::protobuf::uint8* target) const {
32184   (void)deterministic; // Unused
32185   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.HDF5DataParameter)
32186   // optional string source = 1;
32187   if (has_source()) {
32188     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32189       this->source().data(), this->source().length(),
32190       ::google::protobuf::internal::WireFormat::SERIALIZE,
32191       "opencv_caffe.HDF5DataParameter.source");
32192     target =
32193       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
32194         1, this->source(), target);
32195   }
32196
32197   // optional uint32 batch_size = 2;
32198   if (has_batch_size()) {
32199     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->batch_size(), target);
32200   }
32201
32202   // optional bool shuffle = 3 [default = false];
32203   if (has_shuffle()) {
32204     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(3, this->shuffle(), target);
32205   }
32206
32207   if (_internal_metadata_.have_unknown_fields()) {
32208     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
32209         unknown_fields(), target);
32210   }
32211   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.HDF5DataParameter)
32212   return target;
32213 }
32214
32215 size_t HDF5DataParameter::ByteSizeLong() const {
32216 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.HDF5DataParameter)
32217   size_t total_size = 0;
32218
32219   if (_has_bits_[0 / 32] & 7u) {
32220     // optional string source = 1;
32221     if (has_source()) {
32222       total_size += 1 +
32223         ::google::protobuf::internal::WireFormatLite::StringSize(
32224           this->source());
32225     }
32226
32227     // optional uint32 batch_size = 2;
32228     if (has_batch_size()) {
32229       total_size += 1 +
32230         ::google::protobuf::internal::WireFormatLite::UInt32Size(
32231           this->batch_size());
32232     }
32233
32234     // optional bool shuffle = 3 [default = false];
32235     if (has_shuffle()) {
32236       total_size += 1 + 1;
32237     }
32238
32239   }
32240   if (_internal_metadata_.have_unknown_fields()) {
32241     total_size +=
32242       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
32243         unknown_fields());
32244   }
32245   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
32246   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32247   _cached_size_ = cached_size;
32248   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32249   return total_size;
32250 }
32251
32252 void HDF5DataParameter::MergeFrom(const ::google::protobuf::Message& from) {
32253 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.HDF5DataParameter)
32254   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
32255   const HDF5DataParameter* source =
32256       ::google::protobuf::internal::DynamicCastToGenerated<const HDF5DataParameter>(
32257           &from);
32258   if (source == NULL) {
32259   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.HDF5DataParameter)
32260     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
32261   } else {
32262   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.HDF5DataParameter)
32263     UnsafeMergeFrom(*source);
32264   }
32265 }
32266
32267 void HDF5DataParameter::MergeFrom(const HDF5DataParameter& from) {
32268 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.HDF5DataParameter)
32269   if (GOOGLE_PREDICT_TRUE(&from != this)) {
32270     UnsafeMergeFrom(from);
32271   } else {
32272     MergeFromFail(__LINE__);
32273   }
32274 }
32275
32276 void HDF5DataParameter::UnsafeMergeFrom(const HDF5DataParameter& from) {
32277   GOOGLE_DCHECK(&from != this);
32278   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
32279     if (from.has_source()) {
32280       set_has_source();
32281       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
32282     }
32283     if (from.has_batch_size()) {
32284       set_batch_size(from.batch_size());
32285     }
32286     if (from.has_shuffle()) {
32287       set_shuffle(from.shuffle());
32288     }
32289   }
32290   if (from._internal_metadata_.have_unknown_fields()) {
32291     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
32292       from.unknown_fields(), &_internal_metadata_);
32293   }
32294 }
32295
32296 void HDF5DataParameter::CopyFrom(const ::google::protobuf::Message& from) {
32297 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.HDF5DataParameter)
32298   if (&from == this) return;
32299   Clear();
32300   MergeFrom(from);
32301 }
32302
32303 void HDF5DataParameter::CopyFrom(const HDF5DataParameter& from) {
32304 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.HDF5DataParameter)
32305   if (&from == this) return;
32306   Clear();
32307   UnsafeMergeFrom(from);
32308 }
32309
32310 bool HDF5DataParameter::IsInitialized() const {
32311
32312   return true;
32313 }
32314
32315 void HDF5DataParameter::Swap(HDF5DataParameter* other) {
32316   if (other == this) return;
32317   InternalSwap(other);
32318 }
32319 void HDF5DataParameter::InternalSwap(HDF5DataParameter* other) {
32320   source_.Swap(&other->source_);
32321   std::swap(batch_size_, other->batch_size_);
32322   std::swap(shuffle_, other->shuffle_);
32323   std::swap(_has_bits_[0], other->_has_bits_[0]);
32324   _internal_metadata_.Swap(&other->_internal_metadata_);
32325   std::swap(_cached_size_, other->_cached_size_);
32326 }
32327
32328 ::google::protobuf::Metadata HDF5DataParameter::GetMetadata() const {
32329   protobuf_AssignDescriptorsOnce();
32330   ::google::protobuf::Metadata metadata;
32331   metadata.descriptor = HDF5DataParameter_descriptor_;
32332   metadata.reflection = HDF5DataParameter_reflection_;
32333   return metadata;
32334 }
32335
32336 #if PROTOBUF_INLINE_NOT_IN_HEADERS
32337 // HDF5DataParameter
32338
32339 // optional string source = 1;
32340 bool HDF5DataParameter::has_source() const {
32341   return (_has_bits_[0] & 0x00000001u) != 0;
32342 }
32343 void HDF5DataParameter::set_has_source() {
32344   _has_bits_[0] |= 0x00000001u;
32345 }
32346 void HDF5DataParameter::clear_has_source() {
32347   _has_bits_[0] &= ~0x00000001u;
32348 }
32349 void HDF5DataParameter::clear_source() {
32350   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32351   clear_has_source();
32352 }
32353 const ::std::string& HDF5DataParameter::source() const {
32354   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.source)
32355   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32356 }
32357 void HDF5DataParameter::set_source(const ::std::string& value) {
32358   set_has_source();
32359   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
32360   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.source)
32361 }
32362 void HDF5DataParameter::set_source(const char* value) {
32363   set_has_source();
32364   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
32365   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5DataParameter.source)
32366 }
32367 void HDF5DataParameter::set_source(const char* value, size_t size) {
32368   set_has_source();
32369   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
32370       ::std::string(reinterpret_cast<const char*>(value), size));
32371   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5DataParameter.source)
32372 }
32373 ::std::string* HDF5DataParameter::mutable_source() {
32374   set_has_source();
32375   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5DataParameter.source)
32376   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32377 }
32378 ::std::string* HDF5DataParameter::release_source() {
32379   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5DataParameter.source)
32380   clear_has_source();
32381   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32382 }
32383 void HDF5DataParameter::set_allocated_source(::std::string* source) {
32384   if (source != NULL) {
32385     set_has_source();
32386   } else {
32387     clear_has_source();
32388   }
32389   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
32390   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5DataParameter.source)
32391 }
32392
32393 // optional uint32 batch_size = 2;
32394 bool HDF5DataParameter::has_batch_size() const {
32395   return (_has_bits_[0] & 0x00000002u) != 0;
32396 }
32397 void HDF5DataParameter::set_has_batch_size() {
32398   _has_bits_[0] |= 0x00000002u;
32399 }
32400 void HDF5DataParameter::clear_has_batch_size() {
32401   _has_bits_[0] &= ~0x00000002u;
32402 }
32403 void HDF5DataParameter::clear_batch_size() {
32404   batch_size_ = 0u;
32405   clear_has_batch_size();
32406 }
32407 ::google::protobuf::uint32 HDF5DataParameter::batch_size() const {
32408   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.batch_size)
32409   return batch_size_;
32410 }
32411 void HDF5DataParameter::set_batch_size(::google::protobuf::uint32 value) {
32412   set_has_batch_size();
32413   batch_size_ = value;
32414   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.batch_size)
32415 }
32416
32417 // optional bool shuffle = 3 [default = false];
32418 bool HDF5DataParameter::has_shuffle() const {
32419   return (_has_bits_[0] & 0x00000004u) != 0;
32420 }
32421 void HDF5DataParameter::set_has_shuffle() {
32422   _has_bits_[0] |= 0x00000004u;
32423 }
32424 void HDF5DataParameter::clear_has_shuffle() {
32425   _has_bits_[0] &= ~0x00000004u;
32426 }
32427 void HDF5DataParameter::clear_shuffle() {
32428   shuffle_ = false;
32429   clear_has_shuffle();
32430 }
32431 bool HDF5DataParameter::shuffle() const {
32432   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.shuffle)
32433   return shuffle_;
32434 }
32435 void HDF5DataParameter::set_shuffle(bool value) {
32436   set_has_shuffle();
32437   shuffle_ = value;
32438   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.shuffle)
32439 }
32440
32441 inline const HDF5DataParameter* HDF5DataParameter::internal_default_instance() {
32442   return &HDF5DataParameter_default_instance_.get();
32443 }
32444 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
32445
32446 // ===================================================================
32447
32448 #if !defined(_MSC_VER) || _MSC_VER >= 1900
32449 const int HDF5OutputParameter::kFileNameFieldNumber;
32450 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
32451
32452 HDF5OutputParameter::HDF5OutputParameter()
32453   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
32454   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32455   SharedCtor();
32456   // @@protoc_insertion_point(constructor:opencv_caffe.HDF5OutputParameter)
32457 }
32458
32459 void HDF5OutputParameter::InitAsDefaultInstance() {
32460 }
32461
32462 HDF5OutputParameter::HDF5OutputParameter(const HDF5OutputParameter& from)
32463   : ::google::protobuf::Message(),
32464     _internal_metadata_(NULL) {
32465   SharedCtor();
32466   UnsafeMergeFrom(from);
32467   // @@protoc_insertion_point(copy_constructor:opencv_caffe.HDF5OutputParameter)
32468 }
32469
32470 void HDF5OutputParameter::SharedCtor() {
32471   _cached_size_ = 0;
32472   file_name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32473 }
32474
32475 HDF5OutputParameter::~HDF5OutputParameter() {
32476   // @@protoc_insertion_point(destructor:opencv_caffe.HDF5OutputParameter)
32477   SharedDtor();
32478 }
32479
32480 void HDF5OutputParameter::SharedDtor() {
32481   file_name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32482 }
32483
32484 void HDF5OutputParameter::SetCachedSize(int size) const {
32485   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32486   _cached_size_ = size;
32487   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32488 }
32489 const ::google::protobuf::Descriptor* HDF5OutputParameter::descriptor() {
32490   protobuf_AssignDescriptorsOnce();
32491   return HDF5OutputParameter_descriptor_;
32492 }
32493
32494 const HDF5OutputParameter& HDF5OutputParameter::default_instance() {
32495   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32496   return *internal_default_instance();
32497 }
32498
32499 ::google::protobuf::internal::ExplicitlyConstructed<HDF5OutputParameter> HDF5OutputParameter_default_instance_;
32500
32501 HDF5OutputParameter* HDF5OutputParameter::New(::google::protobuf::Arena* arena) const {
32502   HDF5OutputParameter* n = new HDF5OutputParameter;
32503   if (arena != NULL) {
32504     arena->Own(n);
32505   }
32506   return n;
32507 }
32508
32509 void HDF5OutputParameter::Clear() {
32510 // @@protoc_insertion_point(message_clear_start:opencv_caffe.HDF5OutputParameter)
32511   if (has_file_name()) {
32512     file_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32513   }
32514   _has_bits_.Clear();
32515   if (_internal_metadata_.have_unknown_fields()) {
32516     mutable_unknown_fields()->Clear();
32517   }
32518 }
32519
32520 bool HDF5OutputParameter::MergePartialFromCodedStream(
32521     ::google::protobuf::io::CodedInputStream* input) {
32522 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
32523   ::google::protobuf::uint32 tag;
32524   // @@protoc_insertion_point(parse_start:opencv_caffe.HDF5OutputParameter)
32525   for (;;) {
32526     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
32527     tag = p.first;
32528     if (!p.second) goto handle_unusual;
32529     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
32530       // optional string file_name = 1;
32531       case 1: {
32532         if (tag == 10) {
32533           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
32534                 input, this->mutable_file_name()));
32535           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32536             this->file_name().data(), this->file_name().length(),
32537             ::google::protobuf::internal::WireFormat::PARSE,
32538             "opencv_caffe.HDF5OutputParameter.file_name");
32539         } else {
32540           goto handle_unusual;
32541         }
32542         if (input->ExpectAtEnd()) goto success;
32543         break;
32544       }
32545
32546       default: {
32547       handle_unusual:
32548         if (tag == 0 ||
32549             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
32550             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
32551           goto success;
32552         }
32553         DO_(::google::protobuf::internal::WireFormat::SkipField(
32554               input, tag, mutable_unknown_fields()));
32555         break;
32556       }
32557     }
32558   }
32559 success:
32560   // @@protoc_insertion_point(parse_success:opencv_caffe.HDF5OutputParameter)
32561   return true;
32562 failure:
32563   // @@protoc_insertion_point(parse_failure:opencv_caffe.HDF5OutputParameter)
32564   return false;
32565 #undef DO_
32566 }
32567
32568 void HDF5OutputParameter::SerializeWithCachedSizes(
32569     ::google::protobuf::io::CodedOutputStream* output) const {
32570   // @@protoc_insertion_point(serialize_start:opencv_caffe.HDF5OutputParameter)
32571   // optional string file_name = 1;
32572   if (has_file_name()) {
32573     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32574       this->file_name().data(), this->file_name().length(),
32575       ::google::protobuf::internal::WireFormat::SERIALIZE,
32576       "opencv_caffe.HDF5OutputParameter.file_name");
32577     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
32578       1, this->file_name(), output);
32579   }
32580
32581   if (_internal_metadata_.have_unknown_fields()) {
32582     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
32583         unknown_fields(), output);
32584   }
32585   // @@protoc_insertion_point(serialize_end:opencv_caffe.HDF5OutputParameter)
32586 }
32587
32588 ::google::protobuf::uint8* HDF5OutputParameter::InternalSerializeWithCachedSizesToArray(
32589     bool deterministic, ::google::protobuf::uint8* target) const {
32590   (void)deterministic; // Unused
32591   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.HDF5OutputParameter)
32592   // optional string file_name = 1;
32593   if (has_file_name()) {
32594     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
32595       this->file_name().data(), this->file_name().length(),
32596       ::google::protobuf::internal::WireFormat::SERIALIZE,
32597       "opencv_caffe.HDF5OutputParameter.file_name");
32598     target =
32599       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
32600         1, this->file_name(), target);
32601   }
32602
32603   if (_internal_metadata_.have_unknown_fields()) {
32604     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
32605         unknown_fields(), target);
32606   }
32607   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.HDF5OutputParameter)
32608   return target;
32609 }
32610
32611 size_t HDF5OutputParameter::ByteSizeLong() const {
32612 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.HDF5OutputParameter)
32613   size_t total_size = 0;
32614
32615   // optional string file_name = 1;
32616   if (has_file_name()) {
32617     total_size += 1 +
32618       ::google::protobuf::internal::WireFormatLite::StringSize(
32619         this->file_name());
32620   }
32621
32622   if (_internal_metadata_.have_unknown_fields()) {
32623     total_size +=
32624       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
32625         unknown_fields());
32626   }
32627   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
32628   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32629   _cached_size_ = cached_size;
32630   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32631   return total_size;
32632 }
32633
32634 void HDF5OutputParameter::MergeFrom(const ::google::protobuf::Message& from) {
32635 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.HDF5OutputParameter)
32636   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
32637   const HDF5OutputParameter* source =
32638       ::google::protobuf::internal::DynamicCastToGenerated<const HDF5OutputParameter>(
32639           &from);
32640   if (source == NULL) {
32641   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.HDF5OutputParameter)
32642     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
32643   } else {
32644   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.HDF5OutputParameter)
32645     UnsafeMergeFrom(*source);
32646   }
32647 }
32648
32649 void HDF5OutputParameter::MergeFrom(const HDF5OutputParameter& from) {
32650 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.HDF5OutputParameter)
32651   if (GOOGLE_PREDICT_TRUE(&from != this)) {
32652     UnsafeMergeFrom(from);
32653   } else {
32654     MergeFromFail(__LINE__);
32655   }
32656 }
32657
32658 void HDF5OutputParameter::UnsafeMergeFrom(const HDF5OutputParameter& from) {
32659   GOOGLE_DCHECK(&from != this);
32660   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
32661     if (from.has_file_name()) {
32662       set_has_file_name();
32663       file_name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.file_name_);
32664     }
32665   }
32666   if (from._internal_metadata_.have_unknown_fields()) {
32667     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
32668       from.unknown_fields(), &_internal_metadata_);
32669   }
32670 }
32671
32672 void HDF5OutputParameter::CopyFrom(const ::google::protobuf::Message& from) {
32673 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.HDF5OutputParameter)
32674   if (&from == this) return;
32675   Clear();
32676   MergeFrom(from);
32677 }
32678
32679 void HDF5OutputParameter::CopyFrom(const HDF5OutputParameter& from) {
32680 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.HDF5OutputParameter)
32681   if (&from == this) return;
32682   Clear();
32683   UnsafeMergeFrom(from);
32684 }
32685
32686 bool HDF5OutputParameter::IsInitialized() const {
32687
32688   return true;
32689 }
32690
32691 void HDF5OutputParameter::Swap(HDF5OutputParameter* other) {
32692   if (other == this) return;
32693   InternalSwap(other);
32694 }
32695 void HDF5OutputParameter::InternalSwap(HDF5OutputParameter* other) {
32696   file_name_.Swap(&other->file_name_);
32697   std::swap(_has_bits_[0], other->_has_bits_[0]);
32698   _internal_metadata_.Swap(&other->_internal_metadata_);
32699   std::swap(_cached_size_, other->_cached_size_);
32700 }
32701
32702 ::google::protobuf::Metadata HDF5OutputParameter::GetMetadata() const {
32703   protobuf_AssignDescriptorsOnce();
32704   ::google::protobuf::Metadata metadata;
32705   metadata.descriptor = HDF5OutputParameter_descriptor_;
32706   metadata.reflection = HDF5OutputParameter_reflection_;
32707   return metadata;
32708 }
32709
32710 #if PROTOBUF_INLINE_NOT_IN_HEADERS
32711 // HDF5OutputParameter
32712
32713 // optional string file_name = 1;
32714 bool HDF5OutputParameter::has_file_name() const {
32715   return (_has_bits_[0] & 0x00000001u) != 0;
32716 }
32717 void HDF5OutputParameter::set_has_file_name() {
32718   _has_bits_[0] |= 0x00000001u;
32719 }
32720 void HDF5OutputParameter::clear_has_file_name() {
32721   _has_bits_[0] &= ~0x00000001u;
32722 }
32723 void HDF5OutputParameter::clear_file_name() {
32724   file_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32725   clear_has_file_name();
32726 }
32727 const ::std::string& HDF5OutputParameter::file_name() const {
32728   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5OutputParameter.file_name)
32729   return file_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32730 }
32731 void HDF5OutputParameter::set_file_name(const ::std::string& value) {
32732   set_has_file_name();
32733   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
32734   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5OutputParameter.file_name)
32735 }
32736 void HDF5OutputParameter::set_file_name(const char* value) {
32737   set_has_file_name();
32738   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
32739   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5OutputParameter.file_name)
32740 }
32741 void HDF5OutputParameter::set_file_name(const char* value, size_t size) {
32742   set_has_file_name();
32743   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
32744       ::std::string(reinterpret_cast<const char*>(value), size));
32745   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5OutputParameter.file_name)
32746 }
32747 ::std::string* HDF5OutputParameter::mutable_file_name() {
32748   set_has_file_name();
32749   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5OutputParameter.file_name)
32750   return file_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32751 }
32752 ::std::string* HDF5OutputParameter::release_file_name() {
32753   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5OutputParameter.file_name)
32754   clear_has_file_name();
32755   return file_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
32756 }
32757 void HDF5OutputParameter::set_allocated_file_name(::std::string* file_name) {
32758   if (file_name != NULL) {
32759     set_has_file_name();
32760   } else {
32761     clear_has_file_name();
32762   }
32763   file_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_name);
32764   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5OutputParameter.file_name)
32765 }
32766
32767 inline const HDF5OutputParameter* HDF5OutputParameter::internal_default_instance() {
32768   return &HDF5OutputParameter_default_instance_.get();
32769 }
32770 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
32771
32772 // ===================================================================
32773
32774 const ::google::protobuf::EnumDescriptor* HingeLossParameter_Norm_descriptor() {
32775   protobuf_AssignDescriptorsOnce();
32776   return HingeLossParameter_Norm_descriptor_;
32777 }
32778 bool HingeLossParameter_Norm_IsValid(int value) {
32779   switch (value) {
32780     case 1:
32781     case 2:
32782       return true;
32783     default:
32784       return false;
32785   }
32786 }
32787
32788 #if !defined(_MSC_VER) || _MSC_VER >= 1900
32789 const HingeLossParameter_Norm HingeLossParameter::L1;
32790 const HingeLossParameter_Norm HingeLossParameter::L2;
32791 const HingeLossParameter_Norm HingeLossParameter::Norm_MIN;
32792 const HingeLossParameter_Norm HingeLossParameter::Norm_MAX;
32793 const int HingeLossParameter::Norm_ARRAYSIZE;
32794 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
32795 #if !defined(_MSC_VER) || _MSC_VER >= 1900
32796 const int HingeLossParameter::kNormFieldNumber;
32797 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
32798
32799 HingeLossParameter::HingeLossParameter()
32800   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
32801   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32802   SharedCtor();
32803   // @@protoc_insertion_point(constructor:opencv_caffe.HingeLossParameter)
32804 }
32805
32806 void HingeLossParameter::InitAsDefaultInstance() {
32807 }
32808
32809 HingeLossParameter::HingeLossParameter(const HingeLossParameter& from)
32810   : ::google::protobuf::Message(),
32811     _internal_metadata_(NULL) {
32812   SharedCtor();
32813   UnsafeMergeFrom(from);
32814   // @@protoc_insertion_point(copy_constructor:opencv_caffe.HingeLossParameter)
32815 }
32816
32817 void HingeLossParameter::SharedCtor() {
32818   _cached_size_ = 0;
32819   norm_ = 1;
32820 }
32821
32822 HingeLossParameter::~HingeLossParameter() {
32823   // @@protoc_insertion_point(destructor:opencv_caffe.HingeLossParameter)
32824   SharedDtor();
32825 }
32826
32827 void HingeLossParameter::SharedDtor() {
32828 }
32829
32830 void HingeLossParameter::SetCachedSize(int size) const {
32831   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32832   _cached_size_ = size;
32833   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32834 }
32835 const ::google::protobuf::Descriptor* HingeLossParameter::descriptor() {
32836   protobuf_AssignDescriptorsOnce();
32837   return HingeLossParameter_descriptor_;
32838 }
32839
32840 const HingeLossParameter& HingeLossParameter::default_instance() {
32841   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
32842   return *internal_default_instance();
32843 }
32844
32845 ::google::protobuf::internal::ExplicitlyConstructed<HingeLossParameter> HingeLossParameter_default_instance_;
32846
32847 HingeLossParameter* HingeLossParameter::New(::google::protobuf::Arena* arena) const {
32848   HingeLossParameter* n = new HingeLossParameter;
32849   if (arena != NULL) {
32850     arena->Own(n);
32851   }
32852   return n;
32853 }
32854
32855 void HingeLossParameter::Clear() {
32856 // @@protoc_insertion_point(message_clear_start:opencv_caffe.HingeLossParameter)
32857   norm_ = 1;
32858   _has_bits_.Clear();
32859   if (_internal_metadata_.have_unknown_fields()) {
32860     mutable_unknown_fields()->Clear();
32861   }
32862 }
32863
32864 bool HingeLossParameter::MergePartialFromCodedStream(
32865     ::google::protobuf::io::CodedInputStream* input) {
32866 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
32867   ::google::protobuf::uint32 tag;
32868   // @@protoc_insertion_point(parse_start:opencv_caffe.HingeLossParameter)
32869   for (;;) {
32870     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
32871     tag = p.first;
32872     if (!p.second) goto handle_unusual;
32873     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
32874       // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
32875       case 1: {
32876         if (tag == 8) {
32877           int value;
32878           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
32879                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
32880                  input, &value)));
32881           if (::opencv_caffe::HingeLossParameter_Norm_IsValid(value)) {
32882             set_norm(static_cast< ::opencv_caffe::HingeLossParameter_Norm >(value));
32883           } else {
32884             mutable_unknown_fields()->AddVarint(1, value);
32885           }
32886         } else {
32887           goto handle_unusual;
32888         }
32889         if (input->ExpectAtEnd()) goto success;
32890         break;
32891       }
32892
32893       default: {
32894       handle_unusual:
32895         if (tag == 0 ||
32896             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
32897             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
32898           goto success;
32899         }
32900         DO_(::google::protobuf::internal::WireFormat::SkipField(
32901               input, tag, mutable_unknown_fields()));
32902         break;
32903       }
32904     }
32905   }
32906 success:
32907   // @@protoc_insertion_point(parse_success:opencv_caffe.HingeLossParameter)
32908   return true;
32909 failure:
32910   // @@protoc_insertion_point(parse_failure:opencv_caffe.HingeLossParameter)
32911   return false;
32912 #undef DO_
32913 }
32914
32915 void HingeLossParameter::SerializeWithCachedSizes(
32916     ::google::protobuf::io::CodedOutputStream* output) const {
32917   // @@protoc_insertion_point(serialize_start:opencv_caffe.HingeLossParameter)
32918   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
32919   if (has_norm()) {
32920     ::google::protobuf::internal::WireFormatLite::WriteEnum(
32921       1, this->norm(), output);
32922   }
32923
32924   if (_internal_metadata_.have_unknown_fields()) {
32925     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
32926         unknown_fields(), output);
32927   }
32928   // @@protoc_insertion_point(serialize_end:opencv_caffe.HingeLossParameter)
32929 }
32930
32931 ::google::protobuf::uint8* HingeLossParameter::InternalSerializeWithCachedSizesToArray(
32932     bool deterministic, ::google::protobuf::uint8* target) const {
32933   (void)deterministic; // Unused
32934   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.HingeLossParameter)
32935   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
32936   if (has_norm()) {
32937     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
32938       1, this->norm(), target);
32939   }
32940
32941   if (_internal_metadata_.have_unknown_fields()) {
32942     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
32943         unknown_fields(), target);
32944   }
32945   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.HingeLossParameter)
32946   return target;
32947 }
32948
32949 size_t HingeLossParameter::ByteSizeLong() const {
32950 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.HingeLossParameter)
32951   size_t total_size = 0;
32952
32953   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
32954   if (has_norm()) {
32955     total_size += 1 +
32956       ::google::protobuf::internal::WireFormatLite::EnumSize(this->norm());
32957   }
32958
32959   if (_internal_metadata_.have_unknown_fields()) {
32960     total_size +=
32961       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
32962         unknown_fields());
32963   }
32964   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
32965   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
32966   _cached_size_ = cached_size;
32967   GOOGLE_SAFE_CONCURRENT_WRITES_END();
32968   return total_size;
32969 }
32970
32971 void HingeLossParameter::MergeFrom(const ::google::protobuf::Message& from) {
32972 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.HingeLossParameter)
32973   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
32974   const HingeLossParameter* source =
32975       ::google::protobuf::internal::DynamicCastToGenerated<const HingeLossParameter>(
32976           &from);
32977   if (source == NULL) {
32978   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.HingeLossParameter)
32979     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
32980   } else {
32981   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.HingeLossParameter)
32982     UnsafeMergeFrom(*source);
32983   }
32984 }
32985
32986 void HingeLossParameter::MergeFrom(const HingeLossParameter& from) {
32987 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.HingeLossParameter)
32988   if (GOOGLE_PREDICT_TRUE(&from != this)) {
32989     UnsafeMergeFrom(from);
32990   } else {
32991     MergeFromFail(__LINE__);
32992   }
32993 }
32994
32995 void HingeLossParameter::UnsafeMergeFrom(const HingeLossParameter& from) {
32996   GOOGLE_DCHECK(&from != this);
32997   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
32998     if (from.has_norm()) {
32999       set_norm(from.norm());
33000     }
33001   }
33002   if (from._internal_metadata_.have_unknown_fields()) {
33003     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
33004       from.unknown_fields(), &_internal_metadata_);
33005   }
33006 }
33007
33008 void HingeLossParameter::CopyFrom(const ::google::protobuf::Message& from) {
33009 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.HingeLossParameter)
33010   if (&from == this) return;
33011   Clear();
33012   MergeFrom(from);
33013 }
33014
33015 void HingeLossParameter::CopyFrom(const HingeLossParameter& from) {
33016 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.HingeLossParameter)
33017   if (&from == this) return;
33018   Clear();
33019   UnsafeMergeFrom(from);
33020 }
33021
33022 bool HingeLossParameter::IsInitialized() const {
33023
33024   return true;
33025 }
33026
33027 void HingeLossParameter::Swap(HingeLossParameter* other) {
33028   if (other == this) return;
33029   InternalSwap(other);
33030 }
33031 void HingeLossParameter::InternalSwap(HingeLossParameter* other) {
33032   std::swap(norm_, other->norm_);
33033   std::swap(_has_bits_[0], other->_has_bits_[0]);
33034   _internal_metadata_.Swap(&other->_internal_metadata_);
33035   std::swap(_cached_size_, other->_cached_size_);
33036 }
33037
33038 ::google::protobuf::Metadata HingeLossParameter::GetMetadata() const {
33039   protobuf_AssignDescriptorsOnce();
33040   ::google::protobuf::Metadata metadata;
33041   metadata.descriptor = HingeLossParameter_descriptor_;
33042   metadata.reflection = HingeLossParameter_reflection_;
33043   return metadata;
33044 }
33045
33046 #if PROTOBUF_INLINE_NOT_IN_HEADERS
33047 // HingeLossParameter
33048
33049 // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
33050 bool HingeLossParameter::has_norm() const {
33051   return (_has_bits_[0] & 0x00000001u) != 0;
33052 }
33053 void HingeLossParameter::set_has_norm() {
33054   _has_bits_[0] |= 0x00000001u;
33055 }
33056 void HingeLossParameter::clear_has_norm() {
33057   _has_bits_[0] &= ~0x00000001u;
33058 }
33059 void HingeLossParameter::clear_norm() {
33060   norm_ = 1;
33061   clear_has_norm();
33062 }
33063 ::opencv_caffe::HingeLossParameter_Norm HingeLossParameter::norm() const {
33064   // @@protoc_insertion_point(field_get:opencv_caffe.HingeLossParameter.norm)
33065   return static_cast< ::opencv_caffe::HingeLossParameter_Norm >(norm_);
33066 }
33067 void HingeLossParameter::set_norm(::opencv_caffe::HingeLossParameter_Norm value) {
33068   assert(::opencv_caffe::HingeLossParameter_Norm_IsValid(value));
33069   set_has_norm();
33070   norm_ = value;
33071   // @@protoc_insertion_point(field_set:opencv_caffe.HingeLossParameter.norm)
33072 }
33073
33074 inline const HingeLossParameter* HingeLossParameter::internal_default_instance() {
33075   return &HingeLossParameter_default_instance_.get();
33076 }
33077 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
33078
33079 // ===================================================================
33080
33081 #if !defined(_MSC_VER) || _MSC_VER >= 1900
33082 const int ImageDataParameter::kSourceFieldNumber;
33083 const int ImageDataParameter::kBatchSizeFieldNumber;
33084 const int ImageDataParameter::kRandSkipFieldNumber;
33085 const int ImageDataParameter::kShuffleFieldNumber;
33086 const int ImageDataParameter::kNewHeightFieldNumber;
33087 const int ImageDataParameter::kNewWidthFieldNumber;
33088 const int ImageDataParameter::kIsColorFieldNumber;
33089 const int ImageDataParameter::kScaleFieldNumber;
33090 const int ImageDataParameter::kMeanFileFieldNumber;
33091 const int ImageDataParameter::kCropSizeFieldNumber;
33092 const int ImageDataParameter::kMirrorFieldNumber;
33093 const int ImageDataParameter::kRootFolderFieldNumber;
33094 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
33095
33096 ImageDataParameter::ImageDataParameter()
33097   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
33098   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
33099   SharedCtor();
33100   // @@protoc_insertion_point(constructor:opencv_caffe.ImageDataParameter)
33101 }
33102
33103 void ImageDataParameter::InitAsDefaultInstance() {
33104 }
33105
33106 ImageDataParameter::ImageDataParameter(const ImageDataParameter& from)
33107   : ::google::protobuf::Message(),
33108     _internal_metadata_(NULL) {
33109   SharedCtor();
33110   UnsafeMergeFrom(from);
33111   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ImageDataParameter)
33112 }
33113
33114 void ImageDataParameter::SharedCtor() {
33115   _cached_size_ = 0;
33116   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33117   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33118   root_folder_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33119   ::memset(&rand_skip_, 0, reinterpret_cast<char*>(&crop_size_) -
33120     reinterpret_cast<char*>(&rand_skip_) + sizeof(crop_size_));
33121   scale_ = 1;
33122   batch_size_ = 1u;
33123   is_color_ = true;
33124 }
33125
33126 ImageDataParameter::~ImageDataParameter() {
33127   // @@protoc_insertion_point(destructor:opencv_caffe.ImageDataParameter)
33128   SharedDtor();
33129 }
33130
33131 void ImageDataParameter::SharedDtor() {
33132   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33133   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33134   root_folder_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33135 }
33136
33137 void ImageDataParameter::SetCachedSize(int size) const {
33138   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
33139   _cached_size_ = size;
33140   GOOGLE_SAFE_CONCURRENT_WRITES_END();
33141 }
33142 const ::google::protobuf::Descriptor* ImageDataParameter::descriptor() {
33143   protobuf_AssignDescriptorsOnce();
33144   return ImageDataParameter_descriptor_;
33145 }
33146
33147 const ImageDataParameter& ImageDataParameter::default_instance() {
33148   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
33149   return *internal_default_instance();
33150 }
33151
33152 ::google::protobuf::internal::ExplicitlyConstructed<ImageDataParameter> ImageDataParameter_default_instance_;
33153
33154 ImageDataParameter* ImageDataParameter::New(::google::protobuf::Arena* arena) const {
33155   ImageDataParameter* n = new ImageDataParameter;
33156   if (arena != NULL) {
33157     arena->Own(n);
33158   }
33159   return n;
33160 }
33161
33162 void ImageDataParameter::Clear() {
33163 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ImageDataParameter)
33164 #if defined(__clang__)
33165 #define ZR_HELPER_(f) \
33166   _Pragma("clang diagnostic push") \
33167   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
33168   __builtin_offsetof(ImageDataParameter, f) \
33169   _Pragma("clang diagnostic pop")
33170 #else
33171 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
33172   &reinterpret_cast<ImageDataParameter*>(16)->f)
33173 #endif
33174
33175 #define ZR_(first, last) do {\
33176   ::memset(&(first), 0,\
33177            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
33178 } while (0)
33179
33180   if (_has_bits_[0 / 32] & 255u) {
33181     ZR_(rand_skip_, shuffle_);
33182     if (has_source()) {
33183       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33184     }
33185     batch_size_ = 1u;
33186     is_color_ = true;
33187     scale_ = 1;
33188   }
33189   if (_has_bits_[8 / 32] & 3840u) {
33190     ZR_(mirror_, crop_size_);
33191     if (has_mean_file()) {
33192       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33193     }
33194     if (has_root_folder()) {
33195       root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33196     }
33197   }
33198
33199 #undef ZR_HELPER_
33200 #undef ZR_
33201
33202   _has_bits_.Clear();
33203   if (_internal_metadata_.have_unknown_fields()) {
33204     mutable_unknown_fields()->Clear();
33205   }
33206 }
33207
33208 bool ImageDataParameter::MergePartialFromCodedStream(
33209     ::google::protobuf::io::CodedInputStream* input) {
33210 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
33211   ::google::protobuf::uint32 tag;
33212   // @@protoc_insertion_point(parse_start:opencv_caffe.ImageDataParameter)
33213   for (;;) {
33214     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
33215     tag = p.first;
33216     if (!p.second) goto handle_unusual;
33217     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
33218       // optional string source = 1;
33219       case 1: {
33220         if (tag == 10) {
33221           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
33222                 input, this->mutable_source()));
33223           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33224             this->source().data(), this->source().length(),
33225             ::google::protobuf::internal::WireFormat::PARSE,
33226             "opencv_caffe.ImageDataParameter.source");
33227         } else {
33228           goto handle_unusual;
33229         }
33230         if (input->ExpectTag(21)) goto parse_scale;
33231         break;
33232       }
33233
33234       // optional float scale = 2 [default = 1];
33235       case 2: {
33236         if (tag == 21) {
33237          parse_scale:
33238           set_has_scale();
33239           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33240                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
33241                  input, &scale_)));
33242         } else {
33243           goto handle_unusual;
33244         }
33245         if (input->ExpectTag(26)) goto parse_mean_file;
33246         break;
33247       }
33248
33249       // optional string mean_file = 3;
33250       case 3: {
33251         if (tag == 26) {
33252          parse_mean_file:
33253           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
33254                 input, this->mutable_mean_file()));
33255           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33256             this->mean_file().data(), this->mean_file().length(),
33257             ::google::protobuf::internal::WireFormat::PARSE,
33258             "opencv_caffe.ImageDataParameter.mean_file");
33259         } else {
33260           goto handle_unusual;
33261         }
33262         if (input->ExpectTag(32)) goto parse_batch_size;
33263         break;
33264       }
33265
33266       // optional uint32 batch_size = 4 [default = 1];
33267       case 4: {
33268         if (tag == 32) {
33269          parse_batch_size:
33270           set_has_batch_size();
33271           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33272                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33273                  input, &batch_size_)));
33274         } else {
33275           goto handle_unusual;
33276         }
33277         if (input->ExpectTag(40)) goto parse_crop_size;
33278         break;
33279       }
33280
33281       // optional uint32 crop_size = 5 [default = 0];
33282       case 5: {
33283         if (tag == 40) {
33284          parse_crop_size:
33285           set_has_crop_size();
33286           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33287                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33288                  input, &crop_size_)));
33289         } else {
33290           goto handle_unusual;
33291         }
33292         if (input->ExpectTag(48)) goto parse_mirror;
33293         break;
33294       }
33295
33296       // optional bool mirror = 6 [default = false];
33297       case 6: {
33298         if (tag == 48) {
33299          parse_mirror:
33300           set_has_mirror();
33301           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33302                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
33303                  input, &mirror_)));
33304         } else {
33305           goto handle_unusual;
33306         }
33307         if (input->ExpectTag(56)) goto parse_rand_skip;
33308         break;
33309       }
33310
33311       // optional uint32 rand_skip = 7 [default = 0];
33312       case 7: {
33313         if (tag == 56) {
33314          parse_rand_skip:
33315           set_has_rand_skip();
33316           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33317                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33318                  input, &rand_skip_)));
33319         } else {
33320           goto handle_unusual;
33321         }
33322         if (input->ExpectTag(64)) goto parse_shuffle;
33323         break;
33324       }
33325
33326       // optional bool shuffle = 8 [default = false];
33327       case 8: {
33328         if (tag == 64) {
33329          parse_shuffle:
33330           set_has_shuffle();
33331           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33332                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
33333                  input, &shuffle_)));
33334         } else {
33335           goto handle_unusual;
33336         }
33337         if (input->ExpectTag(72)) goto parse_new_height;
33338         break;
33339       }
33340
33341       // optional uint32 new_height = 9 [default = 0];
33342       case 9: {
33343         if (tag == 72) {
33344          parse_new_height:
33345           set_has_new_height();
33346           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33347                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33348                  input, &new_height_)));
33349         } else {
33350           goto handle_unusual;
33351         }
33352         if (input->ExpectTag(80)) goto parse_new_width;
33353         break;
33354       }
33355
33356       // optional uint32 new_width = 10 [default = 0];
33357       case 10: {
33358         if (tag == 80) {
33359          parse_new_width:
33360           set_has_new_width();
33361           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33362                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
33363                  input, &new_width_)));
33364         } else {
33365           goto handle_unusual;
33366         }
33367         if (input->ExpectTag(88)) goto parse_is_color;
33368         break;
33369       }
33370
33371       // optional bool is_color = 11 [default = true];
33372       case 11: {
33373         if (tag == 88) {
33374          parse_is_color:
33375           set_has_is_color();
33376           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
33377                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
33378                  input, &is_color_)));
33379         } else {
33380           goto handle_unusual;
33381         }
33382         if (input->ExpectTag(98)) goto parse_root_folder;
33383         break;
33384       }
33385
33386       // optional string root_folder = 12 [default = ""];
33387       case 12: {
33388         if (tag == 98) {
33389          parse_root_folder:
33390           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
33391                 input, this->mutable_root_folder()));
33392           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33393             this->root_folder().data(), this->root_folder().length(),
33394             ::google::protobuf::internal::WireFormat::PARSE,
33395             "opencv_caffe.ImageDataParameter.root_folder");
33396         } else {
33397           goto handle_unusual;
33398         }
33399         if (input->ExpectAtEnd()) goto success;
33400         break;
33401       }
33402
33403       default: {
33404       handle_unusual:
33405         if (tag == 0 ||
33406             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
33407             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
33408           goto success;
33409         }
33410         DO_(::google::protobuf::internal::WireFormat::SkipField(
33411               input, tag, mutable_unknown_fields()));
33412         break;
33413       }
33414     }
33415   }
33416 success:
33417   // @@protoc_insertion_point(parse_success:opencv_caffe.ImageDataParameter)
33418   return true;
33419 failure:
33420   // @@protoc_insertion_point(parse_failure:opencv_caffe.ImageDataParameter)
33421   return false;
33422 #undef DO_
33423 }
33424
33425 void ImageDataParameter::SerializeWithCachedSizes(
33426     ::google::protobuf::io::CodedOutputStream* output) const {
33427   // @@protoc_insertion_point(serialize_start:opencv_caffe.ImageDataParameter)
33428   // optional string source = 1;
33429   if (has_source()) {
33430     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33431       this->source().data(), this->source().length(),
33432       ::google::protobuf::internal::WireFormat::SERIALIZE,
33433       "opencv_caffe.ImageDataParameter.source");
33434     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
33435       1, this->source(), output);
33436   }
33437
33438   // optional float scale = 2 [default = 1];
33439   if (has_scale()) {
33440     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
33441   }
33442
33443   // optional string mean_file = 3;
33444   if (has_mean_file()) {
33445     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33446       this->mean_file().data(), this->mean_file().length(),
33447       ::google::protobuf::internal::WireFormat::SERIALIZE,
33448       "opencv_caffe.ImageDataParameter.mean_file");
33449     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
33450       3, this->mean_file(), output);
33451   }
33452
33453   // optional uint32 batch_size = 4 [default = 1];
33454   if (has_batch_size()) {
33455     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output);
33456   }
33457
33458   // optional uint32 crop_size = 5 [default = 0];
33459   if (has_crop_size()) {
33460     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output);
33461   }
33462
33463   // optional bool mirror = 6 [default = false];
33464   if (has_mirror()) {
33465     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output);
33466   }
33467
33468   // optional uint32 rand_skip = 7 [default = 0];
33469   if (has_rand_skip()) {
33470     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->rand_skip(), output);
33471   }
33472
33473   // optional bool shuffle = 8 [default = false];
33474   if (has_shuffle()) {
33475     ::google::protobuf::internal::WireFormatLite::WriteBool(8, this->shuffle(), output);
33476   }
33477
33478   // optional uint32 new_height = 9 [default = 0];
33479   if (has_new_height()) {
33480     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->new_height(), output);
33481   }
33482
33483   // optional uint32 new_width = 10 [default = 0];
33484   if (has_new_width()) {
33485     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->new_width(), output);
33486   }
33487
33488   // optional bool is_color = 11 [default = true];
33489   if (has_is_color()) {
33490     ::google::protobuf::internal::WireFormatLite::WriteBool(11, this->is_color(), output);
33491   }
33492
33493   // optional string root_folder = 12 [default = ""];
33494   if (has_root_folder()) {
33495     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33496       this->root_folder().data(), this->root_folder().length(),
33497       ::google::protobuf::internal::WireFormat::SERIALIZE,
33498       "opencv_caffe.ImageDataParameter.root_folder");
33499     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
33500       12, this->root_folder(), output);
33501   }
33502
33503   if (_internal_metadata_.have_unknown_fields()) {
33504     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
33505         unknown_fields(), output);
33506   }
33507   // @@protoc_insertion_point(serialize_end:opencv_caffe.ImageDataParameter)
33508 }
33509
33510 ::google::protobuf::uint8* ImageDataParameter::InternalSerializeWithCachedSizesToArray(
33511     bool deterministic, ::google::protobuf::uint8* target) const {
33512   (void)deterministic; // Unused
33513   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ImageDataParameter)
33514   // optional string source = 1;
33515   if (has_source()) {
33516     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33517       this->source().data(), this->source().length(),
33518       ::google::protobuf::internal::WireFormat::SERIALIZE,
33519       "opencv_caffe.ImageDataParameter.source");
33520     target =
33521       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
33522         1, this->source(), target);
33523   }
33524
33525   // optional float scale = 2 [default = 1];
33526   if (has_scale()) {
33527     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
33528   }
33529
33530   // optional string mean_file = 3;
33531   if (has_mean_file()) {
33532     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33533       this->mean_file().data(), this->mean_file().length(),
33534       ::google::protobuf::internal::WireFormat::SERIALIZE,
33535       "opencv_caffe.ImageDataParameter.mean_file");
33536     target =
33537       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
33538         3, this->mean_file(), target);
33539   }
33540
33541   // optional uint32 batch_size = 4 [default = 1];
33542   if (has_batch_size()) {
33543     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target);
33544   }
33545
33546   // optional uint32 crop_size = 5 [default = 0];
33547   if (has_crop_size()) {
33548     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target);
33549   }
33550
33551   // optional bool mirror = 6 [default = false];
33552   if (has_mirror()) {
33553     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target);
33554   }
33555
33556   // optional uint32 rand_skip = 7 [default = 0];
33557   if (has_rand_skip()) {
33558     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->rand_skip(), target);
33559   }
33560
33561   // optional bool shuffle = 8 [default = false];
33562   if (has_shuffle()) {
33563     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(8, this->shuffle(), target);
33564   }
33565
33566   // optional uint32 new_height = 9 [default = 0];
33567   if (has_new_height()) {
33568     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->new_height(), target);
33569   }
33570
33571   // optional uint32 new_width = 10 [default = 0];
33572   if (has_new_width()) {
33573     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->new_width(), target);
33574   }
33575
33576   // optional bool is_color = 11 [default = true];
33577   if (has_is_color()) {
33578     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(11, this->is_color(), target);
33579   }
33580
33581   // optional string root_folder = 12 [default = ""];
33582   if (has_root_folder()) {
33583     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
33584       this->root_folder().data(), this->root_folder().length(),
33585       ::google::protobuf::internal::WireFormat::SERIALIZE,
33586       "opencv_caffe.ImageDataParameter.root_folder");
33587     target =
33588       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
33589         12, this->root_folder(), target);
33590   }
33591
33592   if (_internal_metadata_.have_unknown_fields()) {
33593     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
33594         unknown_fields(), target);
33595   }
33596   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ImageDataParameter)
33597   return target;
33598 }
33599
33600 size_t ImageDataParameter::ByteSizeLong() const {
33601 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ImageDataParameter)
33602   size_t total_size = 0;
33603
33604   if (_has_bits_[0 / 32] & 255u) {
33605     // optional string source = 1;
33606     if (has_source()) {
33607       total_size += 1 +
33608         ::google::protobuf::internal::WireFormatLite::StringSize(
33609           this->source());
33610     }
33611
33612     // optional uint32 batch_size = 4 [default = 1];
33613     if (has_batch_size()) {
33614       total_size += 1 +
33615         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33616           this->batch_size());
33617     }
33618
33619     // optional uint32 rand_skip = 7 [default = 0];
33620     if (has_rand_skip()) {
33621       total_size += 1 +
33622         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33623           this->rand_skip());
33624     }
33625
33626     // optional bool shuffle = 8 [default = false];
33627     if (has_shuffle()) {
33628       total_size += 1 + 1;
33629     }
33630
33631     // optional uint32 new_height = 9 [default = 0];
33632     if (has_new_height()) {
33633       total_size += 1 +
33634         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33635           this->new_height());
33636     }
33637
33638     // optional uint32 new_width = 10 [default = 0];
33639     if (has_new_width()) {
33640       total_size += 1 +
33641         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33642           this->new_width());
33643     }
33644
33645     // optional bool is_color = 11 [default = true];
33646     if (has_is_color()) {
33647       total_size += 1 + 1;
33648     }
33649
33650     // optional float scale = 2 [default = 1];
33651     if (has_scale()) {
33652       total_size += 1 + 4;
33653     }
33654
33655   }
33656   if (_has_bits_[8 / 32] & 3840u) {
33657     // optional string mean_file = 3;
33658     if (has_mean_file()) {
33659       total_size += 1 +
33660         ::google::protobuf::internal::WireFormatLite::StringSize(
33661           this->mean_file());
33662     }
33663
33664     // optional uint32 crop_size = 5 [default = 0];
33665     if (has_crop_size()) {
33666       total_size += 1 +
33667         ::google::protobuf::internal::WireFormatLite::UInt32Size(
33668           this->crop_size());
33669     }
33670
33671     // optional bool mirror = 6 [default = false];
33672     if (has_mirror()) {
33673       total_size += 1 + 1;
33674     }
33675
33676     // optional string root_folder = 12 [default = ""];
33677     if (has_root_folder()) {
33678       total_size += 1 +
33679         ::google::protobuf::internal::WireFormatLite::StringSize(
33680           this->root_folder());
33681     }
33682
33683   }
33684   if (_internal_metadata_.have_unknown_fields()) {
33685     total_size +=
33686       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
33687         unknown_fields());
33688   }
33689   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
33690   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
33691   _cached_size_ = cached_size;
33692   GOOGLE_SAFE_CONCURRENT_WRITES_END();
33693   return total_size;
33694 }
33695
33696 void ImageDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
33697 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ImageDataParameter)
33698   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
33699   const ImageDataParameter* source =
33700       ::google::protobuf::internal::DynamicCastToGenerated<const ImageDataParameter>(
33701           &from);
33702   if (source == NULL) {
33703   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ImageDataParameter)
33704     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
33705   } else {
33706   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ImageDataParameter)
33707     UnsafeMergeFrom(*source);
33708   }
33709 }
33710
33711 void ImageDataParameter::MergeFrom(const ImageDataParameter& from) {
33712 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ImageDataParameter)
33713   if (GOOGLE_PREDICT_TRUE(&from != this)) {
33714     UnsafeMergeFrom(from);
33715   } else {
33716     MergeFromFail(__LINE__);
33717   }
33718 }
33719
33720 void ImageDataParameter::UnsafeMergeFrom(const ImageDataParameter& from) {
33721   GOOGLE_DCHECK(&from != this);
33722   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
33723     if (from.has_source()) {
33724       set_has_source();
33725       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
33726     }
33727     if (from.has_batch_size()) {
33728       set_batch_size(from.batch_size());
33729     }
33730     if (from.has_rand_skip()) {
33731       set_rand_skip(from.rand_skip());
33732     }
33733     if (from.has_shuffle()) {
33734       set_shuffle(from.shuffle());
33735     }
33736     if (from.has_new_height()) {
33737       set_new_height(from.new_height());
33738     }
33739     if (from.has_new_width()) {
33740       set_new_width(from.new_width());
33741     }
33742     if (from.has_is_color()) {
33743       set_is_color(from.is_color());
33744     }
33745     if (from.has_scale()) {
33746       set_scale(from.scale());
33747     }
33748   }
33749   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
33750     if (from.has_mean_file()) {
33751       set_has_mean_file();
33752       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
33753     }
33754     if (from.has_crop_size()) {
33755       set_crop_size(from.crop_size());
33756     }
33757     if (from.has_mirror()) {
33758       set_mirror(from.mirror());
33759     }
33760     if (from.has_root_folder()) {
33761       set_has_root_folder();
33762       root_folder_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.root_folder_);
33763     }
33764   }
33765   if (from._internal_metadata_.have_unknown_fields()) {
33766     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
33767       from.unknown_fields(), &_internal_metadata_);
33768   }
33769 }
33770
33771 void ImageDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
33772 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ImageDataParameter)
33773   if (&from == this) return;
33774   Clear();
33775   MergeFrom(from);
33776 }
33777
33778 void ImageDataParameter::CopyFrom(const ImageDataParameter& from) {
33779 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ImageDataParameter)
33780   if (&from == this) return;
33781   Clear();
33782   UnsafeMergeFrom(from);
33783 }
33784
33785 bool ImageDataParameter::IsInitialized() const {
33786
33787   return true;
33788 }
33789
33790 void ImageDataParameter::Swap(ImageDataParameter* other) {
33791   if (other == this) return;
33792   InternalSwap(other);
33793 }
33794 void ImageDataParameter::InternalSwap(ImageDataParameter* other) {
33795   source_.Swap(&other->source_);
33796   std::swap(batch_size_, other->batch_size_);
33797   std::swap(rand_skip_, other->rand_skip_);
33798   std::swap(shuffle_, other->shuffle_);
33799   std::swap(new_height_, other->new_height_);
33800   std::swap(new_width_, other->new_width_);
33801   std::swap(is_color_, other->is_color_);
33802   std::swap(scale_, other->scale_);
33803   mean_file_.Swap(&other->mean_file_);
33804   std::swap(crop_size_, other->crop_size_);
33805   std::swap(mirror_, other->mirror_);
33806   root_folder_.Swap(&other->root_folder_);
33807   std::swap(_has_bits_[0], other->_has_bits_[0]);
33808   _internal_metadata_.Swap(&other->_internal_metadata_);
33809   std::swap(_cached_size_, other->_cached_size_);
33810 }
33811
33812 ::google::protobuf::Metadata ImageDataParameter::GetMetadata() const {
33813   protobuf_AssignDescriptorsOnce();
33814   ::google::protobuf::Metadata metadata;
33815   metadata.descriptor = ImageDataParameter_descriptor_;
33816   metadata.reflection = ImageDataParameter_reflection_;
33817   return metadata;
33818 }
33819
33820 #if PROTOBUF_INLINE_NOT_IN_HEADERS
33821 // ImageDataParameter
33822
33823 // optional string source = 1;
33824 bool ImageDataParameter::has_source() const {
33825   return (_has_bits_[0] & 0x00000001u) != 0;
33826 }
33827 void ImageDataParameter::set_has_source() {
33828   _has_bits_[0] |= 0x00000001u;
33829 }
33830 void ImageDataParameter::clear_has_source() {
33831   _has_bits_[0] &= ~0x00000001u;
33832 }
33833 void ImageDataParameter::clear_source() {
33834   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33835   clear_has_source();
33836 }
33837 const ::std::string& ImageDataParameter::source() const {
33838   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.source)
33839   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33840 }
33841 void ImageDataParameter::set_source(const ::std::string& value) {
33842   set_has_source();
33843   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
33844   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.source)
33845 }
33846 void ImageDataParameter::set_source(const char* value) {
33847   set_has_source();
33848   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
33849   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.source)
33850 }
33851 void ImageDataParameter::set_source(const char* value, size_t size) {
33852   set_has_source();
33853   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
33854       ::std::string(reinterpret_cast<const char*>(value), size));
33855   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.source)
33856 }
33857 ::std::string* ImageDataParameter::mutable_source() {
33858   set_has_source();
33859   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.source)
33860   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33861 }
33862 ::std::string* ImageDataParameter::release_source() {
33863   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.source)
33864   clear_has_source();
33865   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
33866 }
33867 void ImageDataParameter::set_allocated_source(::std::string* source) {
33868   if (source != NULL) {
33869     set_has_source();
33870   } else {
33871     clear_has_source();
33872   }
33873   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
33874   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.source)
33875 }
33876
33877 // optional uint32 batch_size = 4 [default = 1];
33878 bool ImageDataParameter::has_batch_size() const {
33879   return (_has_bits_[0] & 0x00000002u) != 0;
33880 }
33881 void ImageDataParameter::set_has_batch_size() {
33882   _has_bits_[0] |= 0x00000002u;
33883 }
33884 void ImageDataParameter::clear_has_batch_size() {
33885   _has_bits_[0] &= ~0x00000002u;
33886 }
33887 void ImageDataParameter::clear_batch_size() {
33888   batch_size_ = 1u;
33889   clear_has_batch_size();
33890 }
33891 ::google::protobuf::uint32 ImageDataParameter::batch_size() const {
33892   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.batch_size)
33893   return batch_size_;
33894 }
33895 void ImageDataParameter::set_batch_size(::google::protobuf::uint32 value) {
33896   set_has_batch_size();
33897   batch_size_ = value;
33898   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.batch_size)
33899 }
33900
33901 // optional uint32 rand_skip = 7 [default = 0];
33902 bool ImageDataParameter::has_rand_skip() const {
33903   return (_has_bits_[0] & 0x00000004u) != 0;
33904 }
33905 void ImageDataParameter::set_has_rand_skip() {
33906   _has_bits_[0] |= 0x00000004u;
33907 }
33908 void ImageDataParameter::clear_has_rand_skip() {
33909   _has_bits_[0] &= ~0x00000004u;
33910 }
33911 void ImageDataParameter::clear_rand_skip() {
33912   rand_skip_ = 0u;
33913   clear_has_rand_skip();
33914 }
33915 ::google::protobuf::uint32 ImageDataParameter::rand_skip() const {
33916   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.rand_skip)
33917   return rand_skip_;
33918 }
33919 void ImageDataParameter::set_rand_skip(::google::protobuf::uint32 value) {
33920   set_has_rand_skip();
33921   rand_skip_ = value;
33922   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.rand_skip)
33923 }
33924
33925 // optional bool shuffle = 8 [default = false];
33926 bool ImageDataParameter::has_shuffle() const {
33927   return (_has_bits_[0] & 0x00000008u) != 0;
33928 }
33929 void ImageDataParameter::set_has_shuffle() {
33930   _has_bits_[0] |= 0x00000008u;
33931 }
33932 void ImageDataParameter::clear_has_shuffle() {
33933   _has_bits_[0] &= ~0x00000008u;
33934 }
33935 void ImageDataParameter::clear_shuffle() {
33936   shuffle_ = false;
33937   clear_has_shuffle();
33938 }
33939 bool ImageDataParameter::shuffle() const {
33940   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.shuffle)
33941   return shuffle_;
33942 }
33943 void ImageDataParameter::set_shuffle(bool value) {
33944   set_has_shuffle();
33945   shuffle_ = value;
33946   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.shuffle)
33947 }
33948
33949 // optional uint32 new_height = 9 [default = 0];
33950 bool ImageDataParameter::has_new_height() const {
33951   return (_has_bits_[0] & 0x00000010u) != 0;
33952 }
33953 void ImageDataParameter::set_has_new_height() {
33954   _has_bits_[0] |= 0x00000010u;
33955 }
33956 void ImageDataParameter::clear_has_new_height() {
33957   _has_bits_[0] &= ~0x00000010u;
33958 }
33959 void ImageDataParameter::clear_new_height() {
33960   new_height_ = 0u;
33961   clear_has_new_height();
33962 }
33963 ::google::protobuf::uint32 ImageDataParameter::new_height() const {
33964   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_height)
33965   return new_height_;
33966 }
33967 void ImageDataParameter::set_new_height(::google::protobuf::uint32 value) {
33968   set_has_new_height();
33969   new_height_ = value;
33970   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_height)
33971 }
33972
33973 // optional uint32 new_width = 10 [default = 0];
33974 bool ImageDataParameter::has_new_width() const {
33975   return (_has_bits_[0] & 0x00000020u) != 0;
33976 }
33977 void ImageDataParameter::set_has_new_width() {
33978   _has_bits_[0] |= 0x00000020u;
33979 }
33980 void ImageDataParameter::clear_has_new_width() {
33981   _has_bits_[0] &= ~0x00000020u;
33982 }
33983 void ImageDataParameter::clear_new_width() {
33984   new_width_ = 0u;
33985   clear_has_new_width();
33986 }
33987 ::google::protobuf::uint32 ImageDataParameter::new_width() const {
33988   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_width)
33989   return new_width_;
33990 }
33991 void ImageDataParameter::set_new_width(::google::protobuf::uint32 value) {
33992   set_has_new_width();
33993   new_width_ = value;
33994   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_width)
33995 }
33996
33997 // optional bool is_color = 11 [default = true];
33998 bool ImageDataParameter::has_is_color() const {
33999   return (_has_bits_[0] & 0x00000040u) != 0;
34000 }
34001 void ImageDataParameter::set_has_is_color() {
34002   _has_bits_[0] |= 0x00000040u;
34003 }
34004 void ImageDataParameter::clear_has_is_color() {
34005   _has_bits_[0] &= ~0x00000040u;
34006 }
34007 void ImageDataParameter::clear_is_color() {
34008   is_color_ = true;
34009   clear_has_is_color();
34010 }
34011 bool ImageDataParameter::is_color() const {
34012   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.is_color)
34013   return is_color_;
34014 }
34015 void ImageDataParameter::set_is_color(bool value) {
34016   set_has_is_color();
34017   is_color_ = value;
34018   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.is_color)
34019 }
34020
34021 // optional float scale = 2 [default = 1];
34022 bool ImageDataParameter::has_scale() const {
34023   return (_has_bits_[0] & 0x00000080u) != 0;
34024 }
34025 void ImageDataParameter::set_has_scale() {
34026   _has_bits_[0] |= 0x00000080u;
34027 }
34028 void ImageDataParameter::clear_has_scale() {
34029   _has_bits_[0] &= ~0x00000080u;
34030 }
34031 void ImageDataParameter::clear_scale() {
34032   scale_ = 1;
34033   clear_has_scale();
34034 }
34035 float ImageDataParameter::scale() const {
34036   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.scale)
34037   return scale_;
34038 }
34039 void ImageDataParameter::set_scale(float value) {
34040   set_has_scale();
34041   scale_ = value;
34042   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.scale)
34043 }
34044
34045 // optional string mean_file = 3;
34046 bool ImageDataParameter::has_mean_file() const {
34047   return (_has_bits_[0] & 0x00000100u) != 0;
34048 }
34049 void ImageDataParameter::set_has_mean_file() {
34050   _has_bits_[0] |= 0x00000100u;
34051 }
34052 void ImageDataParameter::clear_has_mean_file() {
34053   _has_bits_[0] &= ~0x00000100u;
34054 }
34055 void ImageDataParameter::clear_mean_file() {
34056   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34057   clear_has_mean_file();
34058 }
34059 const ::std::string& ImageDataParameter::mean_file() const {
34060   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mean_file)
34061   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34062 }
34063 void ImageDataParameter::set_mean_file(const ::std::string& value) {
34064   set_has_mean_file();
34065   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
34066   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mean_file)
34067 }
34068 void ImageDataParameter::set_mean_file(const char* value) {
34069   set_has_mean_file();
34070   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
34071   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.mean_file)
34072 }
34073 void ImageDataParameter::set_mean_file(const char* value, size_t size) {
34074   set_has_mean_file();
34075   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
34076       ::std::string(reinterpret_cast<const char*>(value), size));
34077   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.mean_file)
34078 }
34079 ::std::string* ImageDataParameter::mutable_mean_file() {
34080   set_has_mean_file();
34081   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.mean_file)
34082   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34083 }
34084 ::std::string* ImageDataParameter::release_mean_file() {
34085   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.mean_file)
34086   clear_has_mean_file();
34087   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34088 }
34089 void ImageDataParameter::set_allocated_mean_file(::std::string* mean_file) {
34090   if (mean_file != NULL) {
34091     set_has_mean_file();
34092   } else {
34093     clear_has_mean_file();
34094   }
34095   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
34096   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.mean_file)
34097 }
34098
34099 // optional uint32 crop_size = 5 [default = 0];
34100 bool ImageDataParameter::has_crop_size() const {
34101   return (_has_bits_[0] & 0x00000200u) != 0;
34102 }
34103 void ImageDataParameter::set_has_crop_size() {
34104   _has_bits_[0] |= 0x00000200u;
34105 }
34106 void ImageDataParameter::clear_has_crop_size() {
34107   _has_bits_[0] &= ~0x00000200u;
34108 }
34109 void ImageDataParameter::clear_crop_size() {
34110   crop_size_ = 0u;
34111   clear_has_crop_size();
34112 }
34113 ::google::protobuf::uint32 ImageDataParameter::crop_size() const {
34114   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.crop_size)
34115   return crop_size_;
34116 }
34117 void ImageDataParameter::set_crop_size(::google::protobuf::uint32 value) {
34118   set_has_crop_size();
34119   crop_size_ = value;
34120   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.crop_size)
34121 }
34122
34123 // optional bool mirror = 6 [default = false];
34124 bool ImageDataParameter::has_mirror() const {
34125   return (_has_bits_[0] & 0x00000400u) != 0;
34126 }
34127 void ImageDataParameter::set_has_mirror() {
34128   _has_bits_[0] |= 0x00000400u;
34129 }
34130 void ImageDataParameter::clear_has_mirror() {
34131   _has_bits_[0] &= ~0x00000400u;
34132 }
34133 void ImageDataParameter::clear_mirror() {
34134   mirror_ = false;
34135   clear_has_mirror();
34136 }
34137 bool ImageDataParameter::mirror() const {
34138   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mirror)
34139   return mirror_;
34140 }
34141 void ImageDataParameter::set_mirror(bool value) {
34142   set_has_mirror();
34143   mirror_ = value;
34144   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mirror)
34145 }
34146
34147 // optional string root_folder = 12 [default = ""];
34148 bool ImageDataParameter::has_root_folder() const {
34149   return (_has_bits_[0] & 0x00000800u) != 0;
34150 }
34151 void ImageDataParameter::set_has_root_folder() {
34152   _has_bits_[0] |= 0x00000800u;
34153 }
34154 void ImageDataParameter::clear_has_root_folder() {
34155   _has_bits_[0] &= ~0x00000800u;
34156 }
34157 void ImageDataParameter::clear_root_folder() {
34158   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34159   clear_has_root_folder();
34160 }
34161 const ::std::string& ImageDataParameter::root_folder() const {
34162   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.root_folder)
34163   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34164 }
34165 void ImageDataParameter::set_root_folder(const ::std::string& value) {
34166   set_has_root_folder();
34167   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
34168   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.root_folder)
34169 }
34170 void ImageDataParameter::set_root_folder(const char* value) {
34171   set_has_root_folder();
34172   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
34173   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.root_folder)
34174 }
34175 void ImageDataParameter::set_root_folder(const char* value, size_t size) {
34176   set_has_root_folder();
34177   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
34178       ::std::string(reinterpret_cast<const char*>(value), size));
34179   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.root_folder)
34180 }
34181 ::std::string* ImageDataParameter::mutable_root_folder() {
34182   set_has_root_folder();
34183   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.root_folder)
34184   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34185 }
34186 ::std::string* ImageDataParameter::release_root_folder() {
34187   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.root_folder)
34188   clear_has_root_folder();
34189   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34190 }
34191 void ImageDataParameter::set_allocated_root_folder(::std::string* root_folder) {
34192   if (root_folder != NULL) {
34193     set_has_root_folder();
34194   } else {
34195     clear_has_root_folder();
34196   }
34197   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
34198   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.root_folder)
34199 }
34200
34201 inline const ImageDataParameter* ImageDataParameter::internal_default_instance() {
34202   return &ImageDataParameter_default_instance_.get();
34203 }
34204 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
34205
34206 // ===================================================================
34207
34208 #if !defined(_MSC_VER) || _MSC_VER >= 1900
34209 const int InfogainLossParameter::kSourceFieldNumber;
34210 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
34211
34212 InfogainLossParameter::InfogainLossParameter()
34213   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
34214   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34215   SharedCtor();
34216   // @@protoc_insertion_point(constructor:opencv_caffe.InfogainLossParameter)
34217 }
34218
34219 void InfogainLossParameter::InitAsDefaultInstance() {
34220 }
34221
34222 InfogainLossParameter::InfogainLossParameter(const InfogainLossParameter& from)
34223   : ::google::protobuf::Message(),
34224     _internal_metadata_(NULL) {
34225   SharedCtor();
34226   UnsafeMergeFrom(from);
34227   // @@protoc_insertion_point(copy_constructor:opencv_caffe.InfogainLossParameter)
34228 }
34229
34230 void InfogainLossParameter::SharedCtor() {
34231   _cached_size_ = 0;
34232   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34233 }
34234
34235 InfogainLossParameter::~InfogainLossParameter() {
34236   // @@protoc_insertion_point(destructor:opencv_caffe.InfogainLossParameter)
34237   SharedDtor();
34238 }
34239
34240 void InfogainLossParameter::SharedDtor() {
34241   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34242 }
34243
34244 void InfogainLossParameter::SetCachedSize(int size) const {
34245   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
34246   _cached_size_ = size;
34247   GOOGLE_SAFE_CONCURRENT_WRITES_END();
34248 }
34249 const ::google::protobuf::Descriptor* InfogainLossParameter::descriptor() {
34250   protobuf_AssignDescriptorsOnce();
34251   return InfogainLossParameter_descriptor_;
34252 }
34253
34254 const InfogainLossParameter& InfogainLossParameter::default_instance() {
34255   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34256   return *internal_default_instance();
34257 }
34258
34259 ::google::protobuf::internal::ExplicitlyConstructed<InfogainLossParameter> InfogainLossParameter_default_instance_;
34260
34261 InfogainLossParameter* InfogainLossParameter::New(::google::protobuf::Arena* arena) const {
34262   InfogainLossParameter* n = new InfogainLossParameter;
34263   if (arena != NULL) {
34264     arena->Own(n);
34265   }
34266   return n;
34267 }
34268
34269 void InfogainLossParameter::Clear() {
34270 // @@protoc_insertion_point(message_clear_start:opencv_caffe.InfogainLossParameter)
34271   if (has_source()) {
34272     source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34273   }
34274   _has_bits_.Clear();
34275   if (_internal_metadata_.have_unknown_fields()) {
34276     mutable_unknown_fields()->Clear();
34277   }
34278 }
34279
34280 bool InfogainLossParameter::MergePartialFromCodedStream(
34281     ::google::protobuf::io::CodedInputStream* input) {
34282 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
34283   ::google::protobuf::uint32 tag;
34284   // @@protoc_insertion_point(parse_start:opencv_caffe.InfogainLossParameter)
34285   for (;;) {
34286     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
34287     tag = p.first;
34288     if (!p.second) goto handle_unusual;
34289     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
34290       // optional string source = 1;
34291       case 1: {
34292         if (tag == 10) {
34293           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
34294                 input, this->mutable_source()));
34295           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
34296             this->source().data(), this->source().length(),
34297             ::google::protobuf::internal::WireFormat::PARSE,
34298             "opencv_caffe.InfogainLossParameter.source");
34299         } else {
34300           goto handle_unusual;
34301         }
34302         if (input->ExpectAtEnd()) goto success;
34303         break;
34304       }
34305
34306       default: {
34307       handle_unusual:
34308         if (tag == 0 ||
34309             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
34310             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
34311           goto success;
34312         }
34313         DO_(::google::protobuf::internal::WireFormat::SkipField(
34314               input, tag, mutable_unknown_fields()));
34315         break;
34316       }
34317     }
34318   }
34319 success:
34320   // @@protoc_insertion_point(parse_success:opencv_caffe.InfogainLossParameter)
34321   return true;
34322 failure:
34323   // @@protoc_insertion_point(parse_failure:opencv_caffe.InfogainLossParameter)
34324   return false;
34325 #undef DO_
34326 }
34327
34328 void InfogainLossParameter::SerializeWithCachedSizes(
34329     ::google::protobuf::io::CodedOutputStream* output) const {
34330   // @@protoc_insertion_point(serialize_start:opencv_caffe.InfogainLossParameter)
34331   // optional string source = 1;
34332   if (has_source()) {
34333     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
34334       this->source().data(), this->source().length(),
34335       ::google::protobuf::internal::WireFormat::SERIALIZE,
34336       "opencv_caffe.InfogainLossParameter.source");
34337     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
34338       1, this->source(), output);
34339   }
34340
34341   if (_internal_metadata_.have_unknown_fields()) {
34342     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
34343         unknown_fields(), output);
34344   }
34345   // @@protoc_insertion_point(serialize_end:opencv_caffe.InfogainLossParameter)
34346 }
34347
34348 ::google::protobuf::uint8* InfogainLossParameter::InternalSerializeWithCachedSizesToArray(
34349     bool deterministic, ::google::protobuf::uint8* target) const {
34350   (void)deterministic; // Unused
34351   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.InfogainLossParameter)
34352   // optional string source = 1;
34353   if (has_source()) {
34354     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
34355       this->source().data(), this->source().length(),
34356       ::google::protobuf::internal::WireFormat::SERIALIZE,
34357       "opencv_caffe.InfogainLossParameter.source");
34358     target =
34359       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
34360         1, this->source(), target);
34361   }
34362
34363   if (_internal_metadata_.have_unknown_fields()) {
34364     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
34365         unknown_fields(), target);
34366   }
34367   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.InfogainLossParameter)
34368   return target;
34369 }
34370
34371 size_t InfogainLossParameter::ByteSizeLong() const {
34372 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.InfogainLossParameter)
34373   size_t total_size = 0;
34374
34375   // optional string source = 1;
34376   if (has_source()) {
34377     total_size += 1 +
34378       ::google::protobuf::internal::WireFormatLite::StringSize(
34379         this->source());
34380   }
34381
34382   if (_internal_metadata_.have_unknown_fields()) {
34383     total_size +=
34384       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
34385         unknown_fields());
34386   }
34387   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
34388   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
34389   _cached_size_ = cached_size;
34390   GOOGLE_SAFE_CONCURRENT_WRITES_END();
34391   return total_size;
34392 }
34393
34394 void InfogainLossParameter::MergeFrom(const ::google::protobuf::Message& from) {
34395 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.InfogainLossParameter)
34396   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
34397   const InfogainLossParameter* source =
34398       ::google::protobuf::internal::DynamicCastToGenerated<const InfogainLossParameter>(
34399           &from);
34400   if (source == NULL) {
34401   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.InfogainLossParameter)
34402     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
34403   } else {
34404   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.InfogainLossParameter)
34405     UnsafeMergeFrom(*source);
34406   }
34407 }
34408
34409 void InfogainLossParameter::MergeFrom(const InfogainLossParameter& from) {
34410 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.InfogainLossParameter)
34411   if (GOOGLE_PREDICT_TRUE(&from != this)) {
34412     UnsafeMergeFrom(from);
34413   } else {
34414     MergeFromFail(__LINE__);
34415   }
34416 }
34417
34418 void InfogainLossParameter::UnsafeMergeFrom(const InfogainLossParameter& from) {
34419   GOOGLE_DCHECK(&from != this);
34420   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
34421     if (from.has_source()) {
34422       set_has_source();
34423       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
34424     }
34425   }
34426   if (from._internal_metadata_.have_unknown_fields()) {
34427     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
34428       from.unknown_fields(), &_internal_metadata_);
34429   }
34430 }
34431
34432 void InfogainLossParameter::CopyFrom(const ::google::protobuf::Message& from) {
34433 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.InfogainLossParameter)
34434   if (&from == this) return;
34435   Clear();
34436   MergeFrom(from);
34437 }
34438
34439 void InfogainLossParameter::CopyFrom(const InfogainLossParameter& from) {
34440 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.InfogainLossParameter)
34441   if (&from == this) return;
34442   Clear();
34443   UnsafeMergeFrom(from);
34444 }
34445
34446 bool InfogainLossParameter::IsInitialized() const {
34447
34448   return true;
34449 }
34450
34451 void InfogainLossParameter::Swap(InfogainLossParameter* other) {
34452   if (other == this) return;
34453   InternalSwap(other);
34454 }
34455 void InfogainLossParameter::InternalSwap(InfogainLossParameter* other) {
34456   source_.Swap(&other->source_);
34457   std::swap(_has_bits_[0], other->_has_bits_[0]);
34458   _internal_metadata_.Swap(&other->_internal_metadata_);
34459   std::swap(_cached_size_, other->_cached_size_);
34460 }
34461
34462 ::google::protobuf::Metadata InfogainLossParameter::GetMetadata() const {
34463   protobuf_AssignDescriptorsOnce();
34464   ::google::protobuf::Metadata metadata;
34465   metadata.descriptor = InfogainLossParameter_descriptor_;
34466   metadata.reflection = InfogainLossParameter_reflection_;
34467   return metadata;
34468 }
34469
34470 #if PROTOBUF_INLINE_NOT_IN_HEADERS
34471 // InfogainLossParameter
34472
34473 // optional string source = 1;
34474 bool InfogainLossParameter::has_source() const {
34475   return (_has_bits_[0] & 0x00000001u) != 0;
34476 }
34477 void InfogainLossParameter::set_has_source() {
34478   _has_bits_[0] |= 0x00000001u;
34479 }
34480 void InfogainLossParameter::clear_has_source() {
34481   _has_bits_[0] &= ~0x00000001u;
34482 }
34483 void InfogainLossParameter::clear_source() {
34484   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34485   clear_has_source();
34486 }
34487 const ::std::string& InfogainLossParameter::source() const {
34488   // @@protoc_insertion_point(field_get:opencv_caffe.InfogainLossParameter.source)
34489   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34490 }
34491 void InfogainLossParameter::set_source(const ::std::string& value) {
34492   set_has_source();
34493   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
34494   // @@protoc_insertion_point(field_set:opencv_caffe.InfogainLossParameter.source)
34495 }
34496 void InfogainLossParameter::set_source(const char* value) {
34497   set_has_source();
34498   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
34499   // @@protoc_insertion_point(field_set_char:opencv_caffe.InfogainLossParameter.source)
34500 }
34501 void InfogainLossParameter::set_source(const char* value, size_t size) {
34502   set_has_source();
34503   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
34504       ::std::string(reinterpret_cast<const char*>(value), size));
34505   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.InfogainLossParameter.source)
34506 }
34507 ::std::string* InfogainLossParameter::mutable_source() {
34508   set_has_source();
34509   // @@protoc_insertion_point(field_mutable:opencv_caffe.InfogainLossParameter.source)
34510   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34511 }
34512 ::std::string* InfogainLossParameter::release_source() {
34513   // @@protoc_insertion_point(field_release:opencv_caffe.InfogainLossParameter.source)
34514   clear_has_source();
34515   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
34516 }
34517 void InfogainLossParameter::set_allocated_source(::std::string* source) {
34518   if (source != NULL) {
34519     set_has_source();
34520   } else {
34521     clear_has_source();
34522   }
34523   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
34524   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InfogainLossParameter.source)
34525 }
34526
34527 inline const InfogainLossParameter* InfogainLossParameter::internal_default_instance() {
34528   return &InfogainLossParameter_default_instance_.get();
34529 }
34530 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
34531
34532 // ===================================================================
34533
34534 #if !defined(_MSC_VER) || _MSC_VER >= 1900
34535 const int InnerProductParameter::kNumOutputFieldNumber;
34536 const int InnerProductParameter::kBiasTermFieldNumber;
34537 const int InnerProductParameter::kWeightFillerFieldNumber;
34538 const int InnerProductParameter::kBiasFillerFieldNumber;
34539 const int InnerProductParameter::kAxisFieldNumber;
34540 const int InnerProductParameter::kTransposeFieldNumber;
34541 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
34542
34543 InnerProductParameter::InnerProductParameter()
34544   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
34545   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34546   SharedCtor();
34547   // @@protoc_insertion_point(constructor:opencv_caffe.InnerProductParameter)
34548 }
34549
34550 void InnerProductParameter::InitAsDefaultInstance() {
34551   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
34552       ::opencv_caffe::FillerParameter::internal_default_instance());
34553   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
34554       ::opencv_caffe::FillerParameter::internal_default_instance());
34555 }
34556
34557 InnerProductParameter::InnerProductParameter(const InnerProductParameter& from)
34558   : ::google::protobuf::Message(),
34559     _internal_metadata_(NULL) {
34560   SharedCtor();
34561   UnsafeMergeFrom(from);
34562   // @@protoc_insertion_point(copy_constructor:opencv_caffe.InnerProductParameter)
34563 }
34564
34565 void InnerProductParameter::SharedCtor() {
34566   _cached_size_ = 0;
34567   weight_filler_ = NULL;
34568   bias_filler_ = NULL;
34569   ::memset(&num_output_, 0, reinterpret_cast<char*>(&transpose_) -
34570     reinterpret_cast<char*>(&num_output_) + sizeof(transpose_));
34571   bias_term_ = true;
34572   axis_ = 1;
34573 }
34574
34575 InnerProductParameter::~InnerProductParameter() {
34576   // @@protoc_insertion_point(destructor:opencv_caffe.InnerProductParameter)
34577   SharedDtor();
34578 }
34579
34580 void InnerProductParameter::SharedDtor() {
34581   if (this != &InnerProductParameter_default_instance_.get()) {
34582     delete weight_filler_;
34583     delete bias_filler_;
34584   }
34585 }
34586
34587 void InnerProductParameter::SetCachedSize(int size) const {
34588   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
34589   _cached_size_ = size;
34590   GOOGLE_SAFE_CONCURRENT_WRITES_END();
34591 }
34592 const ::google::protobuf::Descriptor* InnerProductParameter::descriptor() {
34593   protobuf_AssignDescriptorsOnce();
34594   return InnerProductParameter_descriptor_;
34595 }
34596
34597 const InnerProductParameter& InnerProductParameter::default_instance() {
34598   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
34599   return *internal_default_instance();
34600 }
34601
34602 ::google::protobuf::internal::ExplicitlyConstructed<InnerProductParameter> InnerProductParameter_default_instance_;
34603
34604 InnerProductParameter* InnerProductParameter::New(::google::protobuf::Arena* arena) const {
34605   InnerProductParameter* n = new InnerProductParameter;
34606   if (arena != NULL) {
34607     arena->Own(n);
34608   }
34609   return n;
34610 }
34611
34612 void InnerProductParameter::Clear() {
34613 // @@protoc_insertion_point(message_clear_start:opencv_caffe.InnerProductParameter)
34614 #if defined(__clang__)
34615 #define ZR_HELPER_(f) \
34616   _Pragma("clang diagnostic push") \
34617   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
34618   __builtin_offsetof(InnerProductParameter, f) \
34619   _Pragma("clang diagnostic pop")
34620 #else
34621 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
34622   &reinterpret_cast<InnerProductParameter*>(16)->f)
34623 #endif
34624
34625 #define ZR_(first, last) do {\
34626   ::memset(&(first), 0,\
34627            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
34628 } while (0)
34629
34630   if (_has_bits_[0 / 32] & 63u) {
34631     ZR_(num_output_, transpose_);
34632     bias_term_ = true;
34633     if (has_weight_filler()) {
34634       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
34635     }
34636     if (has_bias_filler()) {
34637       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
34638     }
34639     axis_ = 1;
34640   }
34641
34642 #undef ZR_HELPER_
34643 #undef ZR_
34644
34645   _has_bits_.Clear();
34646   if (_internal_metadata_.have_unknown_fields()) {
34647     mutable_unknown_fields()->Clear();
34648   }
34649 }
34650
34651 bool InnerProductParameter::MergePartialFromCodedStream(
34652     ::google::protobuf::io::CodedInputStream* input) {
34653 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
34654   ::google::protobuf::uint32 tag;
34655   // @@protoc_insertion_point(parse_start:opencv_caffe.InnerProductParameter)
34656   for (;;) {
34657     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
34658     tag = p.first;
34659     if (!p.second) goto handle_unusual;
34660     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
34661       // optional uint32 num_output = 1;
34662       case 1: {
34663         if (tag == 8) {
34664           set_has_num_output();
34665           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34666                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
34667                  input, &num_output_)));
34668         } else {
34669           goto handle_unusual;
34670         }
34671         if (input->ExpectTag(16)) goto parse_bias_term;
34672         break;
34673       }
34674
34675       // optional bool bias_term = 2 [default = true];
34676       case 2: {
34677         if (tag == 16) {
34678          parse_bias_term:
34679           set_has_bias_term();
34680           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34681                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
34682                  input, &bias_term_)));
34683         } else {
34684           goto handle_unusual;
34685         }
34686         if (input->ExpectTag(26)) goto parse_weight_filler;
34687         break;
34688       }
34689
34690       // optional .opencv_caffe.FillerParameter weight_filler = 3;
34691       case 3: {
34692         if (tag == 26) {
34693          parse_weight_filler:
34694           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
34695                input, mutable_weight_filler()));
34696         } else {
34697           goto handle_unusual;
34698         }
34699         if (input->ExpectTag(34)) goto parse_bias_filler;
34700         break;
34701       }
34702
34703       // optional .opencv_caffe.FillerParameter bias_filler = 4;
34704       case 4: {
34705         if (tag == 34) {
34706          parse_bias_filler:
34707           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
34708                input, mutable_bias_filler()));
34709         } else {
34710           goto handle_unusual;
34711         }
34712         if (input->ExpectTag(40)) goto parse_axis;
34713         break;
34714       }
34715
34716       // optional int32 axis = 5 [default = 1];
34717       case 5: {
34718         if (tag == 40) {
34719          parse_axis:
34720           set_has_axis();
34721           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34722                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
34723                  input, &axis_)));
34724         } else {
34725           goto handle_unusual;
34726         }
34727         if (input->ExpectTag(48)) goto parse_transpose;
34728         break;
34729       }
34730
34731       // optional bool transpose = 6 [default = false];
34732       case 6: {
34733         if (tag == 48) {
34734          parse_transpose:
34735           set_has_transpose();
34736           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
34737                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
34738                  input, &transpose_)));
34739         } else {
34740           goto handle_unusual;
34741         }
34742         if (input->ExpectAtEnd()) goto success;
34743         break;
34744       }
34745
34746       default: {
34747       handle_unusual:
34748         if (tag == 0 ||
34749             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
34750             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
34751           goto success;
34752         }
34753         DO_(::google::protobuf::internal::WireFormat::SkipField(
34754               input, tag, mutable_unknown_fields()));
34755         break;
34756       }
34757     }
34758   }
34759 success:
34760   // @@protoc_insertion_point(parse_success:opencv_caffe.InnerProductParameter)
34761   return true;
34762 failure:
34763   // @@protoc_insertion_point(parse_failure:opencv_caffe.InnerProductParameter)
34764   return false;
34765 #undef DO_
34766 }
34767
34768 void InnerProductParameter::SerializeWithCachedSizes(
34769     ::google::protobuf::io::CodedOutputStream* output) const {
34770   // @@protoc_insertion_point(serialize_start:opencv_caffe.InnerProductParameter)
34771   // optional uint32 num_output = 1;
34772   if (has_num_output()) {
34773     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
34774   }
34775
34776   // optional bool bias_term = 2 [default = true];
34777   if (has_bias_term()) {
34778     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->bias_term(), output);
34779   }
34780
34781   // optional .opencv_caffe.FillerParameter weight_filler = 3;
34782   if (has_weight_filler()) {
34783     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
34784       3, *this->weight_filler_, output);
34785   }
34786
34787   // optional .opencv_caffe.FillerParameter bias_filler = 4;
34788   if (has_bias_filler()) {
34789     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
34790       4, *this->bias_filler_, output);
34791   }
34792
34793   // optional int32 axis = 5 [default = 1];
34794   if (has_axis()) {
34795     ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->axis(), output);
34796   }
34797
34798   // optional bool transpose = 6 [default = false];
34799   if (has_transpose()) {
34800     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->transpose(), output);
34801   }
34802
34803   if (_internal_metadata_.have_unknown_fields()) {
34804     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
34805         unknown_fields(), output);
34806   }
34807   // @@protoc_insertion_point(serialize_end:opencv_caffe.InnerProductParameter)
34808 }
34809
34810 ::google::protobuf::uint8* InnerProductParameter::InternalSerializeWithCachedSizesToArray(
34811     bool deterministic, ::google::protobuf::uint8* target) const {
34812   (void)deterministic; // Unused
34813   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.InnerProductParameter)
34814   // optional uint32 num_output = 1;
34815   if (has_num_output()) {
34816     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
34817   }
34818
34819   // optional bool bias_term = 2 [default = true];
34820   if (has_bias_term()) {
34821     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->bias_term(), target);
34822   }
34823
34824   // optional .opencv_caffe.FillerParameter weight_filler = 3;
34825   if (has_weight_filler()) {
34826     target = ::google::protobuf::internal::WireFormatLite::
34827       InternalWriteMessageNoVirtualToArray(
34828         3, *this->weight_filler_, false, target);
34829   }
34830
34831   // optional .opencv_caffe.FillerParameter bias_filler = 4;
34832   if (has_bias_filler()) {
34833     target = ::google::protobuf::internal::WireFormatLite::
34834       InternalWriteMessageNoVirtualToArray(
34835         4, *this->bias_filler_, false, target);
34836   }
34837
34838   // optional int32 axis = 5 [default = 1];
34839   if (has_axis()) {
34840     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->axis(), target);
34841   }
34842
34843   // optional bool transpose = 6 [default = false];
34844   if (has_transpose()) {
34845     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->transpose(), target);
34846   }
34847
34848   if (_internal_metadata_.have_unknown_fields()) {
34849     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
34850         unknown_fields(), target);
34851   }
34852   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.InnerProductParameter)
34853   return target;
34854 }
34855
34856 size_t InnerProductParameter::ByteSizeLong() const {
34857 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.InnerProductParameter)
34858   size_t total_size = 0;
34859
34860   if (_has_bits_[0 / 32] & 63u) {
34861     // optional uint32 num_output = 1;
34862     if (has_num_output()) {
34863       total_size += 1 +
34864         ::google::protobuf::internal::WireFormatLite::UInt32Size(
34865           this->num_output());
34866     }
34867
34868     // optional bool bias_term = 2 [default = true];
34869     if (has_bias_term()) {
34870       total_size += 1 + 1;
34871     }
34872
34873     // optional .opencv_caffe.FillerParameter weight_filler = 3;
34874     if (has_weight_filler()) {
34875       total_size += 1 +
34876         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
34877           *this->weight_filler_);
34878     }
34879
34880     // optional .opencv_caffe.FillerParameter bias_filler = 4;
34881     if (has_bias_filler()) {
34882       total_size += 1 +
34883         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
34884           *this->bias_filler_);
34885     }
34886
34887     // optional int32 axis = 5 [default = 1];
34888     if (has_axis()) {
34889       total_size += 1 +
34890         ::google::protobuf::internal::WireFormatLite::Int32Size(
34891           this->axis());
34892     }
34893
34894     // optional bool transpose = 6 [default = false];
34895     if (has_transpose()) {
34896       total_size += 1 + 1;
34897     }
34898
34899   }
34900   if (_internal_metadata_.have_unknown_fields()) {
34901     total_size +=
34902       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
34903         unknown_fields());
34904   }
34905   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
34906   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
34907   _cached_size_ = cached_size;
34908   GOOGLE_SAFE_CONCURRENT_WRITES_END();
34909   return total_size;
34910 }
34911
34912 void InnerProductParameter::MergeFrom(const ::google::protobuf::Message& from) {
34913 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.InnerProductParameter)
34914   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
34915   const InnerProductParameter* source =
34916       ::google::protobuf::internal::DynamicCastToGenerated<const InnerProductParameter>(
34917           &from);
34918   if (source == NULL) {
34919   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.InnerProductParameter)
34920     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
34921   } else {
34922   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.InnerProductParameter)
34923     UnsafeMergeFrom(*source);
34924   }
34925 }
34926
34927 void InnerProductParameter::MergeFrom(const InnerProductParameter& from) {
34928 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.InnerProductParameter)
34929   if (GOOGLE_PREDICT_TRUE(&from != this)) {
34930     UnsafeMergeFrom(from);
34931   } else {
34932     MergeFromFail(__LINE__);
34933   }
34934 }
34935
34936 void InnerProductParameter::UnsafeMergeFrom(const InnerProductParameter& from) {
34937   GOOGLE_DCHECK(&from != this);
34938   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
34939     if (from.has_num_output()) {
34940       set_num_output(from.num_output());
34941     }
34942     if (from.has_bias_term()) {
34943       set_bias_term(from.bias_term());
34944     }
34945     if (from.has_weight_filler()) {
34946       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
34947     }
34948     if (from.has_bias_filler()) {
34949       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
34950     }
34951     if (from.has_axis()) {
34952       set_axis(from.axis());
34953     }
34954     if (from.has_transpose()) {
34955       set_transpose(from.transpose());
34956     }
34957   }
34958   if (from._internal_metadata_.have_unknown_fields()) {
34959     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
34960       from.unknown_fields(), &_internal_metadata_);
34961   }
34962 }
34963
34964 void InnerProductParameter::CopyFrom(const ::google::protobuf::Message& from) {
34965 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.InnerProductParameter)
34966   if (&from == this) return;
34967   Clear();
34968   MergeFrom(from);
34969 }
34970
34971 void InnerProductParameter::CopyFrom(const InnerProductParameter& from) {
34972 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.InnerProductParameter)
34973   if (&from == this) return;
34974   Clear();
34975   UnsafeMergeFrom(from);
34976 }
34977
34978 bool InnerProductParameter::IsInitialized() const {
34979
34980   return true;
34981 }
34982
34983 void InnerProductParameter::Swap(InnerProductParameter* other) {
34984   if (other == this) return;
34985   InternalSwap(other);
34986 }
34987 void InnerProductParameter::InternalSwap(InnerProductParameter* other) {
34988   std::swap(num_output_, other->num_output_);
34989   std::swap(bias_term_, other->bias_term_);
34990   std::swap(weight_filler_, other->weight_filler_);
34991   std::swap(bias_filler_, other->bias_filler_);
34992   std::swap(axis_, other->axis_);
34993   std::swap(transpose_, other->transpose_);
34994   std::swap(_has_bits_[0], other->_has_bits_[0]);
34995   _internal_metadata_.Swap(&other->_internal_metadata_);
34996   std::swap(_cached_size_, other->_cached_size_);
34997 }
34998
34999 ::google::protobuf::Metadata InnerProductParameter::GetMetadata() const {
35000   protobuf_AssignDescriptorsOnce();
35001   ::google::protobuf::Metadata metadata;
35002   metadata.descriptor = InnerProductParameter_descriptor_;
35003   metadata.reflection = InnerProductParameter_reflection_;
35004   return metadata;
35005 }
35006
35007 #if PROTOBUF_INLINE_NOT_IN_HEADERS
35008 // InnerProductParameter
35009
35010 // optional uint32 num_output = 1;
35011 bool InnerProductParameter::has_num_output() const {
35012   return (_has_bits_[0] & 0x00000001u) != 0;
35013 }
35014 void InnerProductParameter::set_has_num_output() {
35015   _has_bits_[0] |= 0x00000001u;
35016 }
35017 void InnerProductParameter::clear_has_num_output() {
35018   _has_bits_[0] &= ~0x00000001u;
35019 }
35020 void InnerProductParameter::clear_num_output() {
35021   num_output_ = 0u;
35022   clear_has_num_output();
35023 }
35024 ::google::protobuf::uint32 InnerProductParameter::num_output() const {
35025   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.num_output)
35026   return num_output_;
35027 }
35028 void InnerProductParameter::set_num_output(::google::protobuf::uint32 value) {
35029   set_has_num_output();
35030   num_output_ = value;
35031   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.num_output)
35032 }
35033
35034 // optional bool bias_term = 2 [default = true];
35035 bool InnerProductParameter::has_bias_term() const {
35036   return (_has_bits_[0] & 0x00000002u) != 0;
35037 }
35038 void InnerProductParameter::set_has_bias_term() {
35039   _has_bits_[0] |= 0x00000002u;
35040 }
35041 void InnerProductParameter::clear_has_bias_term() {
35042   _has_bits_[0] &= ~0x00000002u;
35043 }
35044 void InnerProductParameter::clear_bias_term() {
35045   bias_term_ = true;
35046   clear_has_bias_term();
35047 }
35048 bool InnerProductParameter::bias_term() const {
35049   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_term)
35050   return bias_term_;
35051 }
35052 void InnerProductParameter::set_bias_term(bool value) {
35053   set_has_bias_term();
35054   bias_term_ = value;
35055   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.bias_term)
35056 }
35057
35058 // optional .opencv_caffe.FillerParameter weight_filler = 3;
35059 bool InnerProductParameter::has_weight_filler() const {
35060   return (_has_bits_[0] & 0x00000004u) != 0;
35061 }
35062 void InnerProductParameter::set_has_weight_filler() {
35063   _has_bits_[0] |= 0x00000004u;
35064 }
35065 void InnerProductParameter::clear_has_weight_filler() {
35066   _has_bits_[0] &= ~0x00000004u;
35067 }
35068 void InnerProductParameter::clear_weight_filler() {
35069   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
35070   clear_has_weight_filler();
35071 }
35072 const ::opencv_caffe::FillerParameter& InnerProductParameter::weight_filler() const {
35073   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.weight_filler)
35074   return weight_filler_ != NULL ? *weight_filler_
35075                          : *::opencv_caffe::FillerParameter::internal_default_instance();
35076 }
35077 ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_weight_filler() {
35078   set_has_weight_filler();
35079   if (weight_filler_ == NULL) {
35080     weight_filler_ = new ::opencv_caffe::FillerParameter;
35081   }
35082   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.weight_filler)
35083   return weight_filler_;
35084 }
35085 ::opencv_caffe::FillerParameter* InnerProductParameter::release_weight_filler() {
35086   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.weight_filler)
35087   clear_has_weight_filler();
35088   ::opencv_caffe::FillerParameter* temp = weight_filler_;
35089   weight_filler_ = NULL;
35090   return temp;
35091 }
35092 void InnerProductParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
35093   delete weight_filler_;
35094   weight_filler_ = weight_filler;
35095   if (weight_filler) {
35096     set_has_weight_filler();
35097   } else {
35098     clear_has_weight_filler();
35099   }
35100   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.weight_filler)
35101 }
35102
35103 // optional .opencv_caffe.FillerParameter bias_filler = 4;
35104 bool InnerProductParameter::has_bias_filler() const {
35105   return (_has_bits_[0] & 0x00000008u) != 0;
35106 }
35107 void InnerProductParameter::set_has_bias_filler() {
35108   _has_bits_[0] |= 0x00000008u;
35109 }
35110 void InnerProductParameter::clear_has_bias_filler() {
35111   _has_bits_[0] &= ~0x00000008u;
35112 }
35113 void InnerProductParameter::clear_bias_filler() {
35114   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
35115   clear_has_bias_filler();
35116 }
35117 const ::opencv_caffe::FillerParameter& InnerProductParameter::bias_filler() const {
35118   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_filler)
35119   return bias_filler_ != NULL ? *bias_filler_
35120                          : *::opencv_caffe::FillerParameter::internal_default_instance();
35121 }
35122 ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_bias_filler() {
35123   set_has_bias_filler();
35124   if (bias_filler_ == NULL) {
35125     bias_filler_ = new ::opencv_caffe::FillerParameter;
35126   }
35127   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.bias_filler)
35128   return bias_filler_;
35129 }
35130 ::opencv_caffe::FillerParameter* InnerProductParameter::release_bias_filler() {
35131   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.bias_filler)
35132   clear_has_bias_filler();
35133   ::opencv_caffe::FillerParameter* temp = bias_filler_;
35134   bias_filler_ = NULL;
35135   return temp;
35136 }
35137 void InnerProductParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
35138   delete bias_filler_;
35139   bias_filler_ = bias_filler;
35140   if (bias_filler) {
35141     set_has_bias_filler();
35142   } else {
35143     clear_has_bias_filler();
35144   }
35145   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.bias_filler)
35146 }
35147
35148 // optional int32 axis = 5 [default = 1];
35149 bool InnerProductParameter::has_axis() const {
35150   return (_has_bits_[0] & 0x00000010u) != 0;
35151 }
35152 void InnerProductParameter::set_has_axis() {
35153   _has_bits_[0] |= 0x00000010u;
35154 }
35155 void InnerProductParameter::clear_has_axis() {
35156   _has_bits_[0] &= ~0x00000010u;
35157 }
35158 void InnerProductParameter::clear_axis() {
35159   axis_ = 1;
35160   clear_has_axis();
35161 }
35162 ::google::protobuf::int32 InnerProductParameter::axis() const {
35163   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.axis)
35164   return axis_;
35165 }
35166 void InnerProductParameter::set_axis(::google::protobuf::int32 value) {
35167   set_has_axis();
35168   axis_ = value;
35169   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.axis)
35170 }
35171
35172 // optional bool transpose = 6 [default = false];
35173 bool InnerProductParameter::has_transpose() const {
35174   return (_has_bits_[0] & 0x00000020u) != 0;
35175 }
35176 void InnerProductParameter::set_has_transpose() {
35177   _has_bits_[0] |= 0x00000020u;
35178 }
35179 void InnerProductParameter::clear_has_transpose() {
35180   _has_bits_[0] &= ~0x00000020u;
35181 }
35182 void InnerProductParameter::clear_transpose() {
35183   transpose_ = false;
35184   clear_has_transpose();
35185 }
35186 bool InnerProductParameter::transpose() const {
35187   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.transpose)
35188   return transpose_;
35189 }
35190 void InnerProductParameter::set_transpose(bool value) {
35191   set_has_transpose();
35192   transpose_ = value;
35193   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.transpose)
35194 }
35195
35196 inline const InnerProductParameter* InnerProductParameter::internal_default_instance() {
35197   return &InnerProductParameter_default_instance_.get();
35198 }
35199 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
35200
35201 // ===================================================================
35202
35203 #if !defined(_MSC_VER) || _MSC_VER >= 1900
35204 const int InputParameter::kShapeFieldNumber;
35205 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
35206
35207 InputParameter::InputParameter()
35208   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
35209   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35210   SharedCtor();
35211   // @@protoc_insertion_point(constructor:opencv_caffe.InputParameter)
35212 }
35213
35214 void InputParameter::InitAsDefaultInstance() {
35215 }
35216
35217 InputParameter::InputParameter(const InputParameter& from)
35218   : ::google::protobuf::Message(),
35219     _internal_metadata_(NULL) {
35220   SharedCtor();
35221   UnsafeMergeFrom(from);
35222   // @@protoc_insertion_point(copy_constructor:opencv_caffe.InputParameter)
35223 }
35224
35225 void InputParameter::SharedCtor() {
35226   _cached_size_ = 0;
35227 }
35228
35229 InputParameter::~InputParameter() {
35230   // @@protoc_insertion_point(destructor:opencv_caffe.InputParameter)
35231   SharedDtor();
35232 }
35233
35234 void InputParameter::SharedDtor() {
35235 }
35236
35237 void InputParameter::SetCachedSize(int size) const {
35238   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35239   _cached_size_ = size;
35240   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35241 }
35242 const ::google::protobuf::Descriptor* InputParameter::descriptor() {
35243   protobuf_AssignDescriptorsOnce();
35244   return InputParameter_descriptor_;
35245 }
35246
35247 const InputParameter& InputParameter::default_instance() {
35248   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35249   return *internal_default_instance();
35250 }
35251
35252 ::google::protobuf::internal::ExplicitlyConstructed<InputParameter> InputParameter_default_instance_;
35253
35254 InputParameter* InputParameter::New(::google::protobuf::Arena* arena) const {
35255   InputParameter* n = new InputParameter;
35256   if (arena != NULL) {
35257     arena->Own(n);
35258   }
35259   return n;
35260 }
35261
35262 void InputParameter::Clear() {
35263 // @@protoc_insertion_point(message_clear_start:opencv_caffe.InputParameter)
35264   shape_.Clear();
35265   _has_bits_.Clear();
35266   if (_internal_metadata_.have_unknown_fields()) {
35267     mutable_unknown_fields()->Clear();
35268   }
35269 }
35270
35271 bool InputParameter::MergePartialFromCodedStream(
35272     ::google::protobuf::io::CodedInputStream* input) {
35273 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
35274   ::google::protobuf::uint32 tag;
35275   // @@protoc_insertion_point(parse_start:opencv_caffe.InputParameter)
35276   for (;;) {
35277     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
35278     tag = p.first;
35279     if (!p.second) goto handle_unusual;
35280     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
35281       // repeated .opencv_caffe.BlobShape shape = 1;
35282       case 1: {
35283         if (tag == 10) {
35284           DO_(input->IncrementRecursionDepth());
35285          parse_loop_shape:
35286           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
35287                 input, add_shape()));
35288         } else {
35289           goto handle_unusual;
35290         }
35291         if (input->ExpectTag(10)) goto parse_loop_shape;
35292         input->UnsafeDecrementRecursionDepth();
35293         if (input->ExpectAtEnd()) goto success;
35294         break;
35295       }
35296
35297       default: {
35298       handle_unusual:
35299         if (tag == 0 ||
35300             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
35301             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
35302           goto success;
35303         }
35304         DO_(::google::protobuf::internal::WireFormat::SkipField(
35305               input, tag, mutable_unknown_fields()));
35306         break;
35307       }
35308     }
35309   }
35310 success:
35311   // @@protoc_insertion_point(parse_success:opencv_caffe.InputParameter)
35312   return true;
35313 failure:
35314   // @@protoc_insertion_point(parse_failure:opencv_caffe.InputParameter)
35315   return false;
35316 #undef DO_
35317 }
35318
35319 void InputParameter::SerializeWithCachedSizes(
35320     ::google::protobuf::io::CodedOutputStream* output) const {
35321   // @@protoc_insertion_point(serialize_start:opencv_caffe.InputParameter)
35322   // repeated .opencv_caffe.BlobShape shape = 1;
35323   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
35324     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
35325       1, this->shape(i), output);
35326   }
35327
35328   if (_internal_metadata_.have_unknown_fields()) {
35329     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
35330         unknown_fields(), output);
35331   }
35332   // @@protoc_insertion_point(serialize_end:opencv_caffe.InputParameter)
35333 }
35334
35335 ::google::protobuf::uint8* InputParameter::InternalSerializeWithCachedSizesToArray(
35336     bool deterministic, ::google::protobuf::uint8* target) const {
35337   (void)deterministic; // Unused
35338   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.InputParameter)
35339   // repeated .opencv_caffe.BlobShape shape = 1;
35340   for (unsigned int i = 0, n = this->shape_size(); i < n; i++) {
35341     target = ::google::protobuf::internal::WireFormatLite::
35342       InternalWriteMessageNoVirtualToArray(
35343         1, this->shape(i), false, target);
35344   }
35345
35346   if (_internal_metadata_.have_unknown_fields()) {
35347     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
35348         unknown_fields(), target);
35349   }
35350   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.InputParameter)
35351   return target;
35352 }
35353
35354 size_t InputParameter::ByteSizeLong() const {
35355 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.InputParameter)
35356   size_t total_size = 0;
35357
35358   // repeated .opencv_caffe.BlobShape shape = 1;
35359   {
35360     unsigned int count = this->shape_size();
35361     total_size += 1UL * count;
35362     for (unsigned int i = 0; i < count; i++) {
35363       total_size +=
35364         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
35365           this->shape(i));
35366     }
35367   }
35368
35369   if (_internal_metadata_.have_unknown_fields()) {
35370     total_size +=
35371       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
35372         unknown_fields());
35373   }
35374   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
35375   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35376   _cached_size_ = cached_size;
35377   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35378   return total_size;
35379 }
35380
35381 void InputParameter::MergeFrom(const ::google::protobuf::Message& from) {
35382 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.InputParameter)
35383   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
35384   const InputParameter* source =
35385       ::google::protobuf::internal::DynamicCastToGenerated<const InputParameter>(
35386           &from);
35387   if (source == NULL) {
35388   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.InputParameter)
35389     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
35390   } else {
35391   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.InputParameter)
35392     UnsafeMergeFrom(*source);
35393   }
35394 }
35395
35396 void InputParameter::MergeFrom(const InputParameter& from) {
35397 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.InputParameter)
35398   if (GOOGLE_PREDICT_TRUE(&from != this)) {
35399     UnsafeMergeFrom(from);
35400   } else {
35401     MergeFromFail(__LINE__);
35402   }
35403 }
35404
35405 void InputParameter::UnsafeMergeFrom(const InputParameter& from) {
35406   GOOGLE_DCHECK(&from != this);
35407   shape_.MergeFrom(from.shape_);
35408   if (from._internal_metadata_.have_unknown_fields()) {
35409     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
35410       from.unknown_fields(), &_internal_metadata_);
35411   }
35412 }
35413
35414 void InputParameter::CopyFrom(const ::google::protobuf::Message& from) {
35415 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.InputParameter)
35416   if (&from == this) return;
35417   Clear();
35418   MergeFrom(from);
35419 }
35420
35421 void InputParameter::CopyFrom(const InputParameter& from) {
35422 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.InputParameter)
35423   if (&from == this) return;
35424   Clear();
35425   UnsafeMergeFrom(from);
35426 }
35427
35428 bool InputParameter::IsInitialized() const {
35429
35430   return true;
35431 }
35432
35433 void InputParameter::Swap(InputParameter* other) {
35434   if (other == this) return;
35435   InternalSwap(other);
35436 }
35437 void InputParameter::InternalSwap(InputParameter* other) {
35438   shape_.UnsafeArenaSwap(&other->shape_);
35439   std::swap(_has_bits_[0], other->_has_bits_[0]);
35440   _internal_metadata_.Swap(&other->_internal_metadata_);
35441   std::swap(_cached_size_, other->_cached_size_);
35442 }
35443
35444 ::google::protobuf::Metadata InputParameter::GetMetadata() const {
35445   protobuf_AssignDescriptorsOnce();
35446   ::google::protobuf::Metadata metadata;
35447   metadata.descriptor = InputParameter_descriptor_;
35448   metadata.reflection = InputParameter_reflection_;
35449   return metadata;
35450 }
35451
35452 #if PROTOBUF_INLINE_NOT_IN_HEADERS
35453 // InputParameter
35454
35455 // repeated .opencv_caffe.BlobShape shape = 1;
35456 int InputParameter::shape_size() const {
35457   return shape_.size();
35458 }
35459 void InputParameter::clear_shape() {
35460   shape_.Clear();
35461 }
35462 const ::opencv_caffe::BlobShape& InputParameter::shape(int index) const {
35463   // @@protoc_insertion_point(field_get:opencv_caffe.InputParameter.shape)
35464   return shape_.Get(index);
35465 }
35466 ::opencv_caffe::BlobShape* InputParameter::mutable_shape(int index) {
35467   // @@protoc_insertion_point(field_mutable:opencv_caffe.InputParameter.shape)
35468   return shape_.Mutable(index);
35469 }
35470 ::opencv_caffe::BlobShape* InputParameter::add_shape() {
35471   // @@protoc_insertion_point(field_add:opencv_caffe.InputParameter.shape)
35472   return shape_.Add();
35473 }
35474 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
35475 InputParameter::mutable_shape() {
35476   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.InputParameter.shape)
35477   return &shape_;
35478 }
35479 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
35480 InputParameter::shape() const {
35481   // @@protoc_insertion_point(field_list:opencv_caffe.InputParameter.shape)
35482   return shape_;
35483 }
35484
35485 inline const InputParameter* InputParameter::internal_default_instance() {
35486   return &InputParameter_default_instance_.get();
35487 }
35488 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
35489
35490 // ===================================================================
35491
35492 #if !defined(_MSC_VER) || _MSC_VER >= 1900
35493 const int LogParameter::kBaseFieldNumber;
35494 const int LogParameter::kScaleFieldNumber;
35495 const int LogParameter::kShiftFieldNumber;
35496 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
35497
35498 LogParameter::LogParameter()
35499   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
35500   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35501   SharedCtor();
35502   // @@protoc_insertion_point(constructor:opencv_caffe.LogParameter)
35503 }
35504
35505 void LogParameter::InitAsDefaultInstance() {
35506 }
35507
35508 LogParameter::LogParameter(const LogParameter& from)
35509   : ::google::protobuf::Message(),
35510     _internal_metadata_(NULL) {
35511   SharedCtor();
35512   UnsafeMergeFrom(from);
35513   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LogParameter)
35514 }
35515
35516 void LogParameter::SharedCtor() {
35517   _cached_size_ = 0;
35518   shift_ = 0;
35519   base_ = -1;
35520   scale_ = 1;
35521 }
35522
35523 LogParameter::~LogParameter() {
35524   // @@protoc_insertion_point(destructor:opencv_caffe.LogParameter)
35525   SharedDtor();
35526 }
35527
35528 void LogParameter::SharedDtor() {
35529 }
35530
35531 void LogParameter::SetCachedSize(int size) const {
35532   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35533   _cached_size_ = size;
35534   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35535 }
35536 const ::google::protobuf::Descriptor* LogParameter::descriptor() {
35537   protobuf_AssignDescriptorsOnce();
35538   return LogParameter_descriptor_;
35539 }
35540
35541 const LogParameter& LogParameter::default_instance() {
35542   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35543   return *internal_default_instance();
35544 }
35545
35546 ::google::protobuf::internal::ExplicitlyConstructed<LogParameter> LogParameter_default_instance_;
35547
35548 LogParameter* LogParameter::New(::google::protobuf::Arena* arena) const {
35549   LogParameter* n = new LogParameter;
35550   if (arena != NULL) {
35551     arena->Own(n);
35552   }
35553   return n;
35554 }
35555
35556 void LogParameter::Clear() {
35557 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LogParameter)
35558   if (_has_bits_[0 / 32] & 7u) {
35559     base_ = -1;
35560     scale_ = 1;
35561     shift_ = 0;
35562   }
35563   _has_bits_.Clear();
35564   if (_internal_metadata_.have_unknown_fields()) {
35565     mutable_unknown_fields()->Clear();
35566   }
35567 }
35568
35569 bool LogParameter::MergePartialFromCodedStream(
35570     ::google::protobuf::io::CodedInputStream* input) {
35571 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
35572   ::google::protobuf::uint32 tag;
35573   // @@protoc_insertion_point(parse_start:opencv_caffe.LogParameter)
35574   for (;;) {
35575     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
35576     tag = p.first;
35577     if (!p.second) goto handle_unusual;
35578     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
35579       // optional float base = 1 [default = -1];
35580       case 1: {
35581         if (tag == 13) {
35582           set_has_base();
35583           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
35584                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
35585                  input, &base_)));
35586         } else {
35587           goto handle_unusual;
35588         }
35589         if (input->ExpectTag(21)) goto parse_scale;
35590         break;
35591       }
35592
35593       // optional float scale = 2 [default = 1];
35594       case 2: {
35595         if (tag == 21) {
35596          parse_scale:
35597           set_has_scale();
35598           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
35599                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
35600                  input, &scale_)));
35601         } else {
35602           goto handle_unusual;
35603         }
35604         if (input->ExpectTag(29)) goto parse_shift;
35605         break;
35606       }
35607
35608       // optional float shift = 3 [default = 0];
35609       case 3: {
35610         if (tag == 29) {
35611          parse_shift:
35612           set_has_shift();
35613           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
35614                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
35615                  input, &shift_)));
35616         } else {
35617           goto handle_unusual;
35618         }
35619         if (input->ExpectAtEnd()) goto success;
35620         break;
35621       }
35622
35623       default: {
35624       handle_unusual:
35625         if (tag == 0 ||
35626             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
35627             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
35628           goto success;
35629         }
35630         DO_(::google::protobuf::internal::WireFormat::SkipField(
35631               input, tag, mutable_unknown_fields()));
35632         break;
35633       }
35634     }
35635   }
35636 success:
35637   // @@protoc_insertion_point(parse_success:opencv_caffe.LogParameter)
35638   return true;
35639 failure:
35640   // @@protoc_insertion_point(parse_failure:opencv_caffe.LogParameter)
35641   return false;
35642 #undef DO_
35643 }
35644
35645 void LogParameter::SerializeWithCachedSizes(
35646     ::google::protobuf::io::CodedOutputStream* output) const {
35647   // @@protoc_insertion_point(serialize_start:opencv_caffe.LogParameter)
35648   // optional float base = 1 [default = -1];
35649   if (has_base()) {
35650     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->base(), output);
35651   }
35652
35653   // optional float scale = 2 [default = 1];
35654   if (has_scale()) {
35655     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
35656   }
35657
35658   // optional float shift = 3 [default = 0];
35659   if (has_shift()) {
35660     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->shift(), output);
35661   }
35662
35663   if (_internal_metadata_.have_unknown_fields()) {
35664     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
35665         unknown_fields(), output);
35666   }
35667   // @@protoc_insertion_point(serialize_end:opencv_caffe.LogParameter)
35668 }
35669
35670 ::google::protobuf::uint8* LogParameter::InternalSerializeWithCachedSizesToArray(
35671     bool deterministic, ::google::protobuf::uint8* target) const {
35672   (void)deterministic; // Unused
35673   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LogParameter)
35674   // optional float base = 1 [default = -1];
35675   if (has_base()) {
35676     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->base(), target);
35677   }
35678
35679   // optional float scale = 2 [default = 1];
35680   if (has_scale()) {
35681     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
35682   }
35683
35684   // optional float shift = 3 [default = 0];
35685   if (has_shift()) {
35686     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->shift(), target);
35687   }
35688
35689   if (_internal_metadata_.have_unknown_fields()) {
35690     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
35691         unknown_fields(), target);
35692   }
35693   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LogParameter)
35694   return target;
35695 }
35696
35697 size_t LogParameter::ByteSizeLong() const {
35698 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LogParameter)
35699   size_t total_size = 0;
35700
35701   if (_has_bits_[0 / 32] & 7u) {
35702     // optional float base = 1 [default = -1];
35703     if (has_base()) {
35704       total_size += 1 + 4;
35705     }
35706
35707     // optional float scale = 2 [default = 1];
35708     if (has_scale()) {
35709       total_size += 1 + 4;
35710     }
35711
35712     // optional float shift = 3 [default = 0];
35713     if (has_shift()) {
35714       total_size += 1 + 4;
35715     }
35716
35717   }
35718   if (_internal_metadata_.have_unknown_fields()) {
35719     total_size +=
35720       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
35721         unknown_fields());
35722   }
35723   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
35724   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35725   _cached_size_ = cached_size;
35726   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35727   return total_size;
35728 }
35729
35730 void LogParameter::MergeFrom(const ::google::protobuf::Message& from) {
35731 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LogParameter)
35732   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
35733   const LogParameter* source =
35734       ::google::protobuf::internal::DynamicCastToGenerated<const LogParameter>(
35735           &from);
35736   if (source == NULL) {
35737   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LogParameter)
35738     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
35739   } else {
35740   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LogParameter)
35741     UnsafeMergeFrom(*source);
35742   }
35743 }
35744
35745 void LogParameter::MergeFrom(const LogParameter& from) {
35746 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LogParameter)
35747   if (GOOGLE_PREDICT_TRUE(&from != this)) {
35748     UnsafeMergeFrom(from);
35749   } else {
35750     MergeFromFail(__LINE__);
35751   }
35752 }
35753
35754 void LogParameter::UnsafeMergeFrom(const LogParameter& from) {
35755   GOOGLE_DCHECK(&from != this);
35756   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
35757     if (from.has_base()) {
35758       set_base(from.base());
35759     }
35760     if (from.has_scale()) {
35761       set_scale(from.scale());
35762     }
35763     if (from.has_shift()) {
35764       set_shift(from.shift());
35765     }
35766   }
35767   if (from._internal_metadata_.have_unknown_fields()) {
35768     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
35769       from.unknown_fields(), &_internal_metadata_);
35770   }
35771 }
35772
35773 void LogParameter::CopyFrom(const ::google::protobuf::Message& from) {
35774 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LogParameter)
35775   if (&from == this) return;
35776   Clear();
35777   MergeFrom(from);
35778 }
35779
35780 void LogParameter::CopyFrom(const LogParameter& from) {
35781 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LogParameter)
35782   if (&from == this) return;
35783   Clear();
35784   UnsafeMergeFrom(from);
35785 }
35786
35787 bool LogParameter::IsInitialized() const {
35788
35789   return true;
35790 }
35791
35792 void LogParameter::Swap(LogParameter* other) {
35793   if (other == this) return;
35794   InternalSwap(other);
35795 }
35796 void LogParameter::InternalSwap(LogParameter* other) {
35797   std::swap(base_, other->base_);
35798   std::swap(scale_, other->scale_);
35799   std::swap(shift_, other->shift_);
35800   std::swap(_has_bits_[0], other->_has_bits_[0]);
35801   _internal_metadata_.Swap(&other->_internal_metadata_);
35802   std::swap(_cached_size_, other->_cached_size_);
35803 }
35804
35805 ::google::protobuf::Metadata LogParameter::GetMetadata() const {
35806   protobuf_AssignDescriptorsOnce();
35807   ::google::protobuf::Metadata metadata;
35808   metadata.descriptor = LogParameter_descriptor_;
35809   metadata.reflection = LogParameter_reflection_;
35810   return metadata;
35811 }
35812
35813 #if PROTOBUF_INLINE_NOT_IN_HEADERS
35814 // LogParameter
35815
35816 // optional float base = 1 [default = -1];
35817 bool LogParameter::has_base() const {
35818   return (_has_bits_[0] & 0x00000001u) != 0;
35819 }
35820 void LogParameter::set_has_base() {
35821   _has_bits_[0] |= 0x00000001u;
35822 }
35823 void LogParameter::clear_has_base() {
35824   _has_bits_[0] &= ~0x00000001u;
35825 }
35826 void LogParameter::clear_base() {
35827   base_ = -1;
35828   clear_has_base();
35829 }
35830 float LogParameter::base() const {
35831   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.base)
35832   return base_;
35833 }
35834 void LogParameter::set_base(float value) {
35835   set_has_base();
35836   base_ = value;
35837   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.base)
35838 }
35839
35840 // optional float scale = 2 [default = 1];
35841 bool LogParameter::has_scale() const {
35842   return (_has_bits_[0] & 0x00000002u) != 0;
35843 }
35844 void LogParameter::set_has_scale() {
35845   _has_bits_[0] |= 0x00000002u;
35846 }
35847 void LogParameter::clear_has_scale() {
35848   _has_bits_[0] &= ~0x00000002u;
35849 }
35850 void LogParameter::clear_scale() {
35851   scale_ = 1;
35852   clear_has_scale();
35853 }
35854 float LogParameter::scale() const {
35855   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.scale)
35856   return scale_;
35857 }
35858 void LogParameter::set_scale(float value) {
35859   set_has_scale();
35860   scale_ = value;
35861   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.scale)
35862 }
35863
35864 // optional float shift = 3 [default = 0];
35865 bool LogParameter::has_shift() const {
35866   return (_has_bits_[0] & 0x00000004u) != 0;
35867 }
35868 void LogParameter::set_has_shift() {
35869   _has_bits_[0] |= 0x00000004u;
35870 }
35871 void LogParameter::clear_has_shift() {
35872   _has_bits_[0] &= ~0x00000004u;
35873 }
35874 void LogParameter::clear_shift() {
35875   shift_ = 0;
35876   clear_has_shift();
35877 }
35878 float LogParameter::shift() const {
35879   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.shift)
35880   return shift_;
35881 }
35882 void LogParameter::set_shift(float value) {
35883   set_has_shift();
35884   shift_ = value;
35885   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.shift)
35886 }
35887
35888 inline const LogParameter* LogParameter::internal_default_instance() {
35889   return &LogParameter_default_instance_.get();
35890 }
35891 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
35892
35893 // ===================================================================
35894
35895 const ::google::protobuf::EnumDescriptor* LRNParameter_NormRegion_descriptor() {
35896   protobuf_AssignDescriptorsOnce();
35897   return LRNParameter_NormRegion_descriptor_;
35898 }
35899 bool LRNParameter_NormRegion_IsValid(int value) {
35900   switch (value) {
35901     case 0:
35902     case 1:
35903       return true;
35904     default:
35905       return false;
35906   }
35907 }
35908
35909 #if !defined(_MSC_VER) || _MSC_VER >= 1900
35910 const LRNParameter_NormRegion LRNParameter::ACROSS_CHANNELS;
35911 const LRNParameter_NormRegion LRNParameter::WITHIN_CHANNEL;
35912 const LRNParameter_NormRegion LRNParameter::NormRegion_MIN;
35913 const LRNParameter_NormRegion LRNParameter::NormRegion_MAX;
35914 const int LRNParameter::NormRegion_ARRAYSIZE;
35915 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
35916 const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor() {
35917   protobuf_AssignDescriptorsOnce();
35918   return LRNParameter_Engine_descriptor_;
35919 }
35920 bool LRNParameter_Engine_IsValid(int value) {
35921   switch (value) {
35922     case 0:
35923     case 1:
35924     case 2:
35925       return true;
35926     default:
35927       return false;
35928   }
35929 }
35930
35931 #if !defined(_MSC_VER) || _MSC_VER >= 1900
35932 const LRNParameter_Engine LRNParameter::DEFAULT;
35933 const LRNParameter_Engine LRNParameter::CAFFE;
35934 const LRNParameter_Engine LRNParameter::CUDNN;
35935 const LRNParameter_Engine LRNParameter::Engine_MIN;
35936 const LRNParameter_Engine LRNParameter::Engine_MAX;
35937 const int LRNParameter::Engine_ARRAYSIZE;
35938 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
35939 #if !defined(_MSC_VER) || _MSC_VER >= 1900
35940 const int LRNParameter::kLocalSizeFieldNumber;
35941 const int LRNParameter::kAlphaFieldNumber;
35942 const int LRNParameter::kBetaFieldNumber;
35943 const int LRNParameter::kNormRegionFieldNumber;
35944 const int LRNParameter::kKFieldNumber;
35945 const int LRNParameter::kEngineFieldNumber;
35946 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
35947
35948 LRNParameter::LRNParameter()
35949   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
35950   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35951   SharedCtor();
35952   // @@protoc_insertion_point(constructor:opencv_caffe.LRNParameter)
35953 }
35954
35955 void LRNParameter::InitAsDefaultInstance() {
35956 }
35957
35958 LRNParameter::LRNParameter(const LRNParameter& from)
35959   : ::google::protobuf::Message(),
35960     _internal_metadata_(NULL) {
35961   SharedCtor();
35962   UnsafeMergeFrom(from);
35963   // @@protoc_insertion_point(copy_constructor:opencv_caffe.LRNParameter)
35964 }
35965
35966 void LRNParameter::SharedCtor() {
35967   _cached_size_ = 0;
35968   ::memset(&norm_region_, 0, reinterpret_cast<char*>(&engine_) -
35969     reinterpret_cast<char*>(&norm_region_) + sizeof(engine_));
35970   local_size_ = 5u;
35971   alpha_ = 1;
35972   beta_ = 0.75f;
35973   k_ = 1;
35974 }
35975
35976 LRNParameter::~LRNParameter() {
35977   // @@protoc_insertion_point(destructor:opencv_caffe.LRNParameter)
35978   SharedDtor();
35979 }
35980
35981 void LRNParameter::SharedDtor() {
35982 }
35983
35984 void LRNParameter::SetCachedSize(int size) const {
35985   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
35986   _cached_size_ = size;
35987   GOOGLE_SAFE_CONCURRENT_WRITES_END();
35988 }
35989 const ::google::protobuf::Descriptor* LRNParameter::descriptor() {
35990   protobuf_AssignDescriptorsOnce();
35991   return LRNParameter_descriptor_;
35992 }
35993
35994 const LRNParameter& LRNParameter::default_instance() {
35995   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
35996   return *internal_default_instance();
35997 }
35998
35999 ::google::protobuf::internal::ExplicitlyConstructed<LRNParameter> LRNParameter_default_instance_;
36000
36001 LRNParameter* LRNParameter::New(::google::protobuf::Arena* arena) const {
36002   LRNParameter* n = new LRNParameter;
36003   if (arena != NULL) {
36004     arena->Own(n);
36005   }
36006   return n;
36007 }
36008
36009 void LRNParameter::Clear() {
36010 // @@protoc_insertion_point(message_clear_start:opencv_caffe.LRNParameter)
36011 #if defined(__clang__)
36012 #define ZR_HELPER_(f) \
36013   _Pragma("clang diagnostic push") \
36014   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
36015   __builtin_offsetof(LRNParameter, f) \
36016   _Pragma("clang diagnostic pop")
36017 #else
36018 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
36019   &reinterpret_cast<LRNParameter*>(16)->f)
36020 #endif
36021
36022 #define ZR_(first, last) do {\
36023   ::memset(&(first), 0,\
36024            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
36025 } while (0)
36026
36027   if (_has_bits_[0 / 32] & 63u) {
36028     ZR_(norm_region_, engine_);
36029     local_size_ = 5u;
36030     alpha_ = 1;
36031     beta_ = 0.75f;
36032     k_ = 1;
36033   }
36034
36035 #undef ZR_HELPER_
36036 #undef ZR_
36037
36038   _has_bits_.Clear();
36039   if (_internal_metadata_.have_unknown_fields()) {
36040     mutable_unknown_fields()->Clear();
36041   }
36042 }
36043
36044 bool LRNParameter::MergePartialFromCodedStream(
36045     ::google::protobuf::io::CodedInputStream* input) {
36046 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
36047   ::google::protobuf::uint32 tag;
36048   // @@protoc_insertion_point(parse_start:opencv_caffe.LRNParameter)
36049   for (;;) {
36050     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
36051     tag = p.first;
36052     if (!p.second) goto handle_unusual;
36053     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
36054       // optional uint32 local_size = 1 [default = 5];
36055       case 1: {
36056         if (tag == 8) {
36057           set_has_local_size();
36058           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36059                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36060                  input, &local_size_)));
36061         } else {
36062           goto handle_unusual;
36063         }
36064         if (input->ExpectTag(21)) goto parse_alpha;
36065         break;
36066       }
36067
36068       // optional float alpha = 2 [default = 1];
36069       case 2: {
36070         if (tag == 21) {
36071          parse_alpha:
36072           set_has_alpha();
36073           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36074                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
36075                  input, &alpha_)));
36076         } else {
36077           goto handle_unusual;
36078         }
36079         if (input->ExpectTag(29)) goto parse_beta;
36080         break;
36081       }
36082
36083       // optional float beta = 3 [default = 0.75];
36084       case 3: {
36085         if (tag == 29) {
36086          parse_beta:
36087           set_has_beta();
36088           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36089                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
36090                  input, &beta_)));
36091         } else {
36092           goto handle_unusual;
36093         }
36094         if (input->ExpectTag(32)) goto parse_norm_region;
36095         break;
36096       }
36097
36098       // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36099       case 4: {
36100         if (tag == 32) {
36101          parse_norm_region:
36102           int value;
36103           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36104                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
36105                  input, &value)));
36106           if (::opencv_caffe::LRNParameter_NormRegion_IsValid(value)) {
36107             set_norm_region(static_cast< ::opencv_caffe::LRNParameter_NormRegion >(value));
36108           } else {
36109             mutable_unknown_fields()->AddVarint(4, value);
36110           }
36111         } else {
36112           goto handle_unusual;
36113         }
36114         if (input->ExpectTag(45)) goto parse_k;
36115         break;
36116       }
36117
36118       // optional float k = 5 [default = 1];
36119       case 5: {
36120         if (tag == 45) {
36121          parse_k:
36122           set_has_k();
36123           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36124                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
36125                  input, &k_)));
36126         } else {
36127           goto handle_unusual;
36128         }
36129         if (input->ExpectTag(48)) goto parse_engine;
36130         break;
36131       }
36132
36133       // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36134       case 6: {
36135         if (tag == 48) {
36136          parse_engine:
36137           int value;
36138           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36139                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
36140                  input, &value)));
36141           if (::opencv_caffe::LRNParameter_Engine_IsValid(value)) {
36142             set_engine(static_cast< ::opencv_caffe::LRNParameter_Engine >(value));
36143           } else {
36144             mutable_unknown_fields()->AddVarint(6, value);
36145           }
36146         } else {
36147           goto handle_unusual;
36148         }
36149         if (input->ExpectAtEnd()) goto success;
36150         break;
36151       }
36152
36153       default: {
36154       handle_unusual:
36155         if (tag == 0 ||
36156             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
36157             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
36158           goto success;
36159         }
36160         DO_(::google::protobuf::internal::WireFormat::SkipField(
36161               input, tag, mutable_unknown_fields()));
36162         break;
36163       }
36164     }
36165   }
36166 success:
36167   // @@protoc_insertion_point(parse_success:opencv_caffe.LRNParameter)
36168   return true;
36169 failure:
36170   // @@protoc_insertion_point(parse_failure:opencv_caffe.LRNParameter)
36171   return false;
36172 #undef DO_
36173 }
36174
36175 void LRNParameter::SerializeWithCachedSizes(
36176     ::google::protobuf::io::CodedOutputStream* output) const {
36177   // @@protoc_insertion_point(serialize_start:opencv_caffe.LRNParameter)
36178   // optional uint32 local_size = 1 [default = 5];
36179   if (has_local_size()) {
36180     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->local_size(), output);
36181   }
36182
36183   // optional float alpha = 2 [default = 1];
36184   if (has_alpha()) {
36185     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->alpha(), output);
36186   }
36187
36188   // optional float beta = 3 [default = 0.75];
36189   if (has_beta()) {
36190     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->beta(), output);
36191   }
36192
36193   // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36194   if (has_norm_region()) {
36195     ::google::protobuf::internal::WireFormatLite::WriteEnum(
36196       4, this->norm_region(), output);
36197   }
36198
36199   // optional float k = 5 [default = 1];
36200   if (has_k()) {
36201     ::google::protobuf::internal::WireFormatLite::WriteFloat(5, this->k(), output);
36202   }
36203
36204   // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36205   if (has_engine()) {
36206     ::google::protobuf::internal::WireFormatLite::WriteEnum(
36207       6, this->engine(), output);
36208   }
36209
36210   if (_internal_metadata_.have_unknown_fields()) {
36211     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
36212         unknown_fields(), output);
36213   }
36214   // @@protoc_insertion_point(serialize_end:opencv_caffe.LRNParameter)
36215 }
36216
36217 ::google::protobuf::uint8* LRNParameter::InternalSerializeWithCachedSizesToArray(
36218     bool deterministic, ::google::protobuf::uint8* target) const {
36219   (void)deterministic; // Unused
36220   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.LRNParameter)
36221   // optional uint32 local_size = 1 [default = 5];
36222   if (has_local_size()) {
36223     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->local_size(), target);
36224   }
36225
36226   // optional float alpha = 2 [default = 1];
36227   if (has_alpha()) {
36228     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->alpha(), target);
36229   }
36230
36231   // optional float beta = 3 [default = 0.75];
36232   if (has_beta()) {
36233     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->beta(), target);
36234   }
36235
36236   // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36237   if (has_norm_region()) {
36238     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
36239       4, this->norm_region(), target);
36240   }
36241
36242   // optional float k = 5 [default = 1];
36243   if (has_k()) {
36244     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(5, this->k(), target);
36245   }
36246
36247   // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36248   if (has_engine()) {
36249     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
36250       6, this->engine(), target);
36251   }
36252
36253   if (_internal_metadata_.have_unknown_fields()) {
36254     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
36255         unknown_fields(), target);
36256   }
36257   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.LRNParameter)
36258   return target;
36259 }
36260
36261 size_t LRNParameter::ByteSizeLong() const {
36262 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.LRNParameter)
36263   size_t total_size = 0;
36264
36265   if (_has_bits_[0 / 32] & 63u) {
36266     // optional uint32 local_size = 1 [default = 5];
36267     if (has_local_size()) {
36268       total_size += 1 +
36269         ::google::protobuf::internal::WireFormatLite::UInt32Size(
36270           this->local_size());
36271     }
36272
36273     // optional float alpha = 2 [default = 1];
36274     if (has_alpha()) {
36275       total_size += 1 + 4;
36276     }
36277
36278     // optional float beta = 3 [default = 0.75];
36279     if (has_beta()) {
36280       total_size += 1 + 4;
36281     }
36282
36283     // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36284     if (has_norm_region()) {
36285       total_size += 1 +
36286         ::google::protobuf::internal::WireFormatLite::EnumSize(this->norm_region());
36287     }
36288
36289     // optional float k = 5 [default = 1];
36290     if (has_k()) {
36291       total_size += 1 + 4;
36292     }
36293
36294     // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36295     if (has_engine()) {
36296       total_size += 1 +
36297         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
36298     }
36299
36300   }
36301   if (_internal_metadata_.have_unknown_fields()) {
36302     total_size +=
36303       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
36304         unknown_fields());
36305   }
36306   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
36307   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
36308   _cached_size_ = cached_size;
36309   GOOGLE_SAFE_CONCURRENT_WRITES_END();
36310   return total_size;
36311 }
36312
36313 void LRNParameter::MergeFrom(const ::google::protobuf::Message& from) {
36314 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.LRNParameter)
36315   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
36316   const LRNParameter* source =
36317       ::google::protobuf::internal::DynamicCastToGenerated<const LRNParameter>(
36318           &from);
36319   if (source == NULL) {
36320   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.LRNParameter)
36321     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
36322   } else {
36323   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.LRNParameter)
36324     UnsafeMergeFrom(*source);
36325   }
36326 }
36327
36328 void LRNParameter::MergeFrom(const LRNParameter& from) {
36329 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.LRNParameter)
36330   if (GOOGLE_PREDICT_TRUE(&from != this)) {
36331     UnsafeMergeFrom(from);
36332   } else {
36333     MergeFromFail(__LINE__);
36334   }
36335 }
36336
36337 void LRNParameter::UnsafeMergeFrom(const LRNParameter& from) {
36338   GOOGLE_DCHECK(&from != this);
36339   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
36340     if (from.has_local_size()) {
36341       set_local_size(from.local_size());
36342     }
36343     if (from.has_alpha()) {
36344       set_alpha(from.alpha());
36345     }
36346     if (from.has_beta()) {
36347       set_beta(from.beta());
36348     }
36349     if (from.has_norm_region()) {
36350       set_norm_region(from.norm_region());
36351     }
36352     if (from.has_k()) {
36353       set_k(from.k());
36354     }
36355     if (from.has_engine()) {
36356       set_engine(from.engine());
36357     }
36358   }
36359   if (from._internal_metadata_.have_unknown_fields()) {
36360     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
36361       from.unknown_fields(), &_internal_metadata_);
36362   }
36363 }
36364
36365 void LRNParameter::CopyFrom(const ::google::protobuf::Message& from) {
36366 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.LRNParameter)
36367   if (&from == this) return;
36368   Clear();
36369   MergeFrom(from);
36370 }
36371
36372 void LRNParameter::CopyFrom(const LRNParameter& from) {
36373 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.LRNParameter)
36374   if (&from == this) return;
36375   Clear();
36376   UnsafeMergeFrom(from);
36377 }
36378
36379 bool LRNParameter::IsInitialized() const {
36380
36381   return true;
36382 }
36383
36384 void LRNParameter::Swap(LRNParameter* other) {
36385   if (other == this) return;
36386   InternalSwap(other);
36387 }
36388 void LRNParameter::InternalSwap(LRNParameter* other) {
36389   std::swap(local_size_, other->local_size_);
36390   std::swap(alpha_, other->alpha_);
36391   std::swap(beta_, other->beta_);
36392   std::swap(norm_region_, other->norm_region_);
36393   std::swap(k_, other->k_);
36394   std::swap(engine_, other->engine_);
36395   std::swap(_has_bits_[0], other->_has_bits_[0]);
36396   _internal_metadata_.Swap(&other->_internal_metadata_);
36397   std::swap(_cached_size_, other->_cached_size_);
36398 }
36399
36400 ::google::protobuf::Metadata LRNParameter::GetMetadata() const {
36401   protobuf_AssignDescriptorsOnce();
36402   ::google::protobuf::Metadata metadata;
36403   metadata.descriptor = LRNParameter_descriptor_;
36404   metadata.reflection = LRNParameter_reflection_;
36405   return metadata;
36406 }
36407
36408 #if PROTOBUF_INLINE_NOT_IN_HEADERS
36409 // LRNParameter
36410
36411 // optional uint32 local_size = 1 [default = 5];
36412 bool LRNParameter::has_local_size() const {
36413   return (_has_bits_[0] & 0x00000001u) != 0;
36414 }
36415 void LRNParameter::set_has_local_size() {
36416   _has_bits_[0] |= 0x00000001u;
36417 }
36418 void LRNParameter::clear_has_local_size() {
36419   _has_bits_[0] &= ~0x00000001u;
36420 }
36421 void LRNParameter::clear_local_size() {
36422   local_size_ = 5u;
36423   clear_has_local_size();
36424 }
36425 ::google::protobuf::uint32 LRNParameter::local_size() const {
36426   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.local_size)
36427   return local_size_;
36428 }
36429 void LRNParameter::set_local_size(::google::protobuf::uint32 value) {
36430   set_has_local_size();
36431   local_size_ = value;
36432   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.local_size)
36433 }
36434
36435 // optional float alpha = 2 [default = 1];
36436 bool LRNParameter::has_alpha() const {
36437   return (_has_bits_[0] & 0x00000002u) != 0;
36438 }
36439 void LRNParameter::set_has_alpha() {
36440   _has_bits_[0] |= 0x00000002u;
36441 }
36442 void LRNParameter::clear_has_alpha() {
36443   _has_bits_[0] &= ~0x00000002u;
36444 }
36445 void LRNParameter::clear_alpha() {
36446   alpha_ = 1;
36447   clear_has_alpha();
36448 }
36449 float LRNParameter::alpha() const {
36450   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.alpha)
36451   return alpha_;
36452 }
36453 void LRNParameter::set_alpha(float value) {
36454   set_has_alpha();
36455   alpha_ = value;
36456   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.alpha)
36457 }
36458
36459 // optional float beta = 3 [default = 0.75];
36460 bool LRNParameter::has_beta() const {
36461   return (_has_bits_[0] & 0x00000004u) != 0;
36462 }
36463 void LRNParameter::set_has_beta() {
36464   _has_bits_[0] |= 0x00000004u;
36465 }
36466 void LRNParameter::clear_has_beta() {
36467   _has_bits_[0] &= ~0x00000004u;
36468 }
36469 void LRNParameter::clear_beta() {
36470   beta_ = 0.75f;
36471   clear_has_beta();
36472 }
36473 float LRNParameter::beta() const {
36474   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.beta)
36475   return beta_;
36476 }
36477 void LRNParameter::set_beta(float value) {
36478   set_has_beta();
36479   beta_ = value;
36480   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.beta)
36481 }
36482
36483 // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
36484 bool LRNParameter::has_norm_region() const {
36485   return (_has_bits_[0] & 0x00000008u) != 0;
36486 }
36487 void LRNParameter::set_has_norm_region() {
36488   _has_bits_[0] |= 0x00000008u;
36489 }
36490 void LRNParameter::clear_has_norm_region() {
36491   _has_bits_[0] &= ~0x00000008u;
36492 }
36493 void LRNParameter::clear_norm_region() {
36494   norm_region_ = 0;
36495   clear_has_norm_region();
36496 }
36497 ::opencv_caffe::LRNParameter_NormRegion LRNParameter::norm_region() const {
36498   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.norm_region)
36499   return static_cast< ::opencv_caffe::LRNParameter_NormRegion >(norm_region_);
36500 }
36501 void LRNParameter::set_norm_region(::opencv_caffe::LRNParameter_NormRegion value) {
36502   assert(::opencv_caffe::LRNParameter_NormRegion_IsValid(value));
36503   set_has_norm_region();
36504   norm_region_ = value;
36505   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.norm_region)
36506 }
36507
36508 // optional float k = 5 [default = 1];
36509 bool LRNParameter::has_k() const {
36510   return (_has_bits_[0] & 0x00000010u) != 0;
36511 }
36512 void LRNParameter::set_has_k() {
36513   _has_bits_[0] |= 0x00000010u;
36514 }
36515 void LRNParameter::clear_has_k() {
36516   _has_bits_[0] &= ~0x00000010u;
36517 }
36518 void LRNParameter::clear_k() {
36519   k_ = 1;
36520   clear_has_k();
36521 }
36522 float LRNParameter::k() const {
36523   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.k)
36524   return k_;
36525 }
36526 void LRNParameter::set_k(float value) {
36527   set_has_k();
36528   k_ = value;
36529   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.k)
36530 }
36531
36532 // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
36533 bool LRNParameter::has_engine() const {
36534   return (_has_bits_[0] & 0x00000020u) != 0;
36535 }
36536 void LRNParameter::set_has_engine() {
36537   _has_bits_[0] |= 0x00000020u;
36538 }
36539 void LRNParameter::clear_has_engine() {
36540   _has_bits_[0] &= ~0x00000020u;
36541 }
36542 void LRNParameter::clear_engine() {
36543   engine_ = 0;
36544   clear_has_engine();
36545 }
36546 ::opencv_caffe::LRNParameter_Engine LRNParameter::engine() const {
36547   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.engine)
36548   return static_cast< ::opencv_caffe::LRNParameter_Engine >(engine_);
36549 }
36550 void LRNParameter::set_engine(::opencv_caffe::LRNParameter_Engine value) {
36551   assert(::opencv_caffe::LRNParameter_Engine_IsValid(value));
36552   set_has_engine();
36553   engine_ = value;
36554   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.engine)
36555 }
36556
36557 inline const LRNParameter* LRNParameter::internal_default_instance() {
36558   return &LRNParameter_default_instance_.get();
36559 }
36560 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
36561
36562 // ===================================================================
36563
36564 #if !defined(_MSC_VER) || _MSC_VER >= 1900
36565 const int MemoryDataParameter::kBatchSizeFieldNumber;
36566 const int MemoryDataParameter::kChannelsFieldNumber;
36567 const int MemoryDataParameter::kHeightFieldNumber;
36568 const int MemoryDataParameter::kWidthFieldNumber;
36569 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
36570
36571 MemoryDataParameter::MemoryDataParameter()
36572   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
36573   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
36574   SharedCtor();
36575   // @@protoc_insertion_point(constructor:opencv_caffe.MemoryDataParameter)
36576 }
36577
36578 void MemoryDataParameter::InitAsDefaultInstance() {
36579 }
36580
36581 MemoryDataParameter::MemoryDataParameter(const MemoryDataParameter& from)
36582   : ::google::protobuf::Message(),
36583     _internal_metadata_(NULL) {
36584   SharedCtor();
36585   UnsafeMergeFrom(from);
36586   // @@protoc_insertion_point(copy_constructor:opencv_caffe.MemoryDataParameter)
36587 }
36588
36589 void MemoryDataParameter::SharedCtor() {
36590   _cached_size_ = 0;
36591   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&width_) -
36592     reinterpret_cast<char*>(&batch_size_) + sizeof(width_));
36593 }
36594
36595 MemoryDataParameter::~MemoryDataParameter() {
36596   // @@protoc_insertion_point(destructor:opencv_caffe.MemoryDataParameter)
36597   SharedDtor();
36598 }
36599
36600 void MemoryDataParameter::SharedDtor() {
36601 }
36602
36603 void MemoryDataParameter::SetCachedSize(int size) const {
36604   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
36605   _cached_size_ = size;
36606   GOOGLE_SAFE_CONCURRENT_WRITES_END();
36607 }
36608 const ::google::protobuf::Descriptor* MemoryDataParameter::descriptor() {
36609   protobuf_AssignDescriptorsOnce();
36610   return MemoryDataParameter_descriptor_;
36611 }
36612
36613 const MemoryDataParameter& MemoryDataParameter::default_instance() {
36614   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
36615   return *internal_default_instance();
36616 }
36617
36618 ::google::protobuf::internal::ExplicitlyConstructed<MemoryDataParameter> MemoryDataParameter_default_instance_;
36619
36620 MemoryDataParameter* MemoryDataParameter::New(::google::protobuf::Arena* arena) const {
36621   MemoryDataParameter* n = new MemoryDataParameter;
36622   if (arena != NULL) {
36623     arena->Own(n);
36624   }
36625   return n;
36626 }
36627
36628 void MemoryDataParameter::Clear() {
36629 // @@protoc_insertion_point(message_clear_start:opencv_caffe.MemoryDataParameter)
36630 #if defined(__clang__)
36631 #define ZR_HELPER_(f) \
36632   _Pragma("clang diagnostic push") \
36633   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
36634   __builtin_offsetof(MemoryDataParameter, f) \
36635   _Pragma("clang diagnostic pop")
36636 #else
36637 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
36638   &reinterpret_cast<MemoryDataParameter*>(16)->f)
36639 #endif
36640
36641 #define ZR_(first, last) do {\
36642   ::memset(&(first), 0,\
36643            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
36644 } while (0)
36645
36646   ZR_(batch_size_, width_);
36647
36648 #undef ZR_HELPER_
36649 #undef ZR_
36650
36651   _has_bits_.Clear();
36652   if (_internal_metadata_.have_unknown_fields()) {
36653     mutable_unknown_fields()->Clear();
36654   }
36655 }
36656
36657 bool MemoryDataParameter::MergePartialFromCodedStream(
36658     ::google::protobuf::io::CodedInputStream* input) {
36659 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
36660   ::google::protobuf::uint32 tag;
36661   // @@protoc_insertion_point(parse_start:opencv_caffe.MemoryDataParameter)
36662   for (;;) {
36663     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
36664     tag = p.first;
36665     if (!p.second) goto handle_unusual;
36666     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
36667       // optional uint32 batch_size = 1;
36668       case 1: {
36669         if (tag == 8) {
36670           set_has_batch_size();
36671           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36672                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36673                  input, &batch_size_)));
36674         } else {
36675           goto handle_unusual;
36676         }
36677         if (input->ExpectTag(16)) goto parse_channels;
36678         break;
36679       }
36680
36681       // optional uint32 channels = 2;
36682       case 2: {
36683         if (tag == 16) {
36684          parse_channels:
36685           set_has_channels();
36686           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36687                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36688                  input, &channels_)));
36689         } else {
36690           goto handle_unusual;
36691         }
36692         if (input->ExpectTag(24)) goto parse_height;
36693         break;
36694       }
36695
36696       // optional uint32 height = 3;
36697       case 3: {
36698         if (tag == 24) {
36699          parse_height:
36700           set_has_height();
36701           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36702                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36703                  input, &height_)));
36704         } else {
36705           goto handle_unusual;
36706         }
36707         if (input->ExpectTag(32)) goto parse_width;
36708         break;
36709       }
36710
36711       // optional uint32 width = 4;
36712       case 4: {
36713         if (tag == 32) {
36714          parse_width:
36715           set_has_width();
36716           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
36717                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
36718                  input, &width_)));
36719         } else {
36720           goto handle_unusual;
36721         }
36722         if (input->ExpectAtEnd()) goto success;
36723         break;
36724       }
36725
36726       default: {
36727       handle_unusual:
36728         if (tag == 0 ||
36729             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
36730             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
36731           goto success;
36732         }
36733         DO_(::google::protobuf::internal::WireFormat::SkipField(
36734               input, tag, mutable_unknown_fields()));
36735         break;
36736       }
36737     }
36738   }
36739 success:
36740   // @@protoc_insertion_point(parse_success:opencv_caffe.MemoryDataParameter)
36741   return true;
36742 failure:
36743   // @@protoc_insertion_point(parse_failure:opencv_caffe.MemoryDataParameter)
36744   return false;
36745 #undef DO_
36746 }
36747
36748 void MemoryDataParameter::SerializeWithCachedSizes(
36749     ::google::protobuf::io::CodedOutputStream* output) const {
36750   // @@protoc_insertion_point(serialize_start:opencv_caffe.MemoryDataParameter)
36751   // optional uint32 batch_size = 1;
36752   if (has_batch_size()) {
36753     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->batch_size(), output);
36754   }
36755
36756   // optional uint32 channels = 2;
36757   if (has_channels()) {
36758     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->channels(), output);
36759   }
36760
36761   // optional uint32 height = 3;
36762   if (has_height()) {
36763     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->height(), output);
36764   }
36765
36766   // optional uint32 width = 4;
36767   if (has_width()) {
36768     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->width(), output);
36769   }
36770
36771   if (_internal_metadata_.have_unknown_fields()) {
36772     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
36773         unknown_fields(), output);
36774   }
36775   // @@protoc_insertion_point(serialize_end:opencv_caffe.MemoryDataParameter)
36776 }
36777
36778 ::google::protobuf::uint8* MemoryDataParameter::InternalSerializeWithCachedSizesToArray(
36779     bool deterministic, ::google::protobuf::uint8* target) const {
36780   (void)deterministic; // Unused
36781   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.MemoryDataParameter)
36782   // optional uint32 batch_size = 1;
36783   if (has_batch_size()) {
36784     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->batch_size(), target);
36785   }
36786
36787   // optional uint32 channels = 2;
36788   if (has_channels()) {
36789     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->channels(), target);
36790   }
36791
36792   // optional uint32 height = 3;
36793   if (has_height()) {
36794     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->height(), target);
36795   }
36796
36797   // optional uint32 width = 4;
36798   if (has_width()) {
36799     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->width(), target);
36800   }
36801
36802   if (_internal_metadata_.have_unknown_fields()) {
36803     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
36804         unknown_fields(), target);
36805   }
36806   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.MemoryDataParameter)
36807   return target;
36808 }
36809
36810 size_t MemoryDataParameter::ByteSizeLong() const {
36811 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.MemoryDataParameter)
36812   size_t total_size = 0;
36813
36814   if (_has_bits_[0 / 32] & 15u) {
36815     // optional uint32 batch_size = 1;
36816     if (has_batch_size()) {
36817       total_size += 1 +
36818         ::google::protobuf::internal::WireFormatLite::UInt32Size(
36819           this->batch_size());
36820     }
36821
36822     // optional uint32 channels = 2;
36823     if (has_channels()) {
36824       total_size += 1 +
36825         ::google::protobuf::internal::WireFormatLite::UInt32Size(
36826           this->channels());
36827     }
36828
36829     // optional uint32 height = 3;
36830     if (has_height()) {
36831       total_size += 1 +
36832         ::google::protobuf::internal::WireFormatLite::UInt32Size(
36833           this->height());
36834     }
36835
36836     // optional uint32 width = 4;
36837     if (has_width()) {
36838       total_size += 1 +
36839         ::google::protobuf::internal::WireFormatLite::UInt32Size(
36840           this->width());
36841     }
36842
36843   }
36844   if (_internal_metadata_.have_unknown_fields()) {
36845     total_size +=
36846       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
36847         unknown_fields());
36848   }
36849   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
36850   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
36851   _cached_size_ = cached_size;
36852   GOOGLE_SAFE_CONCURRENT_WRITES_END();
36853   return total_size;
36854 }
36855
36856 void MemoryDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
36857 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.MemoryDataParameter)
36858   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
36859   const MemoryDataParameter* source =
36860       ::google::protobuf::internal::DynamicCastToGenerated<const MemoryDataParameter>(
36861           &from);
36862   if (source == NULL) {
36863   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.MemoryDataParameter)
36864     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
36865   } else {
36866   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.MemoryDataParameter)
36867     UnsafeMergeFrom(*source);
36868   }
36869 }
36870
36871 void MemoryDataParameter::MergeFrom(const MemoryDataParameter& from) {
36872 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.MemoryDataParameter)
36873   if (GOOGLE_PREDICT_TRUE(&from != this)) {
36874     UnsafeMergeFrom(from);
36875   } else {
36876     MergeFromFail(__LINE__);
36877   }
36878 }
36879
36880 void MemoryDataParameter::UnsafeMergeFrom(const MemoryDataParameter& from) {
36881   GOOGLE_DCHECK(&from != this);
36882   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
36883     if (from.has_batch_size()) {
36884       set_batch_size(from.batch_size());
36885     }
36886     if (from.has_channels()) {
36887       set_channels(from.channels());
36888     }
36889     if (from.has_height()) {
36890       set_height(from.height());
36891     }
36892     if (from.has_width()) {
36893       set_width(from.width());
36894     }
36895   }
36896   if (from._internal_metadata_.have_unknown_fields()) {
36897     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
36898       from.unknown_fields(), &_internal_metadata_);
36899   }
36900 }
36901
36902 void MemoryDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
36903 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.MemoryDataParameter)
36904   if (&from == this) return;
36905   Clear();
36906   MergeFrom(from);
36907 }
36908
36909 void MemoryDataParameter::CopyFrom(const MemoryDataParameter& from) {
36910 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.MemoryDataParameter)
36911   if (&from == this) return;
36912   Clear();
36913   UnsafeMergeFrom(from);
36914 }
36915
36916 bool MemoryDataParameter::IsInitialized() const {
36917
36918   return true;
36919 }
36920
36921 void MemoryDataParameter::Swap(MemoryDataParameter* other) {
36922   if (other == this) return;
36923   InternalSwap(other);
36924 }
36925 void MemoryDataParameter::InternalSwap(MemoryDataParameter* other) {
36926   std::swap(batch_size_, other->batch_size_);
36927   std::swap(channels_, other->channels_);
36928   std::swap(height_, other->height_);
36929   std::swap(width_, other->width_);
36930   std::swap(_has_bits_[0], other->_has_bits_[0]);
36931   _internal_metadata_.Swap(&other->_internal_metadata_);
36932   std::swap(_cached_size_, other->_cached_size_);
36933 }
36934
36935 ::google::protobuf::Metadata MemoryDataParameter::GetMetadata() const {
36936   protobuf_AssignDescriptorsOnce();
36937   ::google::protobuf::Metadata metadata;
36938   metadata.descriptor = MemoryDataParameter_descriptor_;
36939   metadata.reflection = MemoryDataParameter_reflection_;
36940   return metadata;
36941 }
36942
36943 #if PROTOBUF_INLINE_NOT_IN_HEADERS
36944 // MemoryDataParameter
36945
36946 // optional uint32 batch_size = 1;
36947 bool MemoryDataParameter::has_batch_size() const {
36948   return (_has_bits_[0] & 0x00000001u) != 0;
36949 }
36950 void MemoryDataParameter::set_has_batch_size() {
36951   _has_bits_[0] |= 0x00000001u;
36952 }
36953 void MemoryDataParameter::clear_has_batch_size() {
36954   _has_bits_[0] &= ~0x00000001u;
36955 }
36956 void MemoryDataParameter::clear_batch_size() {
36957   batch_size_ = 0u;
36958   clear_has_batch_size();
36959 }
36960 ::google::protobuf::uint32 MemoryDataParameter::batch_size() const {
36961   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.batch_size)
36962   return batch_size_;
36963 }
36964 void MemoryDataParameter::set_batch_size(::google::protobuf::uint32 value) {
36965   set_has_batch_size();
36966   batch_size_ = value;
36967   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.batch_size)
36968 }
36969
36970 // optional uint32 channels = 2;
36971 bool MemoryDataParameter::has_channels() const {
36972   return (_has_bits_[0] & 0x00000002u) != 0;
36973 }
36974 void MemoryDataParameter::set_has_channels() {
36975   _has_bits_[0] |= 0x00000002u;
36976 }
36977 void MemoryDataParameter::clear_has_channels() {
36978   _has_bits_[0] &= ~0x00000002u;
36979 }
36980 void MemoryDataParameter::clear_channels() {
36981   channels_ = 0u;
36982   clear_has_channels();
36983 }
36984 ::google::protobuf::uint32 MemoryDataParameter::channels() const {
36985   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.channels)
36986   return channels_;
36987 }
36988 void MemoryDataParameter::set_channels(::google::protobuf::uint32 value) {
36989   set_has_channels();
36990   channels_ = value;
36991   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.channels)
36992 }
36993
36994 // optional uint32 height = 3;
36995 bool MemoryDataParameter::has_height() const {
36996   return (_has_bits_[0] & 0x00000004u) != 0;
36997 }
36998 void MemoryDataParameter::set_has_height() {
36999   _has_bits_[0] |= 0x00000004u;
37000 }
37001 void MemoryDataParameter::clear_has_height() {
37002   _has_bits_[0] &= ~0x00000004u;
37003 }
37004 void MemoryDataParameter::clear_height() {
37005   height_ = 0u;
37006   clear_has_height();
37007 }
37008 ::google::protobuf::uint32 MemoryDataParameter::height() const {
37009   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.height)
37010   return height_;
37011 }
37012 void MemoryDataParameter::set_height(::google::protobuf::uint32 value) {
37013   set_has_height();
37014   height_ = value;
37015   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.height)
37016 }
37017
37018 // optional uint32 width = 4;
37019 bool MemoryDataParameter::has_width() const {
37020   return (_has_bits_[0] & 0x00000008u) != 0;
37021 }
37022 void MemoryDataParameter::set_has_width() {
37023   _has_bits_[0] |= 0x00000008u;
37024 }
37025 void MemoryDataParameter::clear_has_width() {
37026   _has_bits_[0] &= ~0x00000008u;
37027 }
37028 void MemoryDataParameter::clear_width() {
37029   width_ = 0u;
37030   clear_has_width();
37031 }
37032 ::google::protobuf::uint32 MemoryDataParameter::width() const {
37033   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.width)
37034   return width_;
37035 }
37036 void MemoryDataParameter::set_width(::google::protobuf::uint32 value) {
37037   set_has_width();
37038   width_ = value;
37039   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.width)
37040 }
37041
37042 inline const MemoryDataParameter* MemoryDataParameter::internal_default_instance() {
37043   return &MemoryDataParameter_default_instance_.get();
37044 }
37045 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
37046
37047 // ===================================================================
37048
37049 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37050 const int MVNParameter::kNormalizeVarianceFieldNumber;
37051 const int MVNParameter::kAcrossChannelsFieldNumber;
37052 const int MVNParameter::kEpsFieldNumber;
37053 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37054
37055 MVNParameter::MVNParameter()
37056   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
37057   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37058   SharedCtor();
37059   // @@protoc_insertion_point(constructor:opencv_caffe.MVNParameter)
37060 }
37061
37062 void MVNParameter::InitAsDefaultInstance() {
37063 }
37064
37065 MVNParameter::MVNParameter(const MVNParameter& from)
37066   : ::google::protobuf::Message(),
37067     _internal_metadata_(NULL) {
37068   SharedCtor();
37069   UnsafeMergeFrom(from);
37070   // @@protoc_insertion_point(copy_constructor:opencv_caffe.MVNParameter)
37071 }
37072
37073 void MVNParameter::SharedCtor() {
37074   _cached_size_ = 0;
37075   across_channels_ = false;
37076   normalize_variance_ = true;
37077   eps_ = 1e-09f;
37078 }
37079
37080 MVNParameter::~MVNParameter() {
37081   // @@protoc_insertion_point(destructor:opencv_caffe.MVNParameter)
37082   SharedDtor();
37083 }
37084
37085 void MVNParameter::SharedDtor() {
37086 }
37087
37088 void MVNParameter::SetCachedSize(int size) const {
37089   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37090   _cached_size_ = size;
37091   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37092 }
37093 const ::google::protobuf::Descriptor* MVNParameter::descriptor() {
37094   protobuf_AssignDescriptorsOnce();
37095   return MVNParameter_descriptor_;
37096 }
37097
37098 const MVNParameter& MVNParameter::default_instance() {
37099   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37100   return *internal_default_instance();
37101 }
37102
37103 ::google::protobuf::internal::ExplicitlyConstructed<MVNParameter> MVNParameter_default_instance_;
37104
37105 MVNParameter* MVNParameter::New(::google::protobuf::Arena* arena) const {
37106   MVNParameter* n = new MVNParameter;
37107   if (arena != NULL) {
37108     arena->Own(n);
37109   }
37110   return n;
37111 }
37112
37113 void MVNParameter::Clear() {
37114 // @@protoc_insertion_point(message_clear_start:opencv_caffe.MVNParameter)
37115   if (_has_bits_[0 / 32] & 7u) {
37116     normalize_variance_ = true;
37117     across_channels_ = false;
37118     eps_ = 1e-09f;
37119   }
37120   _has_bits_.Clear();
37121   if (_internal_metadata_.have_unknown_fields()) {
37122     mutable_unknown_fields()->Clear();
37123   }
37124 }
37125
37126 bool MVNParameter::MergePartialFromCodedStream(
37127     ::google::protobuf::io::CodedInputStream* input) {
37128 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
37129   ::google::protobuf::uint32 tag;
37130   // @@protoc_insertion_point(parse_start:opencv_caffe.MVNParameter)
37131   for (;;) {
37132     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
37133     tag = p.first;
37134     if (!p.second) goto handle_unusual;
37135     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
37136       // optional bool normalize_variance = 1 [default = true];
37137       case 1: {
37138         if (tag == 8) {
37139           set_has_normalize_variance();
37140           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37141                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
37142                  input, &normalize_variance_)));
37143         } else {
37144           goto handle_unusual;
37145         }
37146         if (input->ExpectTag(16)) goto parse_across_channels;
37147         break;
37148       }
37149
37150       // optional bool across_channels = 2 [default = false];
37151       case 2: {
37152         if (tag == 16) {
37153          parse_across_channels:
37154           set_has_across_channels();
37155           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37156                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
37157                  input, &across_channels_)));
37158         } else {
37159           goto handle_unusual;
37160         }
37161         if (input->ExpectTag(29)) goto parse_eps;
37162         break;
37163       }
37164
37165       // optional float eps = 3 [default = 1e-09];
37166       case 3: {
37167         if (tag == 29) {
37168          parse_eps:
37169           set_has_eps();
37170           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37171                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
37172                  input, &eps_)));
37173         } else {
37174           goto handle_unusual;
37175         }
37176         if (input->ExpectAtEnd()) goto success;
37177         break;
37178       }
37179
37180       default: {
37181       handle_unusual:
37182         if (tag == 0 ||
37183             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
37184             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
37185           goto success;
37186         }
37187         DO_(::google::protobuf::internal::WireFormat::SkipField(
37188               input, tag, mutable_unknown_fields()));
37189         break;
37190       }
37191     }
37192   }
37193 success:
37194   // @@protoc_insertion_point(parse_success:opencv_caffe.MVNParameter)
37195   return true;
37196 failure:
37197   // @@protoc_insertion_point(parse_failure:opencv_caffe.MVNParameter)
37198   return false;
37199 #undef DO_
37200 }
37201
37202 void MVNParameter::SerializeWithCachedSizes(
37203     ::google::protobuf::io::CodedOutputStream* output) const {
37204   // @@protoc_insertion_point(serialize_start:opencv_caffe.MVNParameter)
37205   // optional bool normalize_variance = 1 [default = true];
37206   if (has_normalize_variance()) {
37207     ::google::protobuf::internal::WireFormatLite::WriteBool(1, this->normalize_variance(), output);
37208   }
37209
37210   // optional bool across_channels = 2 [default = false];
37211   if (has_across_channels()) {
37212     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->across_channels(), output);
37213   }
37214
37215   // optional float eps = 3 [default = 1e-09];
37216   if (has_eps()) {
37217     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->eps(), output);
37218   }
37219
37220   if (_internal_metadata_.have_unknown_fields()) {
37221     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
37222         unknown_fields(), output);
37223   }
37224   // @@protoc_insertion_point(serialize_end:opencv_caffe.MVNParameter)
37225 }
37226
37227 ::google::protobuf::uint8* MVNParameter::InternalSerializeWithCachedSizesToArray(
37228     bool deterministic, ::google::protobuf::uint8* target) const {
37229   (void)deterministic; // Unused
37230   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.MVNParameter)
37231   // optional bool normalize_variance = 1 [default = true];
37232   if (has_normalize_variance()) {
37233     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(1, this->normalize_variance(), target);
37234   }
37235
37236   // optional bool across_channels = 2 [default = false];
37237   if (has_across_channels()) {
37238     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->across_channels(), target);
37239   }
37240
37241   // optional float eps = 3 [default = 1e-09];
37242   if (has_eps()) {
37243     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->eps(), target);
37244   }
37245
37246   if (_internal_metadata_.have_unknown_fields()) {
37247     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
37248         unknown_fields(), target);
37249   }
37250   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.MVNParameter)
37251   return target;
37252 }
37253
37254 size_t MVNParameter::ByteSizeLong() const {
37255 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.MVNParameter)
37256   size_t total_size = 0;
37257
37258   if (_has_bits_[0 / 32] & 7u) {
37259     // optional bool normalize_variance = 1 [default = true];
37260     if (has_normalize_variance()) {
37261       total_size += 1 + 1;
37262     }
37263
37264     // optional bool across_channels = 2 [default = false];
37265     if (has_across_channels()) {
37266       total_size += 1 + 1;
37267     }
37268
37269     // optional float eps = 3 [default = 1e-09];
37270     if (has_eps()) {
37271       total_size += 1 + 4;
37272     }
37273
37274   }
37275   if (_internal_metadata_.have_unknown_fields()) {
37276     total_size +=
37277       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
37278         unknown_fields());
37279   }
37280   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
37281   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37282   _cached_size_ = cached_size;
37283   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37284   return total_size;
37285 }
37286
37287 void MVNParameter::MergeFrom(const ::google::protobuf::Message& from) {
37288 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.MVNParameter)
37289   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
37290   const MVNParameter* source =
37291       ::google::protobuf::internal::DynamicCastToGenerated<const MVNParameter>(
37292           &from);
37293   if (source == NULL) {
37294   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.MVNParameter)
37295     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
37296   } else {
37297   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.MVNParameter)
37298     UnsafeMergeFrom(*source);
37299   }
37300 }
37301
37302 void MVNParameter::MergeFrom(const MVNParameter& from) {
37303 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.MVNParameter)
37304   if (GOOGLE_PREDICT_TRUE(&from != this)) {
37305     UnsafeMergeFrom(from);
37306   } else {
37307     MergeFromFail(__LINE__);
37308   }
37309 }
37310
37311 void MVNParameter::UnsafeMergeFrom(const MVNParameter& from) {
37312   GOOGLE_DCHECK(&from != this);
37313   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
37314     if (from.has_normalize_variance()) {
37315       set_normalize_variance(from.normalize_variance());
37316     }
37317     if (from.has_across_channels()) {
37318       set_across_channels(from.across_channels());
37319     }
37320     if (from.has_eps()) {
37321       set_eps(from.eps());
37322     }
37323   }
37324   if (from._internal_metadata_.have_unknown_fields()) {
37325     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
37326       from.unknown_fields(), &_internal_metadata_);
37327   }
37328 }
37329
37330 void MVNParameter::CopyFrom(const ::google::protobuf::Message& from) {
37331 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.MVNParameter)
37332   if (&from == this) return;
37333   Clear();
37334   MergeFrom(from);
37335 }
37336
37337 void MVNParameter::CopyFrom(const MVNParameter& from) {
37338 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.MVNParameter)
37339   if (&from == this) return;
37340   Clear();
37341   UnsafeMergeFrom(from);
37342 }
37343
37344 bool MVNParameter::IsInitialized() const {
37345
37346   return true;
37347 }
37348
37349 void MVNParameter::Swap(MVNParameter* other) {
37350   if (other == this) return;
37351   InternalSwap(other);
37352 }
37353 void MVNParameter::InternalSwap(MVNParameter* other) {
37354   std::swap(normalize_variance_, other->normalize_variance_);
37355   std::swap(across_channels_, other->across_channels_);
37356   std::swap(eps_, other->eps_);
37357   std::swap(_has_bits_[0], other->_has_bits_[0]);
37358   _internal_metadata_.Swap(&other->_internal_metadata_);
37359   std::swap(_cached_size_, other->_cached_size_);
37360 }
37361
37362 ::google::protobuf::Metadata MVNParameter::GetMetadata() const {
37363   protobuf_AssignDescriptorsOnce();
37364   ::google::protobuf::Metadata metadata;
37365   metadata.descriptor = MVNParameter_descriptor_;
37366   metadata.reflection = MVNParameter_reflection_;
37367   return metadata;
37368 }
37369
37370 #if PROTOBUF_INLINE_NOT_IN_HEADERS
37371 // MVNParameter
37372
37373 // optional bool normalize_variance = 1 [default = true];
37374 bool MVNParameter::has_normalize_variance() const {
37375   return (_has_bits_[0] & 0x00000001u) != 0;
37376 }
37377 void MVNParameter::set_has_normalize_variance() {
37378   _has_bits_[0] |= 0x00000001u;
37379 }
37380 void MVNParameter::clear_has_normalize_variance() {
37381   _has_bits_[0] &= ~0x00000001u;
37382 }
37383 void MVNParameter::clear_normalize_variance() {
37384   normalize_variance_ = true;
37385   clear_has_normalize_variance();
37386 }
37387 bool MVNParameter::normalize_variance() const {
37388   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.normalize_variance)
37389   return normalize_variance_;
37390 }
37391 void MVNParameter::set_normalize_variance(bool value) {
37392   set_has_normalize_variance();
37393   normalize_variance_ = value;
37394   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.normalize_variance)
37395 }
37396
37397 // optional bool across_channels = 2 [default = false];
37398 bool MVNParameter::has_across_channels() const {
37399   return (_has_bits_[0] & 0x00000002u) != 0;
37400 }
37401 void MVNParameter::set_has_across_channels() {
37402   _has_bits_[0] |= 0x00000002u;
37403 }
37404 void MVNParameter::clear_has_across_channels() {
37405   _has_bits_[0] &= ~0x00000002u;
37406 }
37407 void MVNParameter::clear_across_channels() {
37408   across_channels_ = false;
37409   clear_has_across_channels();
37410 }
37411 bool MVNParameter::across_channels() const {
37412   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.across_channels)
37413   return across_channels_;
37414 }
37415 void MVNParameter::set_across_channels(bool value) {
37416   set_has_across_channels();
37417   across_channels_ = value;
37418   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.across_channels)
37419 }
37420
37421 // optional float eps = 3 [default = 1e-09];
37422 bool MVNParameter::has_eps() const {
37423   return (_has_bits_[0] & 0x00000004u) != 0;
37424 }
37425 void MVNParameter::set_has_eps() {
37426   _has_bits_[0] |= 0x00000004u;
37427 }
37428 void MVNParameter::clear_has_eps() {
37429   _has_bits_[0] &= ~0x00000004u;
37430 }
37431 void MVNParameter::clear_eps() {
37432   eps_ = 1e-09f;
37433   clear_has_eps();
37434 }
37435 float MVNParameter::eps() const {
37436   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.eps)
37437   return eps_;
37438 }
37439 void MVNParameter::set_eps(float value) {
37440   set_has_eps();
37441   eps_ = value;
37442   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.eps)
37443 }
37444
37445 inline const MVNParameter* MVNParameter::internal_default_instance() {
37446   return &MVNParameter_default_instance_.get();
37447 }
37448 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
37449
37450 // ===================================================================
37451
37452 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37453 const int ParameterParameter::kShapeFieldNumber;
37454 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37455
37456 ParameterParameter::ParameterParameter()
37457   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
37458   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37459   SharedCtor();
37460   // @@protoc_insertion_point(constructor:opencv_caffe.ParameterParameter)
37461 }
37462
37463 void ParameterParameter::InitAsDefaultInstance() {
37464   shape_ = const_cast< ::opencv_caffe::BlobShape*>(
37465       ::opencv_caffe::BlobShape::internal_default_instance());
37466 }
37467
37468 ParameterParameter::ParameterParameter(const ParameterParameter& from)
37469   : ::google::protobuf::Message(),
37470     _internal_metadata_(NULL) {
37471   SharedCtor();
37472   UnsafeMergeFrom(from);
37473   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ParameterParameter)
37474 }
37475
37476 void ParameterParameter::SharedCtor() {
37477   _cached_size_ = 0;
37478   shape_ = NULL;
37479 }
37480
37481 ParameterParameter::~ParameterParameter() {
37482   // @@protoc_insertion_point(destructor:opencv_caffe.ParameterParameter)
37483   SharedDtor();
37484 }
37485
37486 void ParameterParameter::SharedDtor() {
37487   if (this != &ParameterParameter_default_instance_.get()) {
37488     delete shape_;
37489   }
37490 }
37491
37492 void ParameterParameter::SetCachedSize(int size) const {
37493   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37494   _cached_size_ = size;
37495   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37496 }
37497 const ::google::protobuf::Descriptor* ParameterParameter::descriptor() {
37498   protobuf_AssignDescriptorsOnce();
37499   return ParameterParameter_descriptor_;
37500 }
37501
37502 const ParameterParameter& ParameterParameter::default_instance() {
37503   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37504   return *internal_default_instance();
37505 }
37506
37507 ::google::protobuf::internal::ExplicitlyConstructed<ParameterParameter> ParameterParameter_default_instance_;
37508
37509 ParameterParameter* ParameterParameter::New(::google::protobuf::Arena* arena) const {
37510   ParameterParameter* n = new ParameterParameter;
37511   if (arena != NULL) {
37512     arena->Own(n);
37513   }
37514   return n;
37515 }
37516
37517 void ParameterParameter::Clear() {
37518 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ParameterParameter)
37519   if (has_shape()) {
37520     if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
37521   }
37522   _has_bits_.Clear();
37523   if (_internal_metadata_.have_unknown_fields()) {
37524     mutable_unknown_fields()->Clear();
37525   }
37526 }
37527
37528 bool ParameterParameter::MergePartialFromCodedStream(
37529     ::google::protobuf::io::CodedInputStream* input) {
37530 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
37531   ::google::protobuf::uint32 tag;
37532   // @@protoc_insertion_point(parse_start:opencv_caffe.ParameterParameter)
37533   for (;;) {
37534     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
37535     tag = p.first;
37536     if (!p.second) goto handle_unusual;
37537     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
37538       // optional .opencv_caffe.BlobShape shape = 1;
37539       case 1: {
37540         if (tag == 10) {
37541           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
37542                input, mutable_shape()));
37543         } else {
37544           goto handle_unusual;
37545         }
37546         if (input->ExpectAtEnd()) goto success;
37547         break;
37548       }
37549
37550       default: {
37551       handle_unusual:
37552         if (tag == 0 ||
37553             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
37554             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
37555           goto success;
37556         }
37557         DO_(::google::protobuf::internal::WireFormat::SkipField(
37558               input, tag, mutable_unknown_fields()));
37559         break;
37560       }
37561     }
37562   }
37563 success:
37564   // @@protoc_insertion_point(parse_success:opencv_caffe.ParameterParameter)
37565   return true;
37566 failure:
37567   // @@protoc_insertion_point(parse_failure:opencv_caffe.ParameterParameter)
37568   return false;
37569 #undef DO_
37570 }
37571
37572 void ParameterParameter::SerializeWithCachedSizes(
37573     ::google::protobuf::io::CodedOutputStream* output) const {
37574   // @@protoc_insertion_point(serialize_start:opencv_caffe.ParameterParameter)
37575   // optional .opencv_caffe.BlobShape shape = 1;
37576   if (has_shape()) {
37577     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
37578       1, *this->shape_, output);
37579   }
37580
37581   if (_internal_metadata_.have_unknown_fields()) {
37582     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
37583         unknown_fields(), output);
37584   }
37585   // @@protoc_insertion_point(serialize_end:opencv_caffe.ParameterParameter)
37586 }
37587
37588 ::google::protobuf::uint8* ParameterParameter::InternalSerializeWithCachedSizesToArray(
37589     bool deterministic, ::google::protobuf::uint8* target) const {
37590   (void)deterministic; // Unused
37591   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ParameterParameter)
37592   // optional .opencv_caffe.BlobShape shape = 1;
37593   if (has_shape()) {
37594     target = ::google::protobuf::internal::WireFormatLite::
37595       InternalWriteMessageNoVirtualToArray(
37596         1, *this->shape_, false, target);
37597   }
37598
37599   if (_internal_metadata_.have_unknown_fields()) {
37600     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
37601         unknown_fields(), target);
37602   }
37603   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ParameterParameter)
37604   return target;
37605 }
37606
37607 size_t ParameterParameter::ByteSizeLong() const {
37608 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ParameterParameter)
37609   size_t total_size = 0;
37610
37611   // optional .opencv_caffe.BlobShape shape = 1;
37612   if (has_shape()) {
37613     total_size += 1 +
37614       ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
37615         *this->shape_);
37616   }
37617
37618   if (_internal_metadata_.have_unknown_fields()) {
37619     total_size +=
37620       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
37621         unknown_fields());
37622   }
37623   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
37624   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37625   _cached_size_ = cached_size;
37626   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37627   return total_size;
37628 }
37629
37630 void ParameterParameter::MergeFrom(const ::google::protobuf::Message& from) {
37631 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ParameterParameter)
37632   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
37633   const ParameterParameter* source =
37634       ::google::protobuf::internal::DynamicCastToGenerated<const ParameterParameter>(
37635           &from);
37636   if (source == NULL) {
37637   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ParameterParameter)
37638     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
37639   } else {
37640   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ParameterParameter)
37641     UnsafeMergeFrom(*source);
37642   }
37643 }
37644
37645 void ParameterParameter::MergeFrom(const ParameterParameter& from) {
37646 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ParameterParameter)
37647   if (GOOGLE_PREDICT_TRUE(&from != this)) {
37648     UnsafeMergeFrom(from);
37649   } else {
37650     MergeFromFail(__LINE__);
37651   }
37652 }
37653
37654 void ParameterParameter::UnsafeMergeFrom(const ParameterParameter& from) {
37655   GOOGLE_DCHECK(&from != this);
37656   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
37657     if (from.has_shape()) {
37658       mutable_shape()->::opencv_caffe::BlobShape::MergeFrom(from.shape());
37659     }
37660   }
37661   if (from._internal_metadata_.have_unknown_fields()) {
37662     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
37663       from.unknown_fields(), &_internal_metadata_);
37664   }
37665 }
37666
37667 void ParameterParameter::CopyFrom(const ::google::protobuf::Message& from) {
37668 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ParameterParameter)
37669   if (&from == this) return;
37670   Clear();
37671   MergeFrom(from);
37672 }
37673
37674 void ParameterParameter::CopyFrom(const ParameterParameter& from) {
37675 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ParameterParameter)
37676   if (&from == this) return;
37677   Clear();
37678   UnsafeMergeFrom(from);
37679 }
37680
37681 bool ParameterParameter::IsInitialized() const {
37682
37683   return true;
37684 }
37685
37686 void ParameterParameter::Swap(ParameterParameter* other) {
37687   if (other == this) return;
37688   InternalSwap(other);
37689 }
37690 void ParameterParameter::InternalSwap(ParameterParameter* other) {
37691   std::swap(shape_, other->shape_);
37692   std::swap(_has_bits_[0], other->_has_bits_[0]);
37693   _internal_metadata_.Swap(&other->_internal_metadata_);
37694   std::swap(_cached_size_, other->_cached_size_);
37695 }
37696
37697 ::google::protobuf::Metadata ParameterParameter::GetMetadata() const {
37698   protobuf_AssignDescriptorsOnce();
37699   ::google::protobuf::Metadata metadata;
37700   metadata.descriptor = ParameterParameter_descriptor_;
37701   metadata.reflection = ParameterParameter_reflection_;
37702   return metadata;
37703 }
37704
37705 #if PROTOBUF_INLINE_NOT_IN_HEADERS
37706 // ParameterParameter
37707
37708 // optional .opencv_caffe.BlobShape shape = 1;
37709 bool ParameterParameter::has_shape() const {
37710   return (_has_bits_[0] & 0x00000001u) != 0;
37711 }
37712 void ParameterParameter::set_has_shape() {
37713   _has_bits_[0] |= 0x00000001u;
37714 }
37715 void ParameterParameter::clear_has_shape() {
37716   _has_bits_[0] &= ~0x00000001u;
37717 }
37718 void ParameterParameter::clear_shape() {
37719   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
37720   clear_has_shape();
37721 }
37722 const ::opencv_caffe::BlobShape& ParameterParameter::shape() const {
37723   // @@protoc_insertion_point(field_get:opencv_caffe.ParameterParameter.shape)
37724   return shape_ != NULL ? *shape_
37725                          : *::opencv_caffe::BlobShape::internal_default_instance();
37726 }
37727 ::opencv_caffe::BlobShape* ParameterParameter::mutable_shape() {
37728   set_has_shape();
37729   if (shape_ == NULL) {
37730     shape_ = new ::opencv_caffe::BlobShape;
37731   }
37732   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParameterParameter.shape)
37733   return shape_;
37734 }
37735 ::opencv_caffe::BlobShape* ParameterParameter::release_shape() {
37736   // @@protoc_insertion_point(field_release:opencv_caffe.ParameterParameter.shape)
37737   clear_has_shape();
37738   ::opencv_caffe::BlobShape* temp = shape_;
37739   shape_ = NULL;
37740   return temp;
37741 }
37742 void ParameterParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
37743   delete shape_;
37744   shape_ = shape;
37745   if (shape) {
37746     set_has_shape();
37747   } else {
37748     clear_has_shape();
37749   }
37750   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParameterParameter.shape)
37751 }
37752
37753 inline const ParameterParameter* ParameterParameter::internal_default_instance() {
37754   return &ParameterParameter_default_instance_.get();
37755 }
37756 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
37757
37758 // ===================================================================
37759
37760 const ::google::protobuf::EnumDescriptor* PoolingParameter_PoolMethod_descriptor() {
37761   protobuf_AssignDescriptorsOnce();
37762   return PoolingParameter_PoolMethod_descriptor_;
37763 }
37764 bool PoolingParameter_PoolMethod_IsValid(int value) {
37765   switch (value) {
37766     case 0:
37767     case 1:
37768     case 2:
37769       return true;
37770     default:
37771       return false;
37772   }
37773 }
37774
37775 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37776 const PoolingParameter_PoolMethod PoolingParameter::MAX;
37777 const PoolingParameter_PoolMethod PoolingParameter::AVE;
37778 const PoolingParameter_PoolMethod PoolingParameter::STOCHASTIC;
37779 const PoolingParameter_PoolMethod PoolingParameter::PoolMethod_MIN;
37780 const PoolingParameter_PoolMethod PoolingParameter::PoolMethod_MAX;
37781 const int PoolingParameter::PoolMethod_ARRAYSIZE;
37782 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37783 const ::google::protobuf::EnumDescriptor* PoolingParameter_Engine_descriptor() {
37784   protobuf_AssignDescriptorsOnce();
37785   return PoolingParameter_Engine_descriptor_;
37786 }
37787 bool PoolingParameter_Engine_IsValid(int value) {
37788   switch (value) {
37789     case 0:
37790     case 1:
37791     case 2:
37792       return true;
37793     default:
37794       return false;
37795   }
37796 }
37797
37798 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37799 const PoolingParameter_Engine PoolingParameter::DEFAULT;
37800 const PoolingParameter_Engine PoolingParameter::CAFFE;
37801 const PoolingParameter_Engine PoolingParameter::CUDNN;
37802 const PoolingParameter_Engine PoolingParameter::Engine_MIN;
37803 const PoolingParameter_Engine PoolingParameter::Engine_MAX;
37804 const int PoolingParameter::Engine_ARRAYSIZE;
37805 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37806 #if !defined(_MSC_VER) || _MSC_VER >= 1900
37807 const int PoolingParameter::kPoolFieldNumber;
37808 const int PoolingParameter::kPadFieldNumber;
37809 const int PoolingParameter::kPadHFieldNumber;
37810 const int PoolingParameter::kPadWFieldNumber;
37811 const int PoolingParameter::kKernelSizeFieldNumber;
37812 const int PoolingParameter::kKernelHFieldNumber;
37813 const int PoolingParameter::kKernelWFieldNumber;
37814 const int PoolingParameter::kStrideFieldNumber;
37815 const int PoolingParameter::kStrideHFieldNumber;
37816 const int PoolingParameter::kStrideWFieldNumber;
37817 const int PoolingParameter::kEngineFieldNumber;
37818 const int PoolingParameter::kGlobalPoolingFieldNumber;
37819 const int PoolingParameter::kCeilModeFieldNumber;
37820 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
37821
37822 PoolingParameter::PoolingParameter()
37823   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
37824   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37825   SharedCtor();
37826   // @@protoc_insertion_point(constructor:opencv_caffe.PoolingParameter)
37827 }
37828
37829 void PoolingParameter::InitAsDefaultInstance() {
37830 }
37831
37832 PoolingParameter::PoolingParameter(const PoolingParameter& from)
37833   : ::google::protobuf::Message(),
37834     _internal_metadata_(NULL) {
37835   SharedCtor();
37836   UnsafeMergeFrom(from);
37837   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PoolingParameter)
37838 }
37839
37840 void PoolingParameter::SharedCtor() {
37841   _cached_size_ = 0;
37842   ::memset(&pool_, 0, reinterpret_cast<char*>(&global_pooling_) -
37843     reinterpret_cast<char*>(&pool_) + sizeof(global_pooling_));
37844   stride_ = 1u;
37845   ceil_mode_ = true;
37846 }
37847
37848 PoolingParameter::~PoolingParameter() {
37849   // @@protoc_insertion_point(destructor:opencv_caffe.PoolingParameter)
37850   SharedDtor();
37851 }
37852
37853 void PoolingParameter::SharedDtor() {
37854 }
37855
37856 void PoolingParameter::SetCachedSize(int size) const {
37857   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
37858   _cached_size_ = size;
37859   GOOGLE_SAFE_CONCURRENT_WRITES_END();
37860 }
37861 const ::google::protobuf::Descriptor* PoolingParameter::descriptor() {
37862   protobuf_AssignDescriptorsOnce();
37863   return PoolingParameter_descriptor_;
37864 }
37865
37866 const PoolingParameter& PoolingParameter::default_instance() {
37867   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
37868   return *internal_default_instance();
37869 }
37870
37871 ::google::protobuf::internal::ExplicitlyConstructed<PoolingParameter> PoolingParameter_default_instance_;
37872
37873 PoolingParameter* PoolingParameter::New(::google::protobuf::Arena* arena) const {
37874   PoolingParameter* n = new PoolingParameter;
37875   if (arena != NULL) {
37876     arena->Own(n);
37877   }
37878   return n;
37879 }
37880
37881 void PoolingParameter::Clear() {
37882 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PoolingParameter)
37883 #if defined(__clang__)
37884 #define ZR_HELPER_(f) \
37885   _Pragma("clang diagnostic push") \
37886   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
37887   __builtin_offsetof(PoolingParameter, f) \
37888   _Pragma("clang diagnostic pop")
37889 #else
37890 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
37891   &reinterpret_cast<PoolingParameter*>(16)->f)
37892 #endif
37893
37894 #define ZR_(first, last) do {\
37895   ::memset(&(first), 0,\
37896            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
37897 } while (0)
37898
37899   if (_has_bits_[0 / 32] & 255u) {
37900     ZR_(pool_, kernel_w_);
37901     stride_ = 1u;
37902   }
37903   if (_has_bits_[8 / 32] & 7936u) {
37904     ZR_(stride_h_, global_pooling_);
37905     ceil_mode_ = true;
37906   }
37907
37908 #undef ZR_HELPER_
37909 #undef ZR_
37910
37911   _has_bits_.Clear();
37912   if (_internal_metadata_.have_unknown_fields()) {
37913     mutable_unknown_fields()->Clear();
37914   }
37915 }
37916
37917 bool PoolingParameter::MergePartialFromCodedStream(
37918     ::google::protobuf::io::CodedInputStream* input) {
37919 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
37920   ::google::protobuf::uint32 tag;
37921   // @@protoc_insertion_point(parse_start:opencv_caffe.PoolingParameter)
37922   for (;;) {
37923     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
37924     tag = p.first;
37925     if (!p.second) goto handle_unusual;
37926     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
37927       // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
37928       case 1: {
37929         if (tag == 8) {
37930           int value;
37931           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37932                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
37933                  input, &value)));
37934           if (::opencv_caffe::PoolingParameter_PoolMethod_IsValid(value)) {
37935             set_pool(static_cast< ::opencv_caffe::PoolingParameter_PoolMethod >(value));
37936           } else {
37937             mutable_unknown_fields()->AddVarint(1, value);
37938           }
37939         } else {
37940           goto handle_unusual;
37941         }
37942         if (input->ExpectTag(16)) goto parse_kernel_size;
37943         break;
37944       }
37945
37946       // optional uint32 kernel_size = 2;
37947       case 2: {
37948         if (tag == 16) {
37949          parse_kernel_size:
37950           set_has_kernel_size();
37951           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37952                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
37953                  input, &kernel_size_)));
37954         } else {
37955           goto handle_unusual;
37956         }
37957         if (input->ExpectTag(24)) goto parse_stride;
37958         break;
37959       }
37960
37961       // optional uint32 stride = 3 [default = 1];
37962       case 3: {
37963         if (tag == 24) {
37964          parse_stride:
37965           set_has_stride();
37966           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37967                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
37968                  input, &stride_)));
37969         } else {
37970           goto handle_unusual;
37971         }
37972         if (input->ExpectTag(32)) goto parse_pad;
37973         break;
37974       }
37975
37976       // optional uint32 pad = 4 [default = 0];
37977       case 4: {
37978         if (tag == 32) {
37979          parse_pad:
37980           set_has_pad();
37981           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37982                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
37983                  input, &pad_)));
37984         } else {
37985           goto handle_unusual;
37986         }
37987         if (input->ExpectTag(40)) goto parse_kernel_h;
37988         break;
37989       }
37990
37991       // optional uint32 kernel_h = 5;
37992       case 5: {
37993         if (tag == 40) {
37994          parse_kernel_h:
37995           set_has_kernel_h();
37996           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
37997                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
37998                  input, &kernel_h_)));
37999         } else {
38000           goto handle_unusual;
38001         }
38002         if (input->ExpectTag(48)) goto parse_kernel_w;
38003         break;
38004       }
38005
38006       // optional uint32 kernel_w = 6;
38007       case 6: {
38008         if (tag == 48) {
38009          parse_kernel_w:
38010           set_has_kernel_w();
38011           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38012                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38013                  input, &kernel_w_)));
38014         } else {
38015           goto handle_unusual;
38016         }
38017         if (input->ExpectTag(56)) goto parse_stride_h;
38018         break;
38019       }
38020
38021       // optional uint32 stride_h = 7;
38022       case 7: {
38023         if (tag == 56) {
38024          parse_stride_h:
38025           set_has_stride_h();
38026           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38027                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38028                  input, &stride_h_)));
38029         } else {
38030           goto handle_unusual;
38031         }
38032         if (input->ExpectTag(64)) goto parse_stride_w;
38033         break;
38034       }
38035
38036       // optional uint32 stride_w = 8;
38037       case 8: {
38038         if (tag == 64) {
38039          parse_stride_w:
38040           set_has_stride_w();
38041           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38042                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38043                  input, &stride_w_)));
38044         } else {
38045           goto handle_unusual;
38046         }
38047         if (input->ExpectTag(72)) goto parse_pad_h;
38048         break;
38049       }
38050
38051       // optional uint32 pad_h = 9 [default = 0];
38052       case 9: {
38053         if (tag == 72) {
38054          parse_pad_h:
38055           set_has_pad_h();
38056           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38057                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38058                  input, &pad_h_)));
38059         } else {
38060           goto handle_unusual;
38061         }
38062         if (input->ExpectTag(80)) goto parse_pad_w;
38063         break;
38064       }
38065
38066       // optional uint32 pad_w = 10 [default = 0];
38067       case 10: {
38068         if (tag == 80) {
38069          parse_pad_w:
38070           set_has_pad_w();
38071           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38072                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
38073                  input, &pad_w_)));
38074         } else {
38075           goto handle_unusual;
38076         }
38077         if (input->ExpectTag(88)) goto parse_engine;
38078         break;
38079       }
38080
38081       // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38082       case 11: {
38083         if (tag == 88) {
38084          parse_engine:
38085           int value;
38086           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38087                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
38088                  input, &value)));
38089           if (::opencv_caffe::PoolingParameter_Engine_IsValid(value)) {
38090             set_engine(static_cast< ::opencv_caffe::PoolingParameter_Engine >(value));
38091           } else {
38092             mutable_unknown_fields()->AddVarint(11, value);
38093           }
38094         } else {
38095           goto handle_unusual;
38096         }
38097         if (input->ExpectTag(96)) goto parse_global_pooling;
38098         break;
38099       }
38100
38101       // optional bool global_pooling = 12 [default = false];
38102       case 12: {
38103         if (tag == 96) {
38104          parse_global_pooling:
38105           set_has_global_pooling();
38106           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38107                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
38108                  input, &global_pooling_)));
38109         } else {
38110           goto handle_unusual;
38111         }
38112         if (input->ExpectTag(104)) goto parse_ceil_mode;
38113         break;
38114       }
38115
38116       // optional bool ceil_mode = 13 [default = true];
38117       case 13: {
38118         if (tag == 104) {
38119          parse_ceil_mode:
38120           set_has_ceil_mode();
38121           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38122                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
38123                  input, &ceil_mode_)));
38124         } else {
38125           goto handle_unusual;
38126         }
38127         if (input->ExpectAtEnd()) goto success;
38128         break;
38129       }
38130
38131       default: {
38132       handle_unusual:
38133         if (tag == 0 ||
38134             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
38135             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
38136           goto success;
38137         }
38138         DO_(::google::protobuf::internal::WireFormat::SkipField(
38139               input, tag, mutable_unknown_fields()));
38140         break;
38141       }
38142     }
38143   }
38144 success:
38145   // @@protoc_insertion_point(parse_success:opencv_caffe.PoolingParameter)
38146   return true;
38147 failure:
38148   // @@protoc_insertion_point(parse_failure:opencv_caffe.PoolingParameter)
38149   return false;
38150 #undef DO_
38151 }
38152
38153 void PoolingParameter::SerializeWithCachedSizes(
38154     ::google::protobuf::io::CodedOutputStream* output) const {
38155   // @@protoc_insertion_point(serialize_start:opencv_caffe.PoolingParameter)
38156   // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38157   if (has_pool()) {
38158     ::google::protobuf::internal::WireFormatLite::WriteEnum(
38159       1, this->pool(), output);
38160   }
38161
38162   // optional uint32 kernel_size = 2;
38163   if (has_kernel_size()) {
38164     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->kernel_size(), output);
38165   }
38166
38167   // optional uint32 stride = 3 [default = 1];
38168   if (has_stride()) {
38169     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->stride(), output);
38170   }
38171
38172   // optional uint32 pad = 4 [default = 0];
38173   if (has_pad()) {
38174     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->pad(), output);
38175   }
38176
38177   // optional uint32 kernel_h = 5;
38178   if (has_kernel_h()) {
38179     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->kernel_h(), output);
38180   }
38181
38182   // optional uint32 kernel_w = 6;
38183   if (has_kernel_w()) {
38184     ::google::protobuf::internal::WireFormatLite::WriteUInt32(6, this->kernel_w(), output);
38185   }
38186
38187   // optional uint32 stride_h = 7;
38188   if (has_stride_h()) {
38189     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->stride_h(), output);
38190   }
38191
38192   // optional uint32 stride_w = 8;
38193   if (has_stride_w()) {
38194     ::google::protobuf::internal::WireFormatLite::WriteUInt32(8, this->stride_w(), output);
38195   }
38196
38197   // optional uint32 pad_h = 9 [default = 0];
38198   if (has_pad_h()) {
38199     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->pad_h(), output);
38200   }
38201
38202   // optional uint32 pad_w = 10 [default = 0];
38203   if (has_pad_w()) {
38204     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->pad_w(), output);
38205   }
38206
38207   // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38208   if (has_engine()) {
38209     ::google::protobuf::internal::WireFormatLite::WriteEnum(
38210       11, this->engine(), output);
38211   }
38212
38213   // optional bool global_pooling = 12 [default = false];
38214   if (has_global_pooling()) {
38215     ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->global_pooling(), output);
38216   }
38217
38218   // optional bool ceil_mode = 13 [default = true];
38219   if (has_ceil_mode()) {
38220     ::google::protobuf::internal::WireFormatLite::WriteBool(13, this->ceil_mode(), output);
38221   }
38222
38223   if (_internal_metadata_.have_unknown_fields()) {
38224     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
38225         unknown_fields(), output);
38226   }
38227   // @@protoc_insertion_point(serialize_end:opencv_caffe.PoolingParameter)
38228 }
38229
38230 ::google::protobuf::uint8* PoolingParameter::InternalSerializeWithCachedSizesToArray(
38231     bool deterministic, ::google::protobuf::uint8* target) const {
38232   (void)deterministic; // Unused
38233   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PoolingParameter)
38234   // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38235   if (has_pool()) {
38236     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
38237       1, this->pool(), target);
38238   }
38239
38240   // optional uint32 kernel_size = 2;
38241   if (has_kernel_size()) {
38242     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->kernel_size(), target);
38243   }
38244
38245   // optional uint32 stride = 3 [default = 1];
38246   if (has_stride()) {
38247     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->stride(), target);
38248   }
38249
38250   // optional uint32 pad = 4 [default = 0];
38251   if (has_pad()) {
38252     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->pad(), target);
38253   }
38254
38255   // optional uint32 kernel_h = 5;
38256   if (has_kernel_h()) {
38257     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->kernel_h(), target);
38258   }
38259
38260   // optional uint32 kernel_w = 6;
38261   if (has_kernel_w()) {
38262     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(6, this->kernel_w(), target);
38263   }
38264
38265   // optional uint32 stride_h = 7;
38266   if (has_stride_h()) {
38267     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->stride_h(), target);
38268   }
38269
38270   // optional uint32 stride_w = 8;
38271   if (has_stride_w()) {
38272     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(8, this->stride_w(), target);
38273   }
38274
38275   // optional uint32 pad_h = 9 [default = 0];
38276   if (has_pad_h()) {
38277     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->pad_h(), target);
38278   }
38279
38280   // optional uint32 pad_w = 10 [default = 0];
38281   if (has_pad_w()) {
38282     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->pad_w(), target);
38283   }
38284
38285   // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38286   if (has_engine()) {
38287     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
38288       11, this->engine(), target);
38289   }
38290
38291   // optional bool global_pooling = 12 [default = false];
38292   if (has_global_pooling()) {
38293     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(12, this->global_pooling(), target);
38294   }
38295
38296   // optional bool ceil_mode = 13 [default = true];
38297   if (has_ceil_mode()) {
38298     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(13, this->ceil_mode(), target);
38299   }
38300
38301   if (_internal_metadata_.have_unknown_fields()) {
38302     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
38303         unknown_fields(), target);
38304   }
38305   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PoolingParameter)
38306   return target;
38307 }
38308
38309 size_t PoolingParameter::ByteSizeLong() const {
38310 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PoolingParameter)
38311   size_t total_size = 0;
38312
38313   if (_has_bits_[0 / 32] & 255u) {
38314     // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38315     if (has_pool()) {
38316       total_size += 1 +
38317         ::google::protobuf::internal::WireFormatLite::EnumSize(this->pool());
38318     }
38319
38320     // optional uint32 pad = 4 [default = 0];
38321     if (has_pad()) {
38322       total_size += 1 +
38323         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38324           this->pad());
38325     }
38326
38327     // optional uint32 pad_h = 9 [default = 0];
38328     if (has_pad_h()) {
38329       total_size += 1 +
38330         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38331           this->pad_h());
38332     }
38333
38334     // optional uint32 pad_w = 10 [default = 0];
38335     if (has_pad_w()) {
38336       total_size += 1 +
38337         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38338           this->pad_w());
38339     }
38340
38341     // optional uint32 kernel_size = 2;
38342     if (has_kernel_size()) {
38343       total_size += 1 +
38344         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38345           this->kernel_size());
38346     }
38347
38348     // optional uint32 kernel_h = 5;
38349     if (has_kernel_h()) {
38350       total_size += 1 +
38351         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38352           this->kernel_h());
38353     }
38354
38355     // optional uint32 kernel_w = 6;
38356     if (has_kernel_w()) {
38357       total_size += 1 +
38358         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38359           this->kernel_w());
38360     }
38361
38362     // optional uint32 stride = 3 [default = 1];
38363     if (has_stride()) {
38364       total_size += 1 +
38365         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38366           this->stride());
38367     }
38368
38369   }
38370   if (_has_bits_[8 / 32] & 7936u) {
38371     // optional uint32 stride_h = 7;
38372     if (has_stride_h()) {
38373       total_size += 1 +
38374         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38375           this->stride_h());
38376     }
38377
38378     // optional uint32 stride_w = 8;
38379     if (has_stride_w()) {
38380       total_size += 1 +
38381         ::google::protobuf::internal::WireFormatLite::UInt32Size(
38382           this->stride_w());
38383     }
38384
38385     // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38386     if (has_engine()) {
38387       total_size += 1 +
38388         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
38389     }
38390
38391     // optional bool global_pooling = 12 [default = false];
38392     if (has_global_pooling()) {
38393       total_size += 1 + 1;
38394     }
38395
38396     // optional bool ceil_mode = 13 [default = true];
38397     if (has_ceil_mode()) {
38398       total_size += 1 + 1;
38399     }
38400
38401   }
38402   if (_internal_metadata_.have_unknown_fields()) {
38403     total_size +=
38404       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
38405         unknown_fields());
38406   }
38407   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
38408   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
38409   _cached_size_ = cached_size;
38410   GOOGLE_SAFE_CONCURRENT_WRITES_END();
38411   return total_size;
38412 }
38413
38414 void PoolingParameter::MergeFrom(const ::google::protobuf::Message& from) {
38415 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PoolingParameter)
38416   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
38417   const PoolingParameter* source =
38418       ::google::protobuf::internal::DynamicCastToGenerated<const PoolingParameter>(
38419           &from);
38420   if (source == NULL) {
38421   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PoolingParameter)
38422     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
38423   } else {
38424   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PoolingParameter)
38425     UnsafeMergeFrom(*source);
38426   }
38427 }
38428
38429 void PoolingParameter::MergeFrom(const PoolingParameter& from) {
38430 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PoolingParameter)
38431   if (GOOGLE_PREDICT_TRUE(&from != this)) {
38432     UnsafeMergeFrom(from);
38433   } else {
38434     MergeFromFail(__LINE__);
38435   }
38436 }
38437
38438 void PoolingParameter::UnsafeMergeFrom(const PoolingParameter& from) {
38439   GOOGLE_DCHECK(&from != this);
38440   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
38441     if (from.has_pool()) {
38442       set_pool(from.pool());
38443     }
38444     if (from.has_pad()) {
38445       set_pad(from.pad());
38446     }
38447     if (from.has_pad_h()) {
38448       set_pad_h(from.pad_h());
38449     }
38450     if (from.has_pad_w()) {
38451       set_pad_w(from.pad_w());
38452     }
38453     if (from.has_kernel_size()) {
38454       set_kernel_size(from.kernel_size());
38455     }
38456     if (from.has_kernel_h()) {
38457       set_kernel_h(from.kernel_h());
38458     }
38459     if (from.has_kernel_w()) {
38460       set_kernel_w(from.kernel_w());
38461     }
38462     if (from.has_stride()) {
38463       set_stride(from.stride());
38464     }
38465   }
38466   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
38467     if (from.has_stride_h()) {
38468       set_stride_h(from.stride_h());
38469     }
38470     if (from.has_stride_w()) {
38471       set_stride_w(from.stride_w());
38472     }
38473     if (from.has_engine()) {
38474       set_engine(from.engine());
38475     }
38476     if (from.has_global_pooling()) {
38477       set_global_pooling(from.global_pooling());
38478     }
38479     if (from.has_ceil_mode()) {
38480       set_ceil_mode(from.ceil_mode());
38481     }
38482   }
38483   if (from._internal_metadata_.have_unknown_fields()) {
38484     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
38485       from.unknown_fields(), &_internal_metadata_);
38486   }
38487 }
38488
38489 void PoolingParameter::CopyFrom(const ::google::protobuf::Message& from) {
38490 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PoolingParameter)
38491   if (&from == this) return;
38492   Clear();
38493   MergeFrom(from);
38494 }
38495
38496 void PoolingParameter::CopyFrom(const PoolingParameter& from) {
38497 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PoolingParameter)
38498   if (&from == this) return;
38499   Clear();
38500   UnsafeMergeFrom(from);
38501 }
38502
38503 bool PoolingParameter::IsInitialized() const {
38504
38505   return true;
38506 }
38507
38508 void PoolingParameter::Swap(PoolingParameter* other) {
38509   if (other == this) return;
38510   InternalSwap(other);
38511 }
38512 void PoolingParameter::InternalSwap(PoolingParameter* other) {
38513   std::swap(pool_, other->pool_);
38514   std::swap(pad_, other->pad_);
38515   std::swap(pad_h_, other->pad_h_);
38516   std::swap(pad_w_, other->pad_w_);
38517   std::swap(kernel_size_, other->kernel_size_);
38518   std::swap(kernel_h_, other->kernel_h_);
38519   std::swap(kernel_w_, other->kernel_w_);
38520   std::swap(stride_, other->stride_);
38521   std::swap(stride_h_, other->stride_h_);
38522   std::swap(stride_w_, other->stride_w_);
38523   std::swap(engine_, other->engine_);
38524   std::swap(global_pooling_, other->global_pooling_);
38525   std::swap(ceil_mode_, other->ceil_mode_);
38526   std::swap(_has_bits_[0], other->_has_bits_[0]);
38527   _internal_metadata_.Swap(&other->_internal_metadata_);
38528   std::swap(_cached_size_, other->_cached_size_);
38529 }
38530
38531 ::google::protobuf::Metadata PoolingParameter::GetMetadata() const {
38532   protobuf_AssignDescriptorsOnce();
38533   ::google::protobuf::Metadata metadata;
38534   metadata.descriptor = PoolingParameter_descriptor_;
38535   metadata.reflection = PoolingParameter_reflection_;
38536   return metadata;
38537 }
38538
38539 #if PROTOBUF_INLINE_NOT_IN_HEADERS
38540 // PoolingParameter
38541
38542 // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
38543 bool PoolingParameter::has_pool() const {
38544   return (_has_bits_[0] & 0x00000001u) != 0;
38545 }
38546 void PoolingParameter::set_has_pool() {
38547   _has_bits_[0] |= 0x00000001u;
38548 }
38549 void PoolingParameter::clear_has_pool() {
38550   _has_bits_[0] &= ~0x00000001u;
38551 }
38552 void PoolingParameter::clear_pool() {
38553   pool_ = 0;
38554   clear_has_pool();
38555 }
38556 ::opencv_caffe::PoolingParameter_PoolMethod PoolingParameter::pool() const {
38557   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pool)
38558   return static_cast< ::opencv_caffe::PoolingParameter_PoolMethod >(pool_);
38559 }
38560 void PoolingParameter::set_pool(::opencv_caffe::PoolingParameter_PoolMethod value) {
38561   assert(::opencv_caffe::PoolingParameter_PoolMethod_IsValid(value));
38562   set_has_pool();
38563   pool_ = value;
38564   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pool)
38565 }
38566
38567 // optional uint32 pad = 4 [default = 0];
38568 bool PoolingParameter::has_pad() const {
38569   return (_has_bits_[0] & 0x00000002u) != 0;
38570 }
38571 void PoolingParameter::set_has_pad() {
38572   _has_bits_[0] |= 0x00000002u;
38573 }
38574 void PoolingParameter::clear_has_pad() {
38575   _has_bits_[0] &= ~0x00000002u;
38576 }
38577 void PoolingParameter::clear_pad() {
38578   pad_ = 0u;
38579   clear_has_pad();
38580 }
38581 ::google::protobuf::uint32 PoolingParameter::pad() const {
38582   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad)
38583   return pad_;
38584 }
38585 void PoolingParameter::set_pad(::google::protobuf::uint32 value) {
38586   set_has_pad();
38587   pad_ = value;
38588   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad)
38589 }
38590
38591 // optional uint32 pad_h = 9 [default = 0];
38592 bool PoolingParameter::has_pad_h() const {
38593   return (_has_bits_[0] & 0x00000004u) != 0;
38594 }
38595 void PoolingParameter::set_has_pad_h() {
38596   _has_bits_[0] |= 0x00000004u;
38597 }
38598 void PoolingParameter::clear_has_pad_h() {
38599   _has_bits_[0] &= ~0x00000004u;
38600 }
38601 void PoolingParameter::clear_pad_h() {
38602   pad_h_ = 0u;
38603   clear_has_pad_h();
38604 }
38605 ::google::protobuf::uint32 PoolingParameter::pad_h() const {
38606   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_h)
38607   return pad_h_;
38608 }
38609 void PoolingParameter::set_pad_h(::google::protobuf::uint32 value) {
38610   set_has_pad_h();
38611   pad_h_ = value;
38612   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_h)
38613 }
38614
38615 // optional uint32 pad_w = 10 [default = 0];
38616 bool PoolingParameter::has_pad_w() const {
38617   return (_has_bits_[0] & 0x00000008u) != 0;
38618 }
38619 void PoolingParameter::set_has_pad_w() {
38620   _has_bits_[0] |= 0x00000008u;
38621 }
38622 void PoolingParameter::clear_has_pad_w() {
38623   _has_bits_[0] &= ~0x00000008u;
38624 }
38625 void PoolingParameter::clear_pad_w() {
38626   pad_w_ = 0u;
38627   clear_has_pad_w();
38628 }
38629 ::google::protobuf::uint32 PoolingParameter::pad_w() const {
38630   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_w)
38631   return pad_w_;
38632 }
38633 void PoolingParameter::set_pad_w(::google::protobuf::uint32 value) {
38634   set_has_pad_w();
38635   pad_w_ = value;
38636   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_w)
38637 }
38638
38639 // optional uint32 kernel_size = 2;
38640 bool PoolingParameter::has_kernel_size() const {
38641   return (_has_bits_[0] & 0x00000010u) != 0;
38642 }
38643 void PoolingParameter::set_has_kernel_size() {
38644   _has_bits_[0] |= 0x00000010u;
38645 }
38646 void PoolingParameter::clear_has_kernel_size() {
38647   _has_bits_[0] &= ~0x00000010u;
38648 }
38649 void PoolingParameter::clear_kernel_size() {
38650   kernel_size_ = 0u;
38651   clear_has_kernel_size();
38652 }
38653 ::google::protobuf::uint32 PoolingParameter::kernel_size() const {
38654   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_size)
38655   return kernel_size_;
38656 }
38657 void PoolingParameter::set_kernel_size(::google::protobuf::uint32 value) {
38658   set_has_kernel_size();
38659   kernel_size_ = value;
38660   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_size)
38661 }
38662
38663 // optional uint32 kernel_h = 5;
38664 bool PoolingParameter::has_kernel_h() const {
38665   return (_has_bits_[0] & 0x00000020u) != 0;
38666 }
38667 void PoolingParameter::set_has_kernel_h() {
38668   _has_bits_[0] |= 0x00000020u;
38669 }
38670 void PoolingParameter::clear_has_kernel_h() {
38671   _has_bits_[0] &= ~0x00000020u;
38672 }
38673 void PoolingParameter::clear_kernel_h() {
38674   kernel_h_ = 0u;
38675   clear_has_kernel_h();
38676 }
38677 ::google::protobuf::uint32 PoolingParameter::kernel_h() const {
38678   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_h)
38679   return kernel_h_;
38680 }
38681 void PoolingParameter::set_kernel_h(::google::protobuf::uint32 value) {
38682   set_has_kernel_h();
38683   kernel_h_ = value;
38684   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_h)
38685 }
38686
38687 // optional uint32 kernel_w = 6;
38688 bool PoolingParameter::has_kernel_w() const {
38689   return (_has_bits_[0] & 0x00000040u) != 0;
38690 }
38691 void PoolingParameter::set_has_kernel_w() {
38692   _has_bits_[0] |= 0x00000040u;
38693 }
38694 void PoolingParameter::clear_has_kernel_w() {
38695   _has_bits_[0] &= ~0x00000040u;
38696 }
38697 void PoolingParameter::clear_kernel_w() {
38698   kernel_w_ = 0u;
38699   clear_has_kernel_w();
38700 }
38701 ::google::protobuf::uint32 PoolingParameter::kernel_w() const {
38702   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_w)
38703   return kernel_w_;
38704 }
38705 void PoolingParameter::set_kernel_w(::google::protobuf::uint32 value) {
38706   set_has_kernel_w();
38707   kernel_w_ = value;
38708   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_w)
38709 }
38710
38711 // optional uint32 stride = 3 [default = 1];
38712 bool PoolingParameter::has_stride() const {
38713   return (_has_bits_[0] & 0x00000080u) != 0;
38714 }
38715 void PoolingParameter::set_has_stride() {
38716   _has_bits_[0] |= 0x00000080u;
38717 }
38718 void PoolingParameter::clear_has_stride() {
38719   _has_bits_[0] &= ~0x00000080u;
38720 }
38721 void PoolingParameter::clear_stride() {
38722   stride_ = 1u;
38723   clear_has_stride();
38724 }
38725 ::google::protobuf::uint32 PoolingParameter::stride() const {
38726   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride)
38727   return stride_;
38728 }
38729 void PoolingParameter::set_stride(::google::protobuf::uint32 value) {
38730   set_has_stride();
38731   stride_ = value;
38732   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride)
38733 }
38734
38735 // optional uint32 stride_h = 7;
38736 bool PoolingParameter::has_stride_h() const {
38737   return (_has_bits_[0] & 0x00000100u) != 0;
38738 }
38739 void PoolingParameter::set_has_stride_h() {
38740   _has_bits_[0] |= 0x00000100u;
38741 }
38742 void PoolingParameter::clear_has_stride_h() {
38743   _has_bits_[0] &= ~0x00000100u;
38744 }
38745 void PoolingParameter::clear_stride_h() {
38746   stride_h_ = 0u;
38747   clear_has_stride_h();
38748 }
38749 ::google::protobuf::uint32 PoolingParameter::stride_h() const {
38750   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_h)
38751   return stride_h_;
38752 }
38753 void PoolingParameter::set_stride_h(::google::protobuf::uint32 value) {
38754   set_has_stride_h();
38755   stride_h_ = value;
38756   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_h)
38757 }
38758
38759 // optional uint32 stride_w = 8;
38760 bool PoolingParameter::has_stride_w() const {
38761   return (_has_bits_[0] & 0x00000200u) != 0;
38762 }
38763 void PoolingParameter::set_has_stride_w() {
38764   _has_bits_[0] |= 0x00000200u;
38765 }
38766 void PoolingParameter::clear_has_stride_w() {
38767   _has_bits_[0] &= ~0x00000200u;
38768 }
38769 void PoolingParameter::clear_stride_w() {
38770   stride_w_ = 0u;
38771   clear_has_stride_w();
38772 }
38773 ::google::protobuf::uint32 PoolingParameter::stride_w() const {
38774   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_w)
38775   return stride_w_;
38776 }
38777 void PoolingParameter::set_stride_w(::google::protobuf::uint32 value) {
38778   set_has_stride_w();
38779   stride_w_ = value;
38780   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_w)
38781 }
38782
38783 // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
38784 bool PoolingParameter::has_engine() const {
38785   return (_has_bits_[0] & 0x00000400u) != 0;
38786 }
38787 void PoolingParameter::set_has_engine() {
38788   _has_bits_[0] |= 0x00000400u;
38789 }
38790 void PoolingParameter::clear_has_engine() {
38791   _has_bits_[0] &= ~0x00000400u;
38792 }
38793 void PoolingParameter::clear_engine() {
38794   engine_ = 0;
38795   clear_has_engine();
38796 }
38797 ::opencv_caffe::PoolingParameter_Engine PoolingParameter::engine() const {
38798   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.engine)
38799   return static_cast< ::opencv_caffe::PoolingParameter_Engine >(engine_);
38800 }
38801 void PoolingParameter::set_engine(::opencv_caffe::PoolingParameter_Engine value) {
38802   assert(::opencv_caffe::PoolingParameter_Engine_IsValid(value));
38803   set_has_engine();
38804   engine_ = value;
38805   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.engine)
38806 }
38807
38808 // optional bool global_pooling = 12 [default = false];
38809 bool PoolingParameter::has_global_pooling() const {
38810   return (_has_bits_[0] & 0x00000800u) != 0;
38811 }
38812 void PoolingParameter::set_has_global_pooling() {
38813   _has_bits_[0] |= 0x00000800u;
38814 }
38815 void PoolingParameter::clear_has_global_pooling() {
38816   _has_bits_[0] &= ~0x00000800u;
38817 }
38818 void PoolingParameter::clear_global_pooling() {
38819   global_pooling_ = false;
38820   clear_has_global_pooling();
38821 }
38822 bool PoolingParameter::global_pooling() const {
38823   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.global_pooling)
38824   return global_pooling_;
38825 }
38826 void PoolingParameter::set_global_pooling(bool value) {
38827   set_has_global_pooling();
38828   global_pooling_ = value;
38829   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.global_pooling)
38830 }
38831
38832 // optional bool ceil_mode = 13 [default = true];
38833 bool PoolingParameter::has_ceil_mode() const {
38834   return (_has_bits_[0] & 0x00001000u) != 0;
38835 }
38836 void PoolingParameter::set_has_ceil_mode() {
38837   _has_bits_[0] |= 0x00001000u;
38838 }
38839 void PoolingParameter::clear_has_ceil_mode() {
38840   _has_bits_[0] &= ~0x00001000u;
38841 }
38842 void PoolingParameter::clear_ceil_mode() {
38843   ceil_mode_ = true;
38844   clear_has_ceil_mode();
38845 }
38846 bool PoolingParameter::ceil_mode() const {
38847   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.ceil_mode)
38848   return ceil_mode_;
38849 }
38850 void PoolingParameter::set_ceil_mode(bool value) {
38851   set_has_ceil_mode();
38852   ceil_mode_ = value;
38853   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.ceil_mode)
38854 }
38855
38856 inline const PoolingParameter* PoolingParameter::internal_default_instance() {
38857   return &PoolingParameter_default_instance_.get();
38858 }
38859 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
38860
38861 // ===================================================================
38862
38863 #if !defined(_MSC_VER) || _MSC_VER >= 1900
38864 const int PowerParameter::kPowerFieldNumber;
38865 const int PowerParameter::kScaleFieldNumber;
38866 const int PowerParameter::kShiftFieldNumber;
38867 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
38868
38869 PowerParameter::PowerParameter()
38870   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
38871   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
38872   SharedCtor();
38873   // @@protoc_insertion_point(constructor:opencv_caffe.PowerParameter)
38874 }
38875
38876 void PowerParameter::InitAsDefaultInstance() {
38877 }
38878
38879 PowerParameter::PowerParameter(const PowerParameter& from)
38880   : ::google::protobuf::Message(),
38881     _internal_metadata_(NULL) {
38882   SharedCtor();
38883   UnsafeMergeFrom(from);
38884   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PowerParameter)
38885 }
38886
38887 void PowerParameter::SharedCtor() {
38888   _cached_size_ = 0;
38889   shift_ = 0;
38890   power_ = 1;
38891   scale_ = 1;
38892 }
38893
38894 PowerParameter::~PowerParameter() {
38895   // @@protoc_insertion_point(destructor:opencv_caffe.PowerParameter)
38896   SharedDtor();
38897 }
38898
38899 void PowerParameter::SharedDtor() {
38900 }
38901
38902 void PowerParameter::SetCachedSize(int size) const {
38903   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
38904   _cached_size_ = size;
38905   GOOGLE_SAFE_CONCURRENT_WRITES_END();
38906 }
38907 const ::google::protobuf::Descriptor* PowerParameter::descriptor() {
38908   protobuf_AssignDescriptorsOnce();
38909   return PowerParameter_descriptor_;
38910 }
38911
38912 const PowerParameter& PowerParameter::default_instance() {
38913   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
38914   return *internal_default_instance();
38915 }
38916
38917 ::google::protobuf::internal::ExplicitlyConstructed<PowerParameter> PowerParameter_default_instance_;
38918
38919 PowerParameter* PowerParameter::New(::google::protobuf::Arena* arena) const {
38920   PowerParameter* n = new PowerParameter;
38921   if (arena != NULL) {
38922     arena->Own(n);
38923   }
38924   return n;
38925 }
38926
38927 void PowerParameter::Clear() {
38928 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PowerParameter)
38929   if (_has_bits_[0 / 32] & 7u) {
38930     power_ = 1;
38931     scale_ = 1;
38932     shift_ = 0;
38933   }
38934   _has_bits_.Clear();
38935   if (_internal_metadata_.have_unknown_fields()) {
38936     mutable_unknown_fields()->Clear();
38937   }
38938 }
38939
38940 bool PowerParameter::MergePartialFromCodedStream(
38941     ::google::protobuf::io::CodedInputStream* input) {
38942 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
38943   ::google::protobuf::uint32 tag;
38944   // @@protoc_insertion_point(parse_start:opencv_caffe.PowerParameter)
38945   for (;;) {
38946     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
38947     tag = p.first;
38948     if (!p.second) goto handle_unusual;
38949     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
38950       // optional float power = 1 [default = 1];
38951       case 1: {
38952         if (tag == 13) {
38953           set_has_power();
38954           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38955                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
38956                  input, &power_)));
38957         } else {
38958           goto handle_unusual;
38959         }
38960         if (input->ExpectTag(21)) goto parse_scale;
38961         break;
38962       }
38963
38964       // optional float scale = 2 [default = 1];
38965       case 2: {
38966         if (tag == 21) {
38967          parse_scale:
38968           set_has_scale();
38969           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38970                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
38971                  input, &scale_)));
38972         } else {
38973           goto handle_unusual;
38974         }
38975         if (input->ExpectTag(29)) goto parse_shift;
38976         break;
38977       }
38978
38979       // optional float shift = 3 [default = 0];
38980       case 3: {
38981         if (tag == 29) {
38982          parse_shift:
38983           set_has_shift();
38984           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
38985                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
38986                  input, &shift_)));
38987         } else {
38988           goto handle_unusual;
38989         }
38990         if (input->ExpectAtEnd()) goto success;
38991         break;
38992       }
38993
38994       default: {
38995       handle_unusual:
38996         if (tag == 0 ||
38997             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
38998             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
38999           goto success;
39000         }
39001         DO_(::google::protobuf::internal::WireFormat::SkipField(
39002               input, tag, mutable_unknown_fields()));
39003         break;
39004       }
39005     }
39006   }
39007 success:
39008   // @@protoc_insertion_point(parse_success:opencv_caffe.PowerParameter)
39009   return true;
39010 failure:
39011   // @@protoc_insertion_point(parse_failure:opencv_caffe.PowerParameter)
39012   return false;
39013 #undef DO_
39014 }
39015
39016 void PowerParameter::SerializeWithCachedSizes(
39017     ::google::protobuf::io::CodedOutputStream* output) const {
39018   // @@protoc_insertion_point(serialize_start:opencv_caffe.PowerParameter)
39019   // optional float power = 1 [default = 1];
39020   if (has_power()) {
39021     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->power(), output);
39022   }
39023
39024   // optional float scale = 2 [default = 1];
39025   if (has_scale()) {
39026     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
39027   }
39028
39029   // optional float shift = 3 [default = 0];
39030   if (has_shift()) {
39031     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->shift(), output);
39032   }
39033
39034   if (_internal_metadata_.have_unknown_fields()) {
39035     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
39036         unknown_fields(), output);
39037   }
39038   // @@protoc_insertion_point(serialize_end:opencv_caffe.PowerParameter)
39039 }
39040
39041 ::google::protobuf::uint8* PowerParameter::InternalSerializeWithCachedSizesToArray(
39042     bool deterministic, ::google::protobuf::uint8* target) const {
39043   (void)deterministic; // Unused
39044   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PowerParameter)
39045   // optional float power = 1 [default = 1];
39046   if (has_power()) {
39047     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->power(), target);
39048   }
39049
39050   // optional float scale = 2 [default = 1];
39051   if (has_scale()) {
39052     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
39053   }
39054
39055   // optional float shift = 3 [default = 0];
39056   if (has_shift()) {
39057     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->shift(), target);
39058   }
39059
39060   if (_internal_metadata_.have_unknown_fields()) {
39061     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
39062         unknown_fields(), target);
39063   }
39064   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PowerParameter)
39065   return target;
39066 }
39067
39068 size_t PowerParameter::ByteSizeLong() const {
39069 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PowerParameter)
39070   size_t total_size = 0;
39071
39072   if (_has_bits_[0 / 32] & 7u) {
39073     // optional float power = 1 [default = 1];
39074     if (has_power()) {
39075       total_size += 1 + 4;
39076     }
39077
39078     // optional float scale = 2 [default = 1];
39079     if (has_scale()) {
39080       total_size += 1 + 4;
39081     }
39082
39083     // optional float shift = 3 [default = 0];
39084     if (has_shift()) {
39085       total_size += 1 + 4;
39086     }
39087
39088   }
39089   if (_internal_metadata_.have_unknown_fields()) {
39090     total_size +=
39091       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
39092         unknown_fields());
39093   }
39094   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
39095   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39096   _cached_size_ = cached_size;
39097   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39098   return total_size;
39099 }
39100
39101 void PowerParameter::MergeFrom(const ::google::protobuf::Message& from) {
39102 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PowerParameter)
39103   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
39104   const PowerParameter* source =
39105       ::google::protobuf::internal::DynamicCastToGenerated<const PowerParameter>(
39106           &from);
39107   if (source == NULL) {
39108   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PowerParameter)
39109     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
39110   } else {
39111   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PowerParameter)
39112     UnsafeMergeFrom(*source);
39113   }
39114 }
39115
39116 void PowerParameter::MergeFrom(const PowerParameter& from) {
39117 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PowerParameter)
39118   if (GOOGLE_PREDICT_TRUE(&from != this)) {
39119     UnsafeMergeFrom(from);
39120   } else {
39121     MergeFromFail(__LINE__);
39122   }
39123 }
39124
39125 void PowerParameter::UnsafeMergeFrom(const PowerParameter& from) {
39126   GOOGLE_DCHECK(&from != this);
39127   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
39128     if (from.has_power()) {
39129       set_power(from.power());
39130     }
39131     if (from.has_scale()) {
39132       set_scale(from.scale());
39133     }
39134     if (from.has_shift()) {
39135       set_shift(from.shift());
39136     }
39137   }
39138   if (from._internal_metadata_.have_unknown_fields()) {
39139     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
39140       from.unknown_fields(), &_internal_metadata_);
39141   }
39142 }
39143
39144 void PowerParameter::CopyFrom(const ::google::protobuf::Message& from) {
39145 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PowerParameter)
39146   if (&from == this) return;
39147   Clear();
39148   MergeFrom(from);
39149 }
39150
39151 void PowerParameter::CopyFrom(const PowerParameter& from) {
39152 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PowerParameter)
39153   if (&from == this) return;
39154   Clear();
39155   UnsafeMergeFrom(from);
39156 }
39157
39158 bool PowerParameter::IsInitialized() const {
39159
39160   return true;
39161 }
39162
39163 void PowerParameter::Swap(PowerParameter* other) {
39164   if (other == this) return;
39165   InternalSwap(other);
39166 }
39167 void PowerParameter::InternalSwap(PowerParameter* other) {
39168   std::swap(power_, other->power_);
39169   std::swap(scale_, other->scale_);
39170   std::swap(shift_, other->shift_);
39171   std::swap(_has_bits_[0], other->_has_bits_[0]);
39172   _internal_metadata_.Swap(&other->_internal_metadata_);
39173   std::swap(_cached_size_, other->_cached_size_);
39174 }
39175
39176 ::google::protobuf::Metadata PowerParameter::GetMetadata() const {
39177   protobuf_AssignDescriptorsOnce();
39178   ::google::protobuf::Metadata metadata;
39179   metadata.descriptor = PowerParameter_descriptor_;
39180   metadata.reflection = PowerParameter_reflection_;
39181   return metadata;
39182 }
39183
39184 #if PROTOBUF_INLINE_NOT_IN_HEADERS
39185 // PowerParameter
39186
39187 // optional float power = 1 [default = 1];
39188 bool PowerParameter::has_power() const {
39189   return (_has_bits_[0] & 0x00000001u) != 0;
39190 }
39191 void PowerParameter::set_has_power() {
39192   _has_bits_[0] |= 0x00000001u;
39193 }
39194 void PowerParameter::clear_has_power() {
39195   _has_bits_[0] &= ~0x00000001u;
39196 }
39197 void PowerParameter::clear_power() {
39198   power_ = 1;
39199   clear_has_power();
39200 }
39201 float PowerParameter::power() const {
39202   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.power)
39203   return power_;
39204 }
39205 void PowerParameter::set_power(float value) {
39206   set_has_power();
39207   power_ = value;
39208   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.power)
39209 }
39210
39211 // optional float scale = 2 [default = 1];
39212 bool PowerParameter::has_scale() const {
39213   return (_has_bits_[0] & 0x00000002u) != 0;
39214 }
39215 void PowerParameter::set_has_scale() {
39216   _has_bits_[0] |= 0x00000002u;
39217 }
39218 void PowerParameter::clear_has_scale() {
39219   _has_bits_[0] &= ~0x00000002u;
39220 }
39221 void PowerParameter::clear_scale() {
39222   scale_ = 1;
39223   clear_has_scale();
39224 }
39225 float PowerParameter::scale() const {
39226   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.scale)
39227   return scale_;
39228 }
39229 void PowerParameter::set_scale(float value) {
39230   set_has_scale();
39231   scale_ = value;
39232   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.scale)
39233 }
39234
39235 // optional float shift = 3 [default = 0];
39236 bool PowerParameter::has_shift() const {
39237   return (_has_bits_[0] & 0x00000004u) != 0;
39238 }
39239 void PowerParameter::set_has_shift() {
39240   _has_bits_[0] |= 0x00000004u;
39241 }
39242 void PowerParameter::clear_has_shift() {
39243   _has_bits_[0] &= ~0x00000004u;
39244 }
39245 void PowerParameter::clear_shift() {
39246   shift_ = 0;
39247   clear_has_shift();
39248 }
39249 float PowerParameter::shift() const {
39250   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.shift)
39251   return shift_;
39252 }
39253 void PowerParameter::set_shift(float value) {
39254   set_has_shift();
39255   shift_ = value;
39256   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.shift)
39257 }
39258
39259 inline const PowerParameter* PowerParameter::internal_default_instance() {
39260   return &PowerParameter_default_instance_.get();
39261 }
39262 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
39263
39264 // ===================================================================
39265
39266 #if !defined(_MSC_VER) || _MSC_VER >= 1900
39267 const int PythonParameter::kModuleFieldNumber;
39268 const int PythonParameter::kLayerFieldNumber;
39269 const int PythonParameter::kParamStrFieldNumber;
39270 const int PythonParameter::kShareInParallelFieldNumber;
39271 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
39272
39273 PythonParameter::PythonParameter()
39274   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
39275   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39276   SharedCtor();
39277   // @@protoc_insertion_point(constructor:opencv_caffe.PythonParameter)
39278 }
39279
39280 void PythonParameter::InitAsDefaultInstance() {
39281 }
39282
39283 PythonParameter::PythonParameter(const PythonParameter& from)
39284   : ::google::protobuf::Message(),
39285     _internal_metadata_(NULL) {
39286   SharedCtor();
39287   UnsafeMergeFrom(from);
39288   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PythonParameter)
39289 }
39290
39291 void PythonParameter::SharedCtor() {
39292   _cached_size_ = 0;
39293   module_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39294   layer_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39295   param_str_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39296   share_in_parallel_ = false;
39297 }
39298
39299 PythonParameter::~PythonParameter() {
39300   // @@protoc_insertion_point(destructor:opencv_caffe.PythonParameter)
39301   SharedDtor();
39302 }
39303
39304 void PythonParameter::SharedDtor() {
39305   module_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39306   layer_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39307   param_str_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39308 }
39309
39310 void PythonParameter::SetCachedSize(int size) const {
39311   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39312   _cached_size_ = size;
39313   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39314 }
39315 const ::google::protobuf::Descriptor* PythonParameter::descriptor() {
39316   protobuf_AssignDescriptorsOnce();
39317   return PythonParameter_descriptor_;
39318 }
39319
39320 const PythonParameter& PythonParameter::default_instance() {
39321   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39322   return *internal_default_instance();
39323 }
39324
39325 ::google::protobuf::internal::ExplicitlyConstructed<PythonParameter> PythonParameter_default_instance_;
39326
39327 PythonParameter* PythonParameter::New(::google::protobuf::Arena* arena) const {
39328   PythonParameter* n = new PythonParameter;
39329   if (arena != NULL) {
39330     arena->Own(n);
39331   }
39332   return n;
39333 }
39334
39335 void PythonParameter::Clear() {
39336 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PythonParameter)
39337   if (_has_bits_[0 / 32] & 15u) {
39338     if (has_module()) {
39339       module_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39340     }
39341     if (has_layer()) {
39342       layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39343     }
39344     if (has_param_str()) {
39345       param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39346     }
39347     share_in_parallel_ = false;
39348   }
39349   _has_bits_.Clear();
39350   if (_internal_metadata_.have_unknown_fields()) {
39351     mutable_unknown_fields()->Clear();
39352   }
39353 }
39354
39355 bool PythonParameter::MergePartialFromCodedStream(
39356     ::google::protobuf::io::CodedInputStream* input) {
39357 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
39358   ::google::protobuf::uint32 tag;
39359   // @@protoc_insertion_point(parse_start:opencv_caffe.PythonParameter)
39360   for (;;) {
39361     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
39362     tag = p.first;
39363     if (!p.second) goto handle_unusual;
39364     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
39365       // optional string module = 1;
39366       case 1: {
39367         if (tag == 10) {
39368           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
39369                 input, this->mutable_module()));
39370           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39371             this->module().data(), this->module().length(),
39372             ::google::protobuf::internal::WireFormat::PARSE,
39373             "opencv_caffe.PythonParameter.module");
39374         } else {
39375           goto handle_unusual;
39376         }
39377         if (input->ExpectTag(18)) goto parse_layer;
39378         break;
39379       }
39380
39381       // optional string layer = 2;
39382       case 2: {
39383         if (tag == 18) {
39384          parse_layer:
39385           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
39386                 input, this->mutable_layer()));
39387           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39388             this->layer().data(), this->layer().length(),
39389             ::google::protobuf::internal::WireFormat::PARSE,
39390             "opencv_caffe.PythonParameter.layer");
39391         } else {
39392           goto handle_unusual;
39393         }
39394         if (input->ExpectTag(26)) goto parse_param_str;
39395         break;
39396       }
39397
39398       // optional string param_str = 3 [default = ""];
39399       case 3: {
39400         if (tag == 26) {
39401          parse_param_str:
39402           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
39403                 input, this->mutable_param_str()));
39404           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39405             this->param_str().data(), this->param_str().length(),
39406             ::google::protobuf::internal::WireFormat::PARSE,
39407             "opencv_caffe.PythonParameter.param_str");
39408         } else {
39409           goto handle_unusual;
39410         }
39411         if (input->ExpectTag(32)) goto parse_share_in_parallel;
39412         break;
39413       }
39414
39415       // optional bool share_in_parallel = 4 [default = false];
39416       case 4: {
39417         if (tag == 32) {
39418          parse_share_in_parallel:
39419           set_has_share_in_parallel();
39420           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
39421                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
39422                  input, &share_in_parallel_)));
39423         } else {
39424           goto handle_unusual;
39425         }
39426         if (input->ExpectAtEnd()) goto success;
39427         break;
39428       }
39429
39430       default: {
39431       handle_unusual:
39432         if (tag == 0 ||
39433             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
39434             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
39435           goto success;
39436         }
39437         DO_(::google::protobuf::internal::WireFormat::SkipField(
39438               input, tag, mutable_unknown_fields()));
39439         break;
39440       }
39441     }
39442   }
39443 success:
39444   // @@protoc_insertion_point(parse_success:opencv_caffe.PythonParameter)
39445   return true;
39446 failure:
39447   // @@protoc_insertion_point(parse_failure:opencv_caffe.PythonParameter)
39448   return false;
39449 #undef DO_
39450 }
39451
39452 void PythonParameter::SerializeWithCachedSizes(
39453     ::google::protobuf::io::CodedOutputStream* output) const {
39454   // @@protoc_insertion_point(serialize_start:opencv_caffe.PythonParameter)
39455   // optional string module = 1;
39456   if (has_module()) {
39457     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39458       this->module().data(), this->module().length(),
39459       ::google::protobuf::internal::WireFormat::SERIALIZE,
39460       "opencv_caffe.PythonParameter.module");
39461     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
39462       1, this->module(), output);
39463   }
39464
39465   // optional string layer = 2;
39466   if (has_layer()) {
39467     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39468       this->layer().data(), this->layer().length(),
39469       ::google::protobuf::internal::WireFormat::SERIALIZE,
39470       "opencv_caffe.PythonParameter.layer");
39471     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
39472       2, this->layer(), output);
39473   }
39474
39475   // optional string param_str = 3 [default = ""];
39476   if (has_param_str()) {
39477     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39478       this->param_str().data(), this->param_str().length(),
39479       ::google::protobuf::internal::WireFormat::SERIALIZE,
39480       "opencv_caffe.PythonParameter.param_str");
39481     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
39482       3, this->param_str(), output);
39483   }
39484
39485   // optional bool share_in_parallel = 4 [default = false];
39486   if (has_share_in_parallel()) {
39487     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->share_in_parallel(), output);
39488   }
39489
39490   if (_internal_metadata_.have_unknown_fields()) {
39491     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
39492         unknown_fields(), output);
39493   }
39494   // @@protoc_insertion_point(serialize_end:opencv_caffe.PythonParameter)
39495 }
39496
39497 ::google::protobuf::uint8* PythonParameter::InternalSerializeWithCachedSizesToArray(
39498     bool deterministic, ::google::protobuf::uint8* target) const {
39499   (void)deterministic; // Unused
39500   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PythonParameter)
39501   // optional string module = 1;
39502   if (has_module()) {
39503     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39504       this->module().data(), this->module().length(),
39505       ::google::protobuf::internal::WireFormat::SERIALIZE,
39506       "opencv_caffe.PythonParameter.module");
39507     target =
39508       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
39509         1, this->module(), target);
39510   }
39511
39512   // optional string layer = 2;
39513   if (has_layer()) {
39514     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39515       this->layer().data(), this->layer().length(),
39516       ::google::protobuf::internal::WireFormat::SERIALIZE,
39517       "opencv_caffe.PythonParameter.layer");
39518     target =
39519       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
39520         2, this->layer(), target);
39521   }
39522
39523   // optional string param_str = 3 [default = ""];
39524   if (has_param_str()) {
39525     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
39526       this->param_str().data(), this->param_str().length(),
39527       ::google::protobuf::internal::WireFormat::SERIALIZE,
39528       "opencv_caffe.PythonParameter.param_str");
39529     target =
39530       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
39531         3, this->param_str(), target);
39532   }
39533
39534   // optional bool share_in_parallel = 4 [default = false];
39535   if (has_share_in_parallel()) {
39536     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->share_in_parallel(), target);
39537   }
39538
39539   if (_internal_metadata_.have_unknown_fields()) {
39540     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
39541         unknown_fields(), target);
39542   }
39543   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PythonParameter)
39544   return target;
39545 }
39546
39547 size_t PythonParameter::ByteSizeLong() const {
39548 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PythonParameter)
39549   size_t total_size = 0;
39550
39551   if (_has_bits_[0 / 32] & 15u) {
39552     // optional string module = 1;
39553     if (has_module()) {
39554       total_size += 1 +
39555         ::google::protobuf::internal::WireFormatLite::StringSize(
39556           this->module());
39557     }
39558
39559     // optional string layer = 2;
39560     if (has_layer()) {
39561       total_size += 1 +
39562         ::google::protobuf::internal::WireFormatLite::StringSize(
39563           this->layer());
39564     }
39565
39566     // optional string param_str = 3 [default = ""];
39567     if (has_param_str()) {
39568       total_size += 1 +
39569         ::google::protobuf::internal::WireFormatLite::StringSize(
39570           this->param_str());
39571     }
39572
39573     // optional bool share_in_parallel = 4 [default = false];
39574     if (has_share_in_parallel()) {
39575       total_size += 1 + 1;
39576     }
39577
39578   }
39579   if (_internal_metadata_.have_unknown_fields()) {
39580     total_size +=
39581       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
39582         unknown_fields());
39583   }
39584   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
39585   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39586   _cached_size_ = cached_size;
39587   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39588   return total_size;
39589 }
39590
39591 void PythonParameter::MergeFrom(const ::google::protobuf::Message& from) {
39592 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PythonParameter)
39593   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
39594   const PythonParameter* source =
39595       ::google::protobuf::internal::DynamicCastToGenerated<const PythonParameter>(
39596           &from);
39597   if (source == NULL) {
39598   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PythonParameter)
39599     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
39600   } else {
39601   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PythonParameter)
39602     UnsafeMergeFrom(*source);
39603   }
39604 }
39605
39606 void PythonParameter::MergeFrom(const PythonParameter& from) {
39607 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PythonParameter)
39608   if (GOOGLE_PREDICT_TRUE(&from != this)) {
39609     UnsafeMergeFrom(from);
39610   } else {
39611     MergeFromFail(__LINE__);
39612   }
39613 }
39614
39615 void PythonParameter::UnsafeMergeFrom(const PythonParameter& from) {
39616   GOOGLE_DCHECK(&from != this);
39617   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
39618     if (from.has_module()) {
39619       set_has_module();
39620       module_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.module_);
39621     }
39622     if (from.has_layer()) {
39623       set_has_layer();
39624       layer_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.layer_);
39625     }
39626     if (from.has_param_str()) {
39627       set_has_param_str();
39628       param_str_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.param_str_);
39629     }
39630     if (from.has_share_in_parallel()) {
39631       set_share_in_parallel(from.share_in_parallel());
39632     }
39633   }
39634   if (from._internal_metadata_.have_unknown_fields()) {
39635     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
39636       from.unknown_fields(), &_internal_metadata_);
39637   }
39638 }
39639
39640 void PythonParameter::CopyFrom(const ::google::protobuf::Message& from) {
39641 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PythonParameter)
39642   if (&from == this) return;
39643   Clear();
39644   MergeFrom(from);
39645 }
39646
39647 void PythonParameter::CopyFrom(const PythonParameter& from) {
39648 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PythonParameter)
39649   if (&from == this) return;
39650   Clear();
39651   UnsafeMergeFrom(from);
39652 }
39653
39654 bool PythonParameter::IsInitialized() const {
39655
39656   return true;
39657 }
39658
39659 void PythonParameter::Swap(PythonParameter* other) {
39660   if (other == this) return;
39661   InternalSwap(other);
39662 }
39663 void PythonParameter::InternalSwap(PythonParameter* other) {
39664   module_.Swap(&other->module_);
39665   layer_.Swap(&other->layer_);
39666   param_str_.Swap(&other->param_str_);
39667   std::swap(share_in_parallel_, other->share_in_parallel_);
39668   std::swap(_has_bits_[0], other->_has_bits_[0]);
39669   _internal_metadata_.Swap(&other->_internal_metadata_);
39670   std::swap(_cached_size_, other->_cached_size_);
39671 }
39672
39673 ::google::protobuf::Metadata PythonParameter::GetMetadata() const {
39674   protobuf_AssignDescriptorsOnce();
39675   ::google::protobuf::Metadata metadata;
39676   metadata.descriptor = PythonParameter_descriptor_;
39677   metadata.reflection = PythonParameter_reflection_;
39678   return metadata;
39679 }
39680
39681 #if PROTOBUF_INLINE_NOT_IN_HEADERS
39682 // PythonParameter
39683
39684 // optional string module = 1;
39685 bool PythonParameter::has_module() const {
39686   return (_has_bits_[0] & 0x00000001u) != 0;
39687 }
39688 void PythonParameter::set_has_module() {
39689   _has_bits_[0] |= 0x00000001u;
39690 }
39691 void PythonParameter::clear_has_module() {
39692   _has_bits_[0] &= ~0x00000001u;
39693 }
39694 void PythonParameter::clear_module() {
39695   module_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39696   clear_has_module();
39697 }
39698 const ::std::string& PythonParameter::module() const {
39699   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.module)
39700   return module_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39701 }
39702 void PythonParameter::set_module(const ::std::string& value) {
39703   set_has_module();
39704   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
39705   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.module)
39706 }
39707 void PythonParameter::set_module(const char* value) {
39708   set_has_module();
39709   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
39710   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.module)
39711 }
39712 void PythonParameter::set_module(const char* value, size_t size) {
39713   set_has_module();
39714   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
39715       ::std::string(reinterpret_cast<const char*>(value), size));
39716   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.module)
39717 }
39718 ::std::string* PythonParameter::mutable_module() {
39719   set_has_module();
39720   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.module)
39721   return module_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39722 }
39723 ::std::string* PythonParameter::release_module() {
39724   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.module)
39725   clear_has_module();
39726   return module_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39727 }
39728 void PythonParameter::set_allocated_module(::std::string* module) {
39729   if (module != NULL) {
39730     set_has_module();
39731   } else {
39732     clear_has_module();
39733   }
39734   module_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), module);
39735   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.module)
39736 }
39737
39738 // optional string layer = 2;
39739 bool PythonParameter::has_layer() const {
39740   return (_has_bits_[0] & 0x00000002u) != 0;
39741 }
39742 void PythonParameter::set_has_layer() {
39743   _has_bits_[0] |= 0x00000002u;
39744 }
39745 void PythonParameter::clear_has_layer() {
39746   _has_bits_[0] &= ~0x00000002u;
39747 }
39748 void PythonParameter::clear_layer() {
39749   layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39750   clear_has_layer();
39751 }
39752 const ::std::string& PythonParameter::layer() const {
39753   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.layer)
39754   return layer_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39755 }
39756 void PythonParameter::set_layer(const ::std::string& value) {
39757   set_has_layer();
39758   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
39759   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.layer)
39760 }
39761 void PythonParameter::set_layer(const char* value) {
39762   set_has_layer();
39763   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
39764   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.layer)
39765 }
39766 void PythonParameter::set_layer(const char* value, size_t size) {
39767   set_has_layer();
39768   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
39769       ::std::string(reinterpret_cast<const char*>(value), size));
39770   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.layer)
39771 }
39772 ::std::string* PythonParameter::mutable_layer() {
39773   set_has_layer();
39774   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.layer)
39775   return layer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39776 }
39777 ::std::string* PythonParameter::release_layer() {
39778   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.layer)
39779   clear_has_layer();
39780   return layer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39781 }
39782 void PythonParameter::set_allocated_layer(::std::string* layer) {
39783   if (layer != NULL) {
39784     set_has_layer();
39785   } else {
39786     clear_has_layer();
39787   }
39788   layer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), layer);
39789   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.layer)
39790 }
39791
39792 // optional string param_str = 3 [default = ""];
39793 bool PythonParameter::has_param_str() const {
39794   return (_has_bits_[0] & 0x00000004u) != 0;
39795 }
39796 void PythonParameter::set_has_param_str() {
39797   _has_bits_[0] |= 0x00000004u;
39798 }
39799 void PythonParameter::clear_has_param_str() {
39800   _has_bits_[0] &= ~0x00000004u;
39801 }
39802 void PythonParameter::clear_param_str() {
39803   param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39804   clear_has_param_str();
39805 }
39806 const ::std::string& PythonParameter::param_str() const {
39807   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.param_str)
39808   return param_str_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39809 }
39810 void PythonParameter::set_param_str(const ::std::string& value) {
39811   set_has_param_str();
39812   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
39813   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.param_str)
39814 }
39815 void PythonParameter::set_param_str(const char* value) {
39816   set_has_param_str();
39817   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
39818   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.param_str)
39819 }
39820 void PythonParameter::set_param_str(const char* value, size_t size) {
39821   set_has_param_str();
39822   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
39823       ::std::string(reinterpret_cast<const char*>(value), size));
39824   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.param_str)
39825 }
39826 ::std::string* PythonParameter::mutable_param_str() {
39827   set_has_param_str();
39828   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.param_str)
39829   return param_str_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39830 }
39831 ::std::string* PythonParameter::release_param_str() {
39832   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.param_str)
39833   clear_has_param_str();
39834   return param_str_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
39835 }
39836 void PythonParameter::set_allocated_param_str(::std::string* param_str) {
39837   if (param_str != NULL) {
39838     set_has_param_str();
39839   } else {
39840     clear_has_param_str();
39841   }
39842   param_str_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), param_str);
39843   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.param_str)
39844 }
39845
39846 // optional bool share_in_parallel = 4 [default = false];
39847 bool PythonParameter::has_share_in_parallel() const {
39848   return (_has_bits_[0] & 0x00000008u) != 0;
39849 }
39850 void PythonParameter::set_has_share_in_parallel() {
39851   _has_bits_[0] |= 0x00000008u;
39852 }
39853 void PythonParameter::clear_has_share_in_parallel() {
39854   _has_bits_[0] &= ~0x00000008u;
39855 }
39856 void PythonParameter::clear_share_in_parallel() {
39857   share_in_parallel_ = false;
39858   clear_has_share_in_parallel();
39859 }
39860 bool PythonParameter::share_in_parallel() const {
39861   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.share_in_parallel)
39862   return share_in_parallel_;
39863 }
39864 void PythonParameter::set_share_in_parallel(bool value) {
39865   set_has_share_in_parallel();
39866   share_in_parallel_ = value;
39867   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.share_in_parallel)
39868 }
39869
39870 inline const PythonParameter* PythonParameter::internal_default_instance() {
39871   return &PythonParameter_default_instance_.get();
39872 }
39873 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
39874
39875 // ===================================================================
39876
39877 #if !defined(_MSC_VER) || _MSC_VER >= 1900
39878 const int RecurrentParameter::kNumOutputFieldNumber;
39879 const int RecurrentParameter::kWeightFillerFieldNumber;
39880 const int RecurrentParameter::kBiasFillerFieldNumber;
39881 const int RecurrentParameter::kDebugInfoFieldNumber;
39882 const int RecurrentParameter::kExposeHiddenFieldNumber;
39883 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
39884
39885 RecurrentParameter::RecurrentParameter()
39886   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
39887   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39888   SharedCtor();
39889   // @@protoc_insertion_point(constructor:opencv_caffe.RecurrentParameter)
39890 }
39891
39892 void RecurrentParameter::InitAsDefaultInstance() {
39893   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
39894       ::opencv_caffe::FillerParameter::internal_default_instance());
39895   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
39896       ::opencv_caffe::FillerParameter::internal_default_instance());
39897 }
39898
39899 RecurrentParameter::RecurrentParameter(const RecurrentParameter& from)
39900   : ::google::protobuf::Message(),
39901     _internal_metadata_(NULL) {
39902   SharedCtor();
39903   UnsafeMergeFrom(from);
39904   // @@protoc_insertion_point(copy_constructor:opencv_caffe.RecurrentParameter)
39905 }
39906
39907 void RecurrentParameter::SharedCtor() {
39908   _cached_size_ = 0;
39909   weight_filler_ = NULL;
39910   bias_filler_ = NULL;
39911   ::memset(&num_output_, 0, reinterpret_cast<char*>(&expose_hidden_) -
39912     reinterpret_cast<char*>(&num_output_) + sizeof(expose_hidden_));
39913 }
39914
39915 RecurrentParameter::~RecurrentParameter() {
39916   // @@protoc_insertion_point(destructor:opencv_caffe.RecurrentParameter)
39917   SharedDtor();
39918 }
39919
39920 void RecurrentParameter::SharedDtor() {
39921   if (this != &RecurrentParameter_default_instance_.get()) {
39922     delete weight_filler_;
39923     delete bias_filler_;
39924   }
39925 }
39926
39927 void RecurrentParameter::SetCachedSize(int size) const {
39928   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
39929   _cached_size_ = size;
39930   GOOGLE_SAFE_CONCURRENT_WRITES_END();
39931 }
39932 const ::google::protobuf::Descriptor* RecurrentParameter::descriptor() {
39933   protobuf_AssignDescriptorsOnce();
39934   return RecurrentParameter_descriptor_;
39935 }
39936
39937 const RecurrentParameter& RecurrentParameter::default_instance() {
39938   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
39939   return *internal_default_instance();
39940 }
39941
39942 ::google::protobuf::internal::ExplicitlyConstructed<RecurrentParameter> RecurrentParameter_default_instance_;
39943
39944 RecurrentParameter* RecurrentParameter::New(::google::protobuf::Arena* arena) const {
39945   RecurrentParameter* n = new RecurrentParameter;
39946   if (arena != NULL) {
39947     arena->Own(n);
39948   }
39949   return n;
39950 }
39951
39952 void RecurrentParameter::Clear() {
39953 // @@protoc_insertion_point(message_clear_start:opencv_caffe.RecurrentParameter)
39954 #if defined(__clang__)
39955 #define ZR_HELPER_(f) \
39956   _Pragma("clang diagnostic push") \
39957   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
39958   __builtin_offsetof(RecurrentParameter, f) \
39959   _Pragma("clang diagnostic pop")
39960 #else
39961 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
39962   &reinterpret_cast<RecurrentParameter*>(16)->f)
39963 #endif
39964
39965 #define ZR_(first, last) do {\
39966   ::memset(&(first), 0,\
39967            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
39968 } while (0)
39969
39970   if (_has_bits_[0 / 32] & 31u) {
39971     ZR_(num_output_, expose_hidden_);
39972     if (has_weight_filler()) {
39973       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
39974     }
39975     if (has_bias_filler()) {
39976       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
39977     }
39978   }
39979
39980 #undef ZR_HELPER_
39981 #undef ZR_
39982
39983   _has_bits_.Clear();
39984   if (_internal_metadata_.have_unknown_fields()) {
39985     mutable_unknown_fields()->Clear();
39986   }
39987 }
39988
39989 bool RecurrentParameter::MergePartialFromCodedStream(
39990     ::google::protobuf::io::CodedInputStream* input) {
39991 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
39992   ::google::protobuf::uint32 tag;
39993   // @@protoc_insertion_point(parse_start:opencv_caffe.RecurrentParameter)
39994   for (;;) {
39995     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
39996     tag = p.first;
39997     if (!p.second) goto handle_unusual;
39998     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
39999       // optional uint32 num_output = 1 [default = 0];
40000       case 1: {
40001         if (tag == 8) {
40002           set_has_num_output();
40003           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40004                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
40005                  input, &num_output_)));
40006         } else {
40007           goto handle_unusual;
40008         }
40009         if (input->ExpectTag(18)) goto parse_weight_filler;
40010         break;
40011       }
40012
40013       // optional .opencv_caffe.FillerParameter weight_filler = 2;
40014       case 2: {
40015         if (tag == 18) {
40016          parse_weight_filler:
40017           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
40018                input, mutable_weight_filler()));
40019         } else {
40020           goto handle_unusual;
40021         }
40022         if (input->ExpectTag(26)) goto parse_bias_filler;
40023         break;
40024       }
40025
40026       // optional .opencv_caffe.FillerParameter bias_filler = 3;
40027       case 3: {
40028         if (tag == 26) {
40029          parse_bias_filler:
40030           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
40031                input, mutable_bias_filler()));
40032         } else {
40033           goto handle_unusual;
40034         }
40035         if (input->ExpectTag(32)) goto parse_debug_info;
40036         break;
40037       }
40038
40039       // optional bool debug_info = 4 [default = false];
40040       case 4: {
40041         if (tag == 32) {
40042          parse_debug_info:
40043           set_has_debug_info();
40044           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40045                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
40046                  input, &debug_info_)));
40047         } else {
40048           goto handle_unusual;
40049         }
40050         if (input->ExpectTag(40)) goto parse_expose_hidden;
40051         break;
40052       }
40053
40054       // optional bool expose_hidden = 5 [default = false];
40055       case 5: {
40056         if (tag == 40) {
40057          parse_expose_hidden:
40058           set_has_expose_hidden();
40059           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40060                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
40061                  input, &expose_hidden_)));
40062         } else {
40063           goto handle_unusual;
40064         }
40065         if (input->ExpectAtEnd()) goto success;
40066         break;
40067       }
40068
40069       default: {
40070       handle_unusual:
40071         if (tag == 0 ||
40072             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
40073             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
40074           goto success;
40075         }
40076         DO_(::google::protobuf::internal::WireFormat::SkipField(
40077               input, tag, mutable_unknown_fields()));
40078         break;
40079       }
40080     }
40081   }
40082 success:
40083   // @@protoc_insertion_point(parse_success:opencv_caffe.RecurrentParameter)
40084   return true;
40085 failure:
40086   // @@protoc_insertion_point(parse_failure:opencv_caffe.RecurrentParameter)
40087   return false;
40088 #undef DO_
40089 }
40090
40091 void RecurrentParameter::SerializeWithCachedSizes(
40092     ::google::protobuf::io::CodedOutputStream* output) const {
40093   // @@protoc_insertion_point(serialize_start:opencv_caffe.RecurrentParameter)
40094   // optional uint32 num_output = 1 [default = 0];
40095   if (has_num_output()) {
40096     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->num_output(), output);
40097   }
40098
40099   // optional .opencv_caffe.FillerParameter weight_filler = 2;
40100   if (has_weight_filler()) {
40101     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
40102       2, *this->weight_filler_, output);
40103   }
40104
40105   // optional .opencv_caffe.FillerParameter bias_filler = 3;
40106   if (has_bias_filler()) {
40107     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
40108       3, *this->bias_filler_, output);
40109   }
40110
40111   // optional bool debug_info = 4 [default = false];
40112   if (has_debug_info()) {
40113     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->debug_info(), output);
40114   }
40115
40116   // optional bool expose_hidden = 5 [default = false];
40117   if (has_expose_hidden()) {
40118     ::google::protobuf::internal::WireFormatLite::WriteBool(5, this->expose_hidden(), output);
40119   }
40120
40121   if (_internal_metadata_.have_unknown_fields()) {
40122     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
40123         unknown_fields(), output);
40124   }
40125   // @@protoc_insertion_point(serialize_end:opencv_caffe.RecurrentParameter)
40126 }
40127
40128 ::google::protobuf::uint8* RecurrentParameter::InternalSerializeWithCachedSizesToArray(
40129     bool deterministic, ::google::protobuf::uint8* target) const {
40130   (void)deterministic; // Unused
40131   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.RecurrentParameter)
40132   // optional uint32 num_output = 1 [default = 0];
40133   if (has_num_output()) {
40134     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->num_output(), target);
40135   }
40136
40137   // optional .opencv_caffe.FillerParameter weight_filler = 2;
40138   if (has_weight_filler()) {
40139     target = ::google::protobuf::internal::WireFormatLite::
40140       InternalWriteMessageNoVirtualToArray(
40141         2, *this->weight_filler_, false, target);
40142   }
40143
40144   // optional .opencv_caffe.FillerParameter bias_filler = 3;
40145   if (has_bias_filler()) {
40146     target = ::google::protobuf::internal::WireFormatLite::
40147       InternalWriteMessageNoVirtualToArray(
40148         3, *this->bias_filler_, false, target);
40149   }
40150
40151   // optional bool debug_info = 4 [default = false];
40152   if (has_debug_info()) {
40153     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->debug_info(), target);
40154   }
40155
40156   // optional bool expose_hidden = 5 [default = false];
40157   if (has_expose_hidden()) {
40158     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(5, this->expose_hidden(), target);
40159   }
40160
40161   if (_internal_metadata_.have_unknown_fields()) {
40162     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
40163         unknown_fields(), target);
40164   }
40165   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.RecurrentParameter)
40166   return target;
40167 }
40168
40169 size_t RecurrentParameter::ByteSizeLong() const {
40170 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.RecurrentParameter)
40171   size_t total_size = 0;
40172
40173   if (_has_bits_[0 / 32] & 31u) {
40174     // optional uint32 num_output = 1 [default = 0];
40175     if (has_num_output()) {
40176       total_size += 1 +
40177         ::google::protobuf::internal::WireFormatLite::UInt32Size(
40178           this->num_output());
40179     }
40180
40181     // optional .opencv_caffe.FillerParameter weight_filler = 2;
40182     if (has_weight_filler()) {
40183       total_size += 1 +
40184         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
40185           *this->weight_filler_);
40186     }
40187
40188     // optional .opencv_caffe.FillerParameter bias_filler = 3;
40189     if (has_bias_filler()) {
40190       total_size += 1 +
40191         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
40192           *this->bias_filler_);
40193     }
40194
40195     // optional bool debug_info = 4 [default = false];
40196     if (has_debug_info()) {
40197       total_size += 1 + 1;
40198     }
40199
40200     // optional bool expose_hidden = 5 [default = false];
40201     if (has_expose_hidden()) {
40202       total_size += 1 + 1;
40203     }
40204
40205   }
40206   if (_internal_metadata_.have_unknown_fields()) {
40207     total_size +=
40208       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
40209         unknown_fields());
40210   }
40211   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
40212   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40213   _cached_size_ = cached_size;
40214   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40215   return total_size;
40216 }
40217
40218 void RecurrentParameter::MergeFrom(const ::google::protobuf::Message& from) {
40219 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.RecurrentParameter)
40220   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
40221   const RecurrentParameter* source =
40222       ::google::protobuf::internal::DynamicCastToGenerated<const RecurrentParameter>(
40223           &from);
40224   if (source == NULL) {
40225   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.RecurrentParameter)
40226     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
40227   } else {
40228   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.RecurrentParameter)
40229     UnsafeMergeFrom(*source);
40230   }
40231 }
40232
40233 void RecurrentParameter::MergeFrom(const RecurrentParameter& from) {
40234 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.RecurrentParameter)
40235   if (GOOGLE_PREDICT_TRUE(&from != this)) {
40236     UnsafeMergeFrom(from);
40237   } else {
40238     MergeFromFail(__LINE__);
40239   }
40240 }
40241
40242 void RecurrentParameter::UnsafeMergeFrom(const RecurrentParameter& from) {
40243   GOOGLE_DCHECK(&from != this);
40244   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
40245     if (from.has_num_output()) {
40246       set_num_output(from.num_output());
40247     }
40248     if (from.has_weight_filler()) {
40249       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
40250     }
40251     if (from.has_bias_filler()) {
40252       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
40253     }
40254     if (from.has_debug_info()) {
40255       set_debug_info(from.debug_info());
40256     }
40257     if (from.has_expose_hidden()) {
40258       set_expose_hidden(from.expose_hidden());
40259     }
40260   }
40261   if (from._internal_metadata_.have_unknown_fields()) {
40262     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
40263       from.unknown_fields(), &_internal_metadata_);
40264   }
40265 }
40266
40267 void RecurrentParameter::CopyFrom(const ::google::protobuf::Message& from) {
40268 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.RecurrentParameter)
40269   if (&from == this) return;
40270   Clear();
40271   MergeFrom(from);
40272 }
40273
40274 void RecurrentParameter::CopyFrom(const RecurrentParameter& from) {
40275 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.RecurrentParameter)
40276   if (&from == this) return;
40277   Clear();
40278   UnsafeMergeFrom(from);
40279 }
40280
40281 bool RecurrentParameter::IsInitialized() const {
40282
40283   return true;
40284 }
40285
40286 void RecurrentParameter::Swap(RecurrentParameter* other) {
40287   if (other == this) return;
40288   InternalSwap(other);
40289 }
40290 void RecurrentParameter::InternalSwap(RecurrentParameter* other) {
40291   std::swap(num_output_, other->num_output_);
40292   std::swap(weight_filler_, other->weight_filler_);
40293   std::swap(bias_filler_, other->bias_filler_);
40294   std::swap(debug_info_, other->debug_info_);
40295   std::swap(expose_hidden_, other->expose_hidden_);
40296   std::swap(_has_bits_[0], other->_has_bits_[0]);
40297   _internal_metadata_.Swap(&other->_internal_metadata_);
40298   std::swap(_cached_size_, other->_cached_size_);
40299 }
40300
40301 ::google::protobuf::Metadata RecurrentParameter::GetMetadata() const {
40302   protobuf_AssignDescriptorsOnce();
40303   ::google::protobuf::Metadata metadata;
40304   metadata.descriptor = RecurrentParameter_descriptor_;
40305   metadata.reflection = RecurrentParameter_reflection_;
40306   return metadata;
40307 }
40308
40309 #if PROTOBUF_INLINE_NOT_IN_HEADERS
40310 // RecurrentParameter
40311
40312 // optional uint32 num_output = 1 [default = 0];
40313 bool RecurrentParameter::has_num_output() const {
40314   return (_has_bits_[0] & 0x00000001u) != 0;
40315 }
40316 void RecurrentParameter::set_has_num_output() {
40317   _has_bits_[0] |= 0x00000001u;
40318 }
40319 void RecurrentParameter::clear_has_num_output() {
40320   _has_bits_[0] &= ~0x00000001u;
40321 }
40322 void RecurrentParameter::clear_num_output() {
40323   num_output_ = 0u;
40324   clear_has_num_output();
40325 }
40326 ::google::protobuf::uint32 RecurrentParameter::num_output() const {
40327   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.num_output)
40328   return num_output_;
40329 }
40330 void RecurrentParameter::set_num_output(::google::protobuf::uint32 value) {
40331   set_has_num_output();
40332   num_output_ = value;
40333   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.num_output)
40334 }
40335
40336 // optional .opencv_caffe.FillerParameter weight_filler = 2;
40337 bool RecurrentParameter::has_weight_filler() const {
40338   return (_has_bits_[0] & 0x00000002u) != 0;
40339 }
40340 void RecurrentParameter::set_has_weight_filler() {
40341   _has_bits_[0] |= 0x00000002u;
40342 }
40343 void RecurrentParameter::clear_has_weight_filler() {
40344   _has_bits_[0] &= ~0x00000002u;
40345 }
40346 void RecurrentParameter::clear_weight_filler() {
40347   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
40348   clear_has_weight_filler();
40349 }
40350 const ::opencv_caffe::FillerParameter& RecurrentParameter::weight_filler() const {
40351   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.weight_filler)
40352   return weight_filler_ != NULL ? *weight_filler_
40353                          : *::opencv_caffe::FillerParameter::internal_default_instance();
40354 }
40355 ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_weight_filler() {
40356   set_has_weight_filler();
40357   if (weight_filler_ == NULL) {
40358     weight_filler_ = new ::opencv_caffe::FillerParameter;
40359   }
40360   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.weight_filler)
40361   return weight_filler_;
40362 }
40363 ::opencv_caffe::FillerParameter* RecurrentParameter::release_weight_filler() {
40364   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.weight_filler)
40365   clear_has_weight_filler();
40366   ::opencv_caffe::FillerParameter* temp = weight_filler_;
40367   weight_filler_ = NULL;
40368   return temp;
40369 }
40370 void RecurrentParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
40371   delete weight_filler_;
40372   weight_filler_ = weight_filler;
40373   if (weight_filler) {
40374     set_has_weight_filler();
40375   } else {
40376     clear_has_weight_filler();
40377   }
40378   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.weight_filler)
40379 }
40380
40381 // optional .opencv_caffe.FillerParameter bias_filler = 3;
40382 bool RecurrentParameter::has_bias_filler() const {
40383   return (_has_bits_[0] & 0x00000004u) != 0;
40384 }
40385 void RecurrentParameter::set_has_bias_filler() {
40386   _has_bits_[0] |= 0x00000004u;
40387 }
40388 void RecurrentParameter::clear_has_bias_filler() {
40389   _has_bits_[0] &= ~0x00000004u;
40390 }
40391 void RecurrentParameter::clear_bias_filler() {
40392   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
40393   clear_has_bias_filler();
40394 }
40395 const ::opencv_caffe::FillerParameter& RecurrentParameter::bias_filler() const {
40396   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.bias_filler)
40397   return bias_filler_ != NULL ? *bias_filler_
40398                          : *::opencv_caffe::FillerParameter::internal_default_instance();
40399 }
40400 ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_bias_filler() {
40401   set_has_bias_filler();
40402   if (bias_filler_ == NULL) {
40403     bias_filler_ = new ::opencv_caffe::FillerParameter;
40404   }
40405   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.bias_filler)
40406   return bias_filler_;
40407 }
40408 ::opencv_caffe::FillerParameter* RecurrentParameter::release_bias_filler() {
40409   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.bias_filler)
40410   clear_has_bias_filler();
40411   ::opencv_caffe::FillerParameter* temp = bias_filler_;
40412   bias_filler_ = NULL;
40413   return temp;
40414 }
40415 void RecurrentParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
40416   delete bias_filler_;
40417   bias_filler_ = bias_filler;
40418   if (bias_filler) {
40419     set_has_bias_filler();
40420   } else {
40421     clear_has_bias_filler();
40422   }
40423   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.bias_filler)
40424 }
40425
40426 // optional bool debug_info = 4 [default = false];
40427 bool RecurrentParameter::has_debug_info() const {
40428   return (_has_bits_[0] & 0x00000008u) != 0;
40429 }
40430 void RecurrentParameter::set_has_debug_info() {
40431   _has_bits_[0] |= 0x00000008u;
40432 }
40433 void RecurrentParameter::clear_has_debug_info() {
40434   _has_bits_[0] &= ~0x00000008u;
40435 }
40436 void RecurrentParameter::clear_debug_info() {
40437   debug_info_ = false;
40438   clear_has_debug_info();
40439 }
40440 bool RecurrentParameter::debug_info() const {
40441   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.debug_info)
40442   return debug_info_;
40443 }
40444 void RecurrentParameter::set_debug_info(bool value) {
40445   set_has_debug_info();
40446   debug_info_ = value;
40447   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.debug_info)
40448 }
40449
40450 // optional bool expose_hidden = 5 [default = false];
40451 bool RecurrentParameter::has_expose_hidden() const {
40452   return (_has_bits_[0] & 0x00000010u) != 0;
40453 }
40454 void RecurrentParameter::set_has_expose_hidden() {
40455   _has_bits_[0] |= 0x00000010u;
40456 }
40457 void RecurrentParameter::clear_has_expose_hidden() {
40458   _has_bits_[0] &= ~0x00000010u;
40459 }
40460 void RecurrentParameter::clear_expose_hidden() {
40461   expose_hidden_ = false;
40462   clear_has_expose_hidden();
40463 }
40464 bool RecurrentParameter::expose_hidden() const {
40465   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.expose_hidden)
40466   return expose_hidden_;
40467 }
40468 void RecurrentParameter::set_expose_hidden(bool value) {
40469   set_has_expose_hidden();
40470   expose_hidden_ = value;
40471   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.expose_hidden)
40472 }
40473
40474 inline const RecurrentParameter* RecurrentParameter::internal_default_instance() {
40475   return &RecurrentParameter_default_instance_.get();
40476 }
40477 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
40478
40479 // ===================================================================
40480
40481 const ::google::protobuf::EnumDescriptor* ReductionParameter_ReductionOp_descriptor() {
40482   protobuf_AssignDescriptorsOnce();
40483   return ReductionParameter_ReductionOp_descriptor_;
40484 }
40485 bool ReductionParameter_ReductionOp_IsValid(int value) {
40486   switch (value) {
40487     case 1:
40488     case 2:
40489     case 3:
40490     case 4:
40491       return true;
40492     default:
40493       return false;
40494   }
40495 }
40496
40497 #if !defined(_MSC_VER) || _MSC_VER >= 1900
40498 const ReductionParameter_ReductionOp ReductionParameter::SUM;
40499 const ReductionParameter_ReductionOp ReductionParameter::ASUM;
40500 const ReductionParameter_ReductionOp ReductionParameter::SUMSQ;
40501 const ReductionParameter_ReductionOp ReductionParameter::MEAN;
40502 const ReductionParameter_ReductionOp ReductionParameter::ReductionOp_MIN;
40503 const ReductionParameter_ReductionOp ReductionParameter::ReductionOp_MAX;
40504 const int ReductionParameter::ReductionOp_ARRAYSIZE;
40505 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
40506 #if !defined(_MSC_VER) || _MSC_VER >= 1900
40507 const int ReductionParameter::kOperationFieldNumber;
40508 const int ReductionParameter::kAxisFieldNumber;
40509 const int ReductionParameter::kCoeffFieldNumber;
40510 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
40511
40512 ReductionParameter::ReductionParameter()
40513   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
40514   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40515   SharedCtor();
40516   // @@protoc_insertion_point(constructor:opencv_caffe.ReductionParameter)
40517 }
40518
40519 void ReductionParameter::InitAsDefaultInstance() {
40520 }
40521
40522 ReductionParameter::ReductionParameter(const ReductionParameter& from)
40523   : ::google::protobuf::Message(),
40524     _internal_metadata_(NULL) {
40525   SharedCtor();
40526   UnsafeMergeFrom(from);
40527   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ReductionParameter)
40528 }
40529
40530 void ReductionParameter::SharedCtor() {
40531   _cached_size_ = 0;
40532   axis_ = 0;
40533   operation_ = 1;
40534   coeff_ = 1;
40535 }
40536
40537 ReductionParameter::~ReductionParameter() {
40538   // @@protoc_insertion_point(destructor:opencv_caffe.ReductionParameter)
40539   SharedDtor();
40540 }
40541
40542 void ReductionParameter::SharedDtor() {
40543 }
40544
40545 void ReductionParameter::SetCachedSize(int size) const {
40546   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40547   _cached_size_ = size;
40548   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40549 }
40550 const ::google::protobuf::Descriptor* ReductionParameter::descriptor() {
40551   protobuf_AssignDescriptorsOnce();
40552   return ReductionParameter_descriptor_;
40553 }
40554
40555 const ReductionParameter& ReductionParameter::default_instance() {
40556   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40557   return *internal_default_instance();
40558 }
40559
40560 ::google::protobuf::internal::ExplicitlyConstructed<ReductionParameter> ReductionParameter_default_instance_;
40561
40562 ReductionParameter* ReductionParameter::New(::google::protobuf::Arena* arena) const {
40563   ReductionParameter* n = new ReductionParameter;
40564   if (arena != NULL) {
40565     arena->Own(n);
40566   }
40567   return n;
40568 }
40569
40570 void ReductionParameter::Clear() {
40571 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ReductionParameter)
40572   if (_has_bits_[0 / 32] & 7u) {
40573     operation_ = 1;
40574     axis_ = 0;
40575     coeff_ = 1;
40576   }
40577   _has_bits_.Clear();
40578   if (_internal_metadata_.have_unknown_fields()) {
40579     mutable_unknown_fields()->Clear();
40580   }
40581 }
40582
40583 bool ReductionParameter::MergePartialFromCodedStream(
40584     ::google::protobuf::io::CodedInputStream* input) {
40585 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
40586   ::google::protobuf::uint32 tag;
40587   // @@protoc_insertion_point(parse_start:opencv_caffe.ReductionParameter)
40588   for (;;) {
40589     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
40590     tag = p.first;
40591     if (!p.second) goto handle_unusual;
40592     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
40593       // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40594       case 1: {
40595         if (tag == 8) {
40596           int value;
40597           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40598                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
40599                  input, &value)));
40600           if (::opencv_caffe::ReductionParameter_ReductionOp_IsValid(value)) {
40601             set_operation(static_cast< ::opencv_caffe::ReductionParameter_ReductionOp >(value));
40602           } else {
40603             mutable_unknown_fields()->AddVarint(1, value);
40604           }
40605         } else {
40606           goto handle_unusual;
40607         }
40608         if (input->ExpectTag(16)) goto parse_axis;
40609         break;
40610       }
40611
40612       // optional int32 axis = 2 [default = 0];
40613       case 2: {
40614         if (tag == 16) {
40615          parse_axis:
40616           set_has_axis();
40617           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40618                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
40619                  input, &axis_)));
40620         } else {
40621           goto handle_unusual;
40622         }
40623         if (input->ExpectTag(29)) goto parse_coeff;
40624         break;
40625       }
40626
40627       // optional float coeff = 3 [default = 1];
40628       case 3: {
40629         if (tag == 29) {
40630          parse_coeff:
40631           set_has_coeff();
40632           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
40633                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
40634                  input, &coeff_)));
40635         } else {
40636           goto handle_unusual;
40637         }
40638         if (input->ExpectAtEnd()) goto success;
40639         break;
40640       }
40641
40642       default: {
40643       handle_unusual:
40644         if (tag == 0 ||
40645             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
40646             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
40647           goto success;
40648         }
40649         DO_(::google::protobuf::internal::WireFormat::SkipField(
40650               input, tag, mutable_unknown_fields()));
40651         break;
40652       }
40653     }
40654   }
40655 success:
40656   // @@protoc_insertion_point(parse_success:opencv_caffe.ReductionParameter)
40657   return true;
40658 failure:
40659   // @@protoc_insertion_point(parse_failure:opencv_caffe.ReductionParameter)
40660   return false;
40661 #undef DO_
40662 }
40663
40664 void ReductionParameter::SerializeWithCachedSizes(
40665     ::google::protobuf::io::CodedOutputStream* output) const {
40666   // @@protoc_insertion_point(serialize_start:opencv_caffe.ReductionParameter)
40667   // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40668   if (has_operation()) {
40669     ::google::protobuf::internal::WireFormatLite::WriteEnum(
40670       1, this->operation(), output);
40671   }
40672
40673   // optional int32 axis = 2 [default = 0];
40674   if (has_axis()) {
40675     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
40676   }
40677
40678   // optional float coeff = 3 [default = 1];
40679   if (has_coeff()) {
40680     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->coeff(), output);
40681   }
40682
40683   if (_internal_metadata_.have_unknown_fields()) {
40684     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
40685         unknown_fields(), output);
40686   }
40687   // @@protoc_insertion_point(serialize_end:opencv_caffe.ReductionParameter)
40688 }
40689
40690 ::google::protobuf::uint8* ReductionParameter::InternalSerializeWithCachedSizesToArray(
40691     bool deterministic, ::google::protobuf::uint8* target) const {
40692   (void)deterministic; // Unused
40693   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ReductionParameter)
40694   // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40695   if (has_operation()) {
40696     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
40697       1, this->operation(), target);
40698   }
40699
40700   // optional int32 axis = 2 [default = 0];
40701   if (has_axis()) {
40702     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
40703   }
40704
40705   // optional float coeff = 3 [default = 1];
40706   if (has_coeff()) {
40707     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->coeff(), target);
40708   }
40709
40710   if (_internal_metadata_.have_unknown_fields()) {
40711     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
40712         unknown_fields(), target);
40713   }
40714   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ReductionParameter)
40715   return target;
40716 }
40717
40718 size_t ReductionParameter::ByteSizeLong() const {
40719 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ReductionParameter)
40720   size_t total_size = 0;
40721
40722   if (_has_bits_[0 / 32] & 7u) {
40723     // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40724     if (has_operation()) {
40725       total_size += 1 +
40726         ::google::protobuf::internal::WireFormatLite::EnumSize(this->operation());
40727     }
40728
40729     // optional int32 axis = 2 [default = 0];
40730     if (has_axis()) {
40731       total_size += 1 +
40732         ::google::protobuf::internal::WireFormatLite::Int32Size(
40733           this->axis());
40734     }
40735
40736     // optional float coeff = 3 [default = 1];
40737     if (has_coeff()) {
40738       total_size += 1 + 4;
40739     }
40740
40741   }
40742   if (_internal_metadata_.have_unknown_fields()) {
40743     total_size +=
40744       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
40745         unknown_fields());
40746   }
40747   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
40748   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40749   _cached_size_ = cached_size;
40750   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40751   return total_size;
40752 }
40753
40754 void ReductionParameter::MergeFrom(const ::google::protobuf::Message& from) {
40755 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ReductionParameter)
40756   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
40757   const ReductionParameter* source =
40758       ::google::protobuf::internal::DynamicCastToGenerated<const ReductionParameter>(
40759           &from);
40760   if (source == NULL) {
40761   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ReductionParameter)
40762     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
40763   } else {
40764   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ReductionParameter)
40765     UnsafeMergeFrom(*source);
40766   }
40767 }
40768
40769 void ReductionParameter::MergeFrom(const ReductionParameter& from) {
40770 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ReductionParameter)
40771   if (GOOGLE_PREDICT_TRUE(&from != this)) {
40772     UnsafeMergeFrom(from);
40773   } else {
40774     MergeFromFail(__LINE__);
40775   }
40776 }
40777
40778 void ReductionParameter::UnsafeMergeFrom(const ReductionParameter& from) {
40779   GOOGLE_DCHECK(&from != this);
40780   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
40781     if (from.has_operation()) {
40782       set_operation(from.operation());
40783     }
40784     if (from.has_axis()) {
40785       set_axis(from.axis());
40786     }
40787     if (from.has_coeff()) {
40788       set_coeff(from.coeff());
40789     }
40790   }
40791   if (from._internal_metadata_.have_unknown_fields()) {
40792     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
40793       from.unknown_fields(), &_internal_metadata_);
40794   }
40795 }
40796
40797 void ReductionParameter::CopyFrom(const ::google::protobuf::Message& from) {
40798 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ReductionParameter)
40799   if (&from == this) return;
40800   Clear();
40801   MergeFrom(from);
40802 }
40803
40804 void ReductionParameter::CopyFrom(const ReductionParameter& from) {
40805 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ReductionParameter)
40806   if (&from == this) return;
40807   Clear();
40808   UnsafeMergeFrom(from);
40809 }
40810
40811 bool ReductionParameter::IsInitialized() const {
40812
40813   return true;
40814 }
40815
40816 void ReductionParameter::Swap(ReductionParameter* other) {
40817   if (other == this) return;
40818   InternalSwap(other);
40819 }
40820 void ReductionParameter::InternalSwap(ReductionParameter* other) {
40821   std::swap(operation_, other->operation_);
40822   std::swap(axis_, other->axis_);
40823   std::swap(coeff_, other->coeff_);
40824   std::swap(_has_bits_[0], other->_has_bits_[0]);
40825   _internal_metadata_.Swap(&other->_internal_metadata_);
40826   std::swap(_cached_size_, other->_cached_size_);
40827 }
40828
40829 ::google::protobuf::Metadata ReductionParameter::GetMetadata() const {
40830   protobuf_AssignDescriptorsOnce();
40831   ::google::protobuf::Metadata metadata;
40832   metadata.descriptor = ReductionParameter_descriptor_;
40833   metadata.reflection = ReductionParameter_reflection_;
40834   return metadata;
40835 }
40836
40837 #if PROTOBUF_INLINE_NOT_IN_HEADERS
40838 // ReductionParameter
40839
40840 // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
40841 bool ReductionParameter::has_operation() const {
40842   return (_has_bits_[0] & 0x00000001u) != 0;
40843 }
40844 void ReductionParameter::set_has_operation() {
40845   _has_bits_[0] |= 0x00000001u;
40846 }
40847 void ReductionParameter::clear_has_operation() {
40848   _has_bits_[0] &= ~0x00000001u;
40849 }
40850 void ReductionParameter::clear_operation() {
40851   operation_ = 1;
40852   clear_has_operation();
40853 }
40854 ::opencv_caffe::ReductionParameter_ReductionOp ReductionParameter::operation() const {
40855   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.operation)
40856   return static_cast< ::opencv_caffe::ReductionParameter_ReductionOp >(operation_);
40857 }
40858 void ReductionParameter::set_operation(::opencv_caffe::ReductionParameter_ReductionOp value) {
40859   assert(::opencv_caffe::ReductionParameter_ReductionOp_IsValid(value));
40860   set_has_operation();
40861   operation_ = value;
40862   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.operation)
40863 }
40864
40865 // optional int32 axis = 2 [default = 0];
40866 bool ReductionParameter::has_axis() const {
40867   return (_has_bits_[0] & 0x00000002u) != 0;
40868 }
40869 void ReductionParameter::set_has_axis() {
40870   _has_bits_[0] |= 0x00000002u;
40871 }
40872 void ReductionParameter::clear_has_axis() {
40873   _has_bits_[0] &= ~0x00000002u;
40874 }
40875 void ReductionParameter::clear_axis() {
40876   axis_ = 0;
40877   clear_has_axis();
40878 }
40879 ::google::protobuf::int32 ReductionParameter::axis() const {
40880   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.axis)
40881   return axis_;
40882 }
40883 void ReductionParameter::set_axis(::google::protobuf::int32 value) {
40884   set_has_axis();
40885   axis_ = value;
40886   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.axis)
40887 }
40888
40889 // optional float coeff = 3 [default = 1];
40890 bool ReductionParameter::has_coeff() const {
40891   return (_has_bits_[0] & 0x00000004u) != 0;
40892 }
40893 void ReductionParameter::set_has_coeff() {
40894   _has_bits_[0] |= 0x00000004u;
40895 }
40896 void ReductionParameter::clear_has_coeff() {
40897   _has_bits_[0] &= ~0x00000004u;
40898 }
40899 void ReductionParameter::clear_coeff() {
40900   coeff_ = 1;
40901   clear_has_coeff();
40902 }
40903 float ReductionParameter::coeff() const {
40904   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.coeff)
40905   return coeff_;
40906 }
40907 void ReductionParameter::set_coeff(float value) {
40908   set_has_coeff();
40909   coeff_ = value;
40910   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.coeff)
40911 }
40912
40913 inline const ReductionParameter* ReductionParameter::internal_default_instance() {
40914   return &ReductionParameter_default_instance_.get();
40915 }
40916 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
40917
40918 // ===================================================================
40919
40920 const ::google::protobuf::EnumDescriptor* ReLUParameter_Engine_descriptor() {
40921   protobuf_AssignDescriptorsOnce();
40922   return ReLUParameter_Engine_descriptor_;
40923 }
40924 bool ReLUParameter_Engine_IsValid(int value) {
40925   switch (value) {
40926     case 0:
40927     case 1:
40928     case 2:
40929       return true;
40930     default:
40931       return false;
40932   }
40933 }
40934
40935 #if !defined(_MSC_VER) || _MSC_VER >= 1900
40936 const ReLUParameter_Engine ReLUParameter::DEFAULT;
40937 const ReLUParameter_Engine ReLUParameter::CAFFE;
40938 const ReLUParameter_Engine ReLUParameter::CUDNN;
40939 const ReLUParameter_Engine ReLUParameter::Engine_MIN;
40940 const ReLUParameter_Engine ReLUParameter::Engine_MAX;
40941 const int ReLUParameter::Engine_ARRAYSIZE;
40942 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
40943 #if !defined(_MSC_VER) || _MSC_VER >= 1900
40944 const int ReLUParameter::kNegativeSlopeFieldNumber;
40945 const int ReLUParameter::kEngineFieldNumber;
40946 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
40947
40948 ReLUParameter::ReLUParameter()
40949   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
40950   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40951   SharedCtor();
40952   // @@protoc_insertion_point(constructor:opencv_caffe.ReLUParameter)
40953 }
40954
40955 void ReLUParameter::InitAsDefaultInstance() {
40956 }
40957
40958 ReLUParameter::ReLUParameter(const ReLUParameter& from)
40959   : ::google::protobuf::Message(),
40960     _internal_metadata_(NULL) {
40961   SharedCtor();
40962   UnsafeMergeFrom(from);
40963   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ReLUParameter)
40964 }
40965
40966 void ReLUParameter::SharedCtor() {
40967   _cached_size_ = 0;
40968   ::memset(&negative_slope_, 0, reinterpret_cast<char*>(&engine_) -
40969     reinterpret_cast<char*>(&negative_slope_) + sizeof(engine_));
40970 }
40971
40972 ReLUParameter::~ReLUParameter() {
40973   // @@protoc_insertion_point(destructor:opencv_caffe.ReLUParameter)
40974   SharedDtor();
40975 }
40976
40977 void ReLUParameter::SharedDtor() {
40978 }
40979
40980 void ReLUParameter::SetCachedSize(int size) const {
40981   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
40982   _cached_size_ = size;
40983   GOOGLE_SAFE_CONCURRENT_WRITES_END();
40984 }
40985 const ::google::protobuf::Descriptor* ReLUParameter::descriptor() {
40986   protobuf_AssignDescriptorsOnce();
40987   return ReLUParameter_descriptor_;
40988 }
40989
40990 const ReLUParameter& ReLUParameter::default_instance() {
40991   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
40992   return *internal_default_instance();
40993 }
40994
40995 ::google::protobuf::internal::ExplicitlyConstructed<ReLUParameter> ReLUParameter_default_instance_;
40996
40997 ReLUParameter* ReLUParameter::New(::google::protobuf::Arena* arena) const {
40998   ReLUParameter* n = new ReLUParameter;
40999   if (arena != NULL) {
41000     arena->Own(n);
41001   }
41002   return n;
41003 }
41004
41005 void ReLUParameter::Clear() {
41006 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ReLUParameter)
41007 #if defined(__clang__)
41008 #define ZR_HELPER_(f) \
41009   _Pragma("clang diagnostic push") \
41010   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
41011   __builtin_offsetof(ReLUParameter, f) \
41012   _Pragma("clang diagnostic pop")
41013 #else
41014 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
41015   &reinterpret_cast<ReLUParameter*>(16)->f)
41016 #endif
41017
41018 #define ZR_(first, last) do {\
41019   ::memset(&(first), 0,\
41020            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
41021 } while (0)
41022
41023   ZR_(negative_slope_, engine_);
41024
41025 #undef ZR_HELPER_
41026 #undef ZR_
41027
41028   _has_bits_.Clear();
41029   if (_internal_metadata_.have_unknown_fields()) {
41030     mutable_unknown_fields()->Clear();
41031   }
41032 }
41033
41034 bool ReLUParameter::MergePartialFromCodedStream(
41035     ::google::protobuf::io::CodedInputStream* input) {
41036 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
41037   ::google::protobuf::uint32 tag;
41038   // @@protoc_insertion_point(parse_start:opencv_caffe.ReLUParameter)
41039   for (;;) {
41040     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
41041     tag = p.first;
41042     if (!p.second) goto handle_unusual;
41043     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
41044       // optional float negative_slope = 1 [default = 0];
41045       case 1: {
41046         if (tag == 13) {
41047           set_has_negative_slope();
41048           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41049                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
41050                  input, &negative_slope_)));
41051         } else {
41052           goto handle_unusual;
41053         }
41054         if (input->ExpectTag(16)) goto parse_engine;
41055         break;
41056       }
41057
41058       // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41059       case 2: {
41060         if (tag == 16) {
41061          parse_engine:
41062           int value;
41063           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41064                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
41065                  input, &value)));
41066           if (::opencv_caffe::ReLUParameter_Engine_IsValid(value)) {
41067             set_engine(static_cast< ::opencv_caffe::ReLUParameter_Engine >(value));
41068           } else {
41069             mutable_unknown_fields()->AddVarint(2, value);
41070           }
41071         } else {
41072           goto handle_unusual;
41073         }
41074         if (input->ExpectAtEnd()) goto success;
41075         break;
41076       }
41077
41078       default: {
41079       handle_unusual:
41080         if (tag == 0 ||
41081             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
41082             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
41083           goto success;
41084         }
41085         DO_(::google::protobuf::internal::WireFormat::SkipField(
41086               input, tag, mutable_unknown_fields()));
41087         break;
41088       }
41089     }
41090   }
41091 success:
41092   // @@protoc_insertion_point(parse_success:opencv_caffe.ReLUParameter)
41093   return true;
41094 failure:
41095   // @@protoc_insertion_point(parse_failure:opencv_caffe.ReLUParameter)
41096   return false;
41097 #undef DO_
41098 }
41099
41100 void ReLUParameter::SerializeWithCachedSizes(
41101     ::google::protobuf::io::CodedOutputStream* output) const {
41102   // @@protoc_insertion_point(serialize_start:opencv_caffe.ReLUParameter)
41103   // optional float negative_slope = 1 [default = 0];
41104   if (has_negative_slope()) {
41105     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->negative_slope(), output);
41106   }
41107
41108   // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41109   if (has_engine()) {
41110     ::google::protobuf::internal::WireFormatLite::WriteEnum(
41111       2, this->engine(), output);
41112   }
41113
41114   if (_internal_metadata_.have_unknown_fields()) {
41115     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
41116         unknown_fields(), output);
41117   }
41118   // @@protoc_insertion_point(serialize_end:opencv_caffe.ReLUParameter)
41119 }
41120
41121 ::google::protobuf::uint8* ReLUParameter::InternalSerializeWithCachedSizesToArray(
41122     bool deterministic, ::google::protobuf::uint8* target) const {
41123   (void)deterministic; // Unused
41124   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ReLUParameter)
41125   // optional float negative_slope = 1 [default = 0];
41126   if (has_negative_slope()) {
41127     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->negative_slope(), target);
41128   }
41129
41130   // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41131   if (has_engine()) {
41132     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
41133       2, this->engine(), target);
41134   }
41135
41136   if (_internal_metadata_.have_unknown_fields()) {
41137     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
41138         unknown_fields(), target);
41139   }
41140   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ReLUParameter)
41141   return target;
41142 }
41143
41144 size_t ReLUParameter::ByteSizeLong() const {
41145 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ReLUParameter)
41146   size_t total_size = 0;
41147
41148   if (_has_bits_[0 / 32] & 3u) {
41149     // optional float negative_slope = 1 [default = 0];
41150     if (has_negative_slope()) {
41151       total_size += 1 + 4;
41152     }
41153
41154     // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41155     if (has_engine()) {
41156       total_size += 1 +
41157         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
41158     }
41159
41160   }
41161   if (_internal_metadata_.have_unknown_fields()) {
41162     total_size +=
41163       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
41164         unknown_fields());
41165   }
41166   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
41167   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41168   _cached_size_ = cached_size;
41169   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41170   return total_size;
41171 }
41172
41173 void ReLUParameter::MergeFrom(const ::google::protobuf::Message& from) {
41174 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ReLUParameter)
41175   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
41176   const ReLUParameter* source =
41177       ::google::protobuf::internal::DynamicCastToGenerated<const ReLUParameter>(
41178           &from);
41179   if (source == NULL) {
41180   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ReLUParameter)
41181     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
41182   } else {
41183   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ReLUParameter)
41184     UnsafeMergeFrom(*source);
41185   }
41186 }
41187
41188 void ReLUParameter::MergeFrom(const ReLUParameter& from) {
41189 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ReLUParameter)
41190   if (GOOGLE_PREDICT_TRUE(&from != this)) {
41191     UnsafeMergeFrom(from);
41192   } else {
41193     MergeFromFail(__LINE__);
41194   }
41195 }
41196
41197 void ReLUParameter::UnsafeMergeFrom(const ReLUParameter& from) {
41198   GOOGLE_DCHECK(&from != this);
41199   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
41200     if (from.has_negative_slope()) {
41201       set_negative_slope(from.negative_slope());
41202     }
41203     if (from.has_engine()) {
41204       set_engine(from.engine());
41205     }
41206   }
41207   if (from._internal_metadata_.have_unknown_fields()) {
41208     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
41209       from.unknown_fields(), &_internal_metadata_);
41210   }
41211 }
41212
41213 void ReLUParameter::CopyFrom(const ::google::protobuf::Message& from) {
41214 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ReLUParameter)
41215   if (&from == this) return;
41216   Clear();
41217   MergeFrom(from);
41218 }
41219
41220 void ReLUParameter::CopyFrom(const ReLUParameter& from) {
41221 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ReLUParameter)
41222   if (&from == this) return;
41223   Clear();
41224   UnsafeMergeFrom(from);
41225 }
41226
41227 bool ReLUParameter::IsInitialized() const {
41228
41229   return true;
41230 }
41231
41232 void ReLUParameter::Swap(ReLUParameter* other) {
41233   if (other == this) return;
41234   InternalSwap(other);
41235 }
41236 void ReLUParameter::InternalSwap(ReLUParameter* other) {
41237   std::swap(negative_slope_, other->negative_slope_);
41238   std::swap(engine_, other->engine_);
41239   std::swap(_has_bits_[0], other->_has_bits_[0]);
41240   _internal_metadata_.Swap(&other->_internal_metadata_);
41241   std::swap(_cached_size_, other->_cached_size_);
41242 }
41243
41244 ::google::protobuf::Metadata ReLUParameter::GetMetadata() const {
41245   protobuf_AssignDescriptorsOnce();
41246   ::google::protobuf::Metadata metadata;
41247   metadata.descriptor = ReLUParameter_descriptor_;
41248   metadata.reflection = ReLUParameter_reflection_;
41249   return metadata;
41250 }
41251
41252 #if PROTOBUF_INLINE_NOT_IN_HEADERS
41253 // ReLUParameter
41254
41255 // optional float negative_slope = 1 [default = 0];
41256 bool ReLUParameter::has_negative_slope() const {
41257   return (_has_bits_[0] & 0x00000001u) != 0;
41258 }
41259 void ReLUParameter::set_has_negative_slope() {
41260   _has_bits_[0] |= 0x00000001u;
41261 }
41262 void ReLUParameter::clear_has_negative_slope() {
41263   _has_bits_[0] &= ~0x00000001u;
41264 }
41265 void ReLUParameter::clear_negative_slope() {
41266   negative_slope_ = 0;
41267   clear_has_negative_slope();
41268 }
41269 float ReLUParameter::negative_slope() const {
41270   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.negative_slope)
41271   return negative_slope_;
41272 }
41273 void ReLUParameter::set_negative_slope(float value) {
41274   set_has_negative_slope();
41275   negative_slope_ = value;
41276   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.negative_slope)
41277 }
41278
41279 // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
41280 bool ReLUParameter::has_engine() const {
41281   return (_has_bits_[0] & 0x00000002u) != 0;
41282 }
41283 void ReLUParameter::set_has_engine() {
41284   _has_bits_[0] |= 0x00000002u;
41285 }
41286 void ReLUParameter::clear_has_engine() {
41287   _has_bits_[0] &= ~0x00000002u;
41288 }
41289 void ReLUParameter::clear_engine() {
41290   engine_ = 0;
41291   clear_has_engine();
41292 }
41293 ::opencv_caffe::ReLUParameter_Engine ReLUParameter::engine() const {
41294   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.engine)
41295   return static_cast< ::opencv_caffe::ReLUParameter_Engine >(engine_);
41296 }
41297 void ReLUParameter::set_engine(::opencv_caffe::ReLUParameter_Engine value) {
41298   assert(::opencv_caffe::ReLUParameter_Engine_IsValid(value));
41299   set_has_engine();
41300   engine_ = value;
41301   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.engine)
41302 }
41303
41304 inline const ReLUParameter* ReLUParameter::internal_default_instance() {
41305   return &ReLUParameter_default_instance_.get();
41306 }
41307 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
41308
41309 // ===================================================================
41310
41311 #if !defined(_MSC_VER) || _MSC_VER >= 1900
41312 const int ReshapeParameter::kShapeFieldNumber;
41313 const int ReshapeParameter::kAxisFieldNumber;
41314 const int ReshapeParameter::kNumAxesFieldNumber;
41315 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
41316
41317 ReshapeParameter::ReshapeParameter()
41318   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
41319   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41320   SharedCtor();
41321   // @@protoc_insertion_point(constructor:opencv_caffe.ReshapeParameter)
41322 }
41323
41324 void ReshapeParameter::InitAsDefaultInstance() {
41325   shape_ = const_cast< ::opencv_caffe::BlobShape*>(
41326       ::opencv_caffe::BlobShape::internal_default_instance());
41327 }
41328
41329 ReshapeParameter::ReshapeParameter(const ReshapeParameter& from)
41330   : ::google::protobuf::Message(),
41331     _internal_metadata_(NULL) {
41332   SharedCtor();
41333   UnsafeMergeFrom(from);
41334   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ReshapeParameter)
41335 }
41336
41337 void ReshapeParameter::SharedCtor() {
41338   _cached_size_ = 0;
41339   shape_ = NULL;
41340   axis_ = 0;
41341   num_axes_ = -1;
41342 }
41343
41344 ReshapeParameter::~ReshapeParameter() {
41345   // @@protoc_insertion_point(destructor:opencv_caffe.ReshapeParameter)
41346   SharedDtor();
41347 }
41348
41349 void ReshapeParameter::SharedDtor() {
41350   if (this != &ReshapeParameter_default_instance_.get()) {
41351     delete shape_;
41352   }
41353 }
41354
41355 void ReshapeParameter::SetCachedSize(int size) const {
41356   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41357   _cached_size_ = size;
41358   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41359 }
41360 const ::google::protobuf::Descriptor* ReshapeParameter::descriptor() {
41361   protobuf_AssignDescriptorsOnce();
41362   return ReshapeParameter_descriptor_;
41363 }
41364
41365 const ReshapeParameter& ReshapeParameter::default_instance() {
41366   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41367   return *internal_default_instance();
41368 }
41369
41370 ::google::protobuf::internal::ExplicitlyConstructed<ReshapeParameter> ReshapeParameter_default_instance_;
41371
41372 ReshapeParameter* ReshapeParameter::New(::google::protobuf::Arena* arena) const {
41373   ReshapeParameter* n = new ReshapeParameter;
41374   if (arena != NULL) {
41375     arena->Own(n);
41376   }
41377   return n;
41378 }
41379
41380 void ReshapeParameter::Clear() {
41381 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ReshapeParameter)
41382   if (_has_bits_[0 / 32] & 7u) {
41383     if (has_shape()) {
41384       if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
41385     }
41386     axis_ = 0;
41387     num_axes_ = -1;
41388   }
41389   _has_bits_.Clear();
41390   if (_internal_metadata_.have_unknown_fields()) {
41391     mutable_unknown_fields()->Clear();
41392   }
41393 }
41394
41395 bool ReshapeParameter::MergePartialFromCodedStream(
41396     ::google::protobuf::io::CodedInputStream* input) {
41397 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
41398   ::google::protobuf::uint32 tag;
41399   // @@protoc_insertion_point(parse_start:opencv_caffe.ReshapeParameter)
41400   for (;;) {
41401     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
41402     tag = p.first;
41403     if (!p.second) goto handle_unusual;
41404     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
41405       // optional .opencv_caffe.BlobShape shape = 1;
41406       case 1: {
41407         if (tag == 10) {
41408           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
41409                input, mutable_shape()));
41410         } else {
41411           goto handle_unusual;
41412         }
41413         if (input->ExpectTag(16)) goto parse_axis;
41414         break;
41415       }
41416
41417       // optional int32 axis = 2 [default = 0];
41418       case 2: {
41419         if (tag == 16) {
41420          parse_axis:
41421           set_has_axis();
41422           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41423                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
41424                  input, &axis_)));
41425         } else {
41426           goto handle_unusual;
41427         }
41428         if (input->ExpectTag(24)) goto parse_num_axes;
41429         break;
41430       }
41431
41432       // optional int32 num_axes = 3 [default = -1];
41433       case 3: {
41434         if (tag == 24) {
41435          parse_num_axes:
41436           set_has_num_axes();
41437           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41438                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
41439                  input, &num_axes_)));
41440         } else {
41441           goto handle_unusual;
41442         }
41443         if (input->ExpectAtEnd()) goto success;
41444         break;
41445       }
41446
41447       default: {
41448       handle_unusual:
41449         if (tag == 0 ||
41450             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
41451             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
41452           goto success;
41453         }
41454         DO_(::google::protobuf::internal::WireFormat::SkipField(
41455               input, tag, mutable_unknown_fields()));
41456         break;
41457       }
41458     }
41459   }
41460 success:
41461   // @@protoc_insertion_point(parse_success:opencv_caffe.ReshapeParameter)
41462   return true;
41463 failure:
41464   // @@protoc_insertion_point(parse_failure:opencv_caffe.ReshapeParameter)
41465   return false;
41466 #undef DO_
41467 }
41468
41469 void ReshapeParameter::SerializeWithCachedSizes(
41470     ::google::protobuf::io::CodedOutputStream* output) const {
41471   // @@protoc_insertion_point(serialize_start:opencv_caffe.ReshapeParameter)
41472   // optional .opencv_caffe.BlobShape shape = 1;
41473   if (has_shape()) {
41474     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
41475       1, *this->shape_, output);
41476   }
41477
41478   // optional int32 axis = 2 [default = 0];
41479   if (has_axis()) {
41480     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
41481   }
41482
41483   // optional int32 num_axes = 3 [default = -1];
41484   if (has_num_axes()) {
41485     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->num_axes(), output);
41486   }
41487
41488   if (_internal_metadata_.have_unknown_fields()) {
41489     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
41490         unknown_fields(), output);
41491   }
41492   // @@protoc_insertion_point(serialize_end:opencv_caffe.ReshapeParameter)
41493 }
41494
41495 ::google::protobuf::uint8* ReshapeParameter::InternalSerializeWithCachedSizesToArray(
41496     bool deterministic, ::google::protobuf::uint8* target) const {
41497   (void)deterministic; // Unused
41498   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ReshapeParameter)
41499   // optional .opencv_caffe.BlobShape shape = 1;
41500   if (has_shape()) {
41501     target = ::google::protobuf::internal::WireFormatLite::
41502       InternalWriteMessageNoVirtualToArray(
41503         1, *this->shape_, false, target);
41504   }
41505
41506   // optional int32 axis = 2 [default = 0];
41507   if (has_axis()) {
41508     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
41509   }
41510
41511   // optional int32 num_axes = 3 [default = -1];
41512   if (has_num_axes()) {
41513     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->num_axes(), target);
41514   }
41515
41516   if (_internal_metadata_.have_unknown_fields()) {
41517     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
41518         unknown_fields(), target);
41519   }
41520   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ReshapeParameter)
41521   return target;
41522 }
41523
41524 size_t ReshapeParameter::ByteSizeLong() const {
41525 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ReshapeParameter)
41526   size_t total_size = 0;
41527
41528   if (_has_bits_[0 / 32] & 7u) {
41529     // optional .opencv_caffe.BlobShape shape = 1;
41530     if (has_shape()) {
41531       total_size += 1 +
41532         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
41533           *this->shape_);
41534     }
41535
41536     // optional int32 axis = 2 [default = 0];
41537     if (has_axis()) {
41538       total_size += 1 +
41539         ::google::protobuf::internal::WireFormatLite::Int32Size(
41540           this->axis());
41541     }
41542
41543     // optional int32 num_axes = 3 [default = -1];
41544     if (has_num_axes()) {
41545       total_size += 1 +
41546         ::google::protobuf::internal::WireFormatLite::Int32Size(
41547           this->num_axes());
41548     }
41549
41550   }
41551   if (_internal_metadata_.have_unknown_fields()) {
41552     total_size +=
41553       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
41554         unknown_fields());
41555   }
41556   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
41557   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41558   _cached_size_ = cached_size;
41559   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41560   return total_size;
41561 }
41562
41563 void ReshapeParameter::MergeFrom(const ::google::protobuf::Message& from) {
41564 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ReshapeParameter)
41565   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
41566   const ReshapeParameter* source =
41567       ::google::protobuf::internal::DynamicCastToGenerated<const ReshapeParameter>(
41568           &from);
41569   if (source == NULL) {
41570   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ReshapeParameter)
41571     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
41572   } else {
41573   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ReshapeParameter)
41574     UnsafeMergeFrom(*source);
41575   }
41576 }
41577
41578 void ReshapeParameter::MergeFrom(const ReshapeParameter& from) {
41579 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ReshapeParameter)
41580   if (GOOGLE_PREDICT_TRUE(&from != this)) {
41581     UnsafeMergeFrom(from);
41582   } else {
41583     MergeFromFail(__LINE__);
41584   }
41585 }
41586
41587 void ReshapeParameter::UnsafeMergeFrom(const ReshapeParameter& from) {
41588   GOOGLE_DCHECK(&from != this);
41589   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
41590     if (from.has_shape()) {
41591       mutable_shape()->::opencv_caffe::BlobShape::MergeFrom(from.shape());
41592     }
41593     if (from.has_axis()) {
41594       set_axis(from.axis());
41595     }
41596     if (from.has_num_axes()) {
41597       set_num_axes(from.num_axes());
41598     }
41599   }
41600   if (from._internal_metadata_.have_unknown_fields()) {
41601     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
41602       from.unknown_fields(), &_internal_metadata_);
41603   }
41604 }
41605
41606 void ReshapeParameter::CopyFrom(const ::google::protobuf::Message& from) {
41607 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ReshapeParameter)
41608   if (&from == this) return;
41609   Clear();
41610   MergeFrom(from);
41611 }
41612
41613 void ReshapeParameter::CopyFrom(const ReshapeParameter& from) {
41614 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ReshapeParameter)
41615   if (&from == this) return;
41616   Clear();
41617   UnsafeMergeFrom(from);
41618 }
41619
41620 bool ReshapeParameter::IsInitialized() const {
41621
41622   return true;
41623 }
41624
41625 void ReshapeParameter::Swap(ReshapeParameter* other) {
41626   if (other == this) return;
41627   InternalSwap(other);
41628 }
41629 void ReshapeParameter::InternalSwap(ReshapeParameter* other) {
41630   std::swap(shape_, other->shape_);
41631   std::swap(axis_, other->axis_);
41632   std::swap(num_axes_, other->num_axes_);
41633   std::swap(_has_bits_[0], other->_has_bits_[0]);
41634   _internal_metadata_.Swap(&other->_internal_metadata_);
41635   std::swap(_cached_size_, other->_cached_size_);
41636 }
41637
41638 ::google::protobuf::Metadata ReshapeParameter::GetMetadata() const {
41639   protobuf_AssignDescriptorsOnce();
41640   ::google::protobuf::Metadata metadata;
41641   metadata.descriptor = ReshapeParameter_descriptor_;
41642   metadata.reflection = ReshapeParameter_reflection_;
41643   return metadata;
41644 }
41645
41646 #if PROTOBUF_INLINE_NOT_IN_HEADERS
41647 // ReshapeParameter
41648
41649 // optional .opencv_caffe.BlobShape shape = 1;
41650 bool ReshapeParameter::has_shape() const {
41651   return (_has_bits_[0] & 0x00000001u) != 0;
41652 }
41653 void ReshapeParameter::set_has_shape() {
41654   _has_bits_[0] |= 0x00000001u;
41655 }
41656 void ReshapeParameter::clear_has_shape() {
41657   _has_bits_[0] &= ~0x00000001u;
41658 }
41659 void ReshapeParameter::clear_shape() {
41660   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
41661   clear_has_shape();
41662 }
41663 const ::opencv_caffe::BlobShape& ReshapeParameter::shape() const {
41664   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.shape)
41665   return shape_ != NULL ? *shape_
41666                          : *::opencv_caffe::BlobShape::internal_default_instance();
41667 }
41668 ::opencv_caffe::BlobShape* ReshapeParameter::mutable_shape() {
41669   set_has_shape();
41670   if (shape_ == NULL) {
41671     shape_ = new ::opencv_caffe::BlobShape;
41672   }
41673   // @@protoc_insertion_point(field_mutable:opencv_caffe.ReshapeParameter.shape)
41674   return shape_;
41675 }
41676 ::opencv_caffe::BlobShape* ReshapeParameter::release_shape() {
41677   // @@protoc_insertion_point(field_release:opencv_caffe.ReshapeParameter.shape)
41678   clear_has_shape();
41679   ::opencv_caffe::BlobShape* temp = shape_;
41680   shape_ = NULL;
41681   return temp;
41682 }
41683 void ReshapeParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
41684   delete shape_;
41685   shape_ = shape;
41686   if (shape) {
41687     set_has_shape();
41688   } else {
41689     clear_has_shape();
41690   }
41691   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ReshapeParameter.shape)
41692 }
41693
41694 // optional int32 axis = 2 [default = 0];
41695 bool ReshapeParameter::has_axis() const {
41696   return (_has_bits_[0] & 0x00000002u) != 0;
41697 }
41698 void ReshapeParameter::set_has_axis() {
41699   _has_bits_[0] |= 0x00000002u;
41700 }
41701 void ReshapeParameter::clear_has_axis() {
41702   _has_bits_[0] &= ~0x00000002u;
41703 }
41704 void ReshapeParameter::clear_axis() {
41705   axis_ = 0;
41706   clear_has_axis();
41707 }
41708 ::google::protobuf::int32 ReshapeParameter::axis() const {
41709   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.axis)
41710   return axis_;
41711 }
41712 void ReshapeParameter::set_axis(::google::protobuf::int32 value) {
41713   set_has_axis();
41714   axis_ = value;
41715   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.axis)
41716 }
41717
41718 // optional int32 num_axes = 3 [default = -1];
41719 bool ReshapeParameter::has_num_axes() const {
41720   return (_has_bits_[0] & 0x00000004u) != 0;
41721 }
41722 void ReshapeParameter::set_has_num_axes() {
41723   _has_bits_[0] |= 0x00000004u;
41724 }
41725 void ReshapeParameter::clear_has_num_axes() {
41726   _has_bits_[0] &= ~0x00000004u;
41727 }
41728 void ReshapeParameter::clear_num_axes() {
41729   num_axes_ = -1;
41730   clear_has_num_axes();
41731 }
41732 ::google::protobuf::int32 ReshapeParameter::num_axes() const {
41733   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.num_axes)
41734   return num_axes_;
41735 }
41736 void ReshapeParameter::set_num_axes(::google::protobuf::int32 value) {
41737   set_has_num_axes();
41738   num_axes_ = value;
41739   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.num_axes)
41740 }
41741
41742 inline const ReshapeParameter* ReshapeParameter::internal_default_instance() {
41743   return &ReshapeParameter_default_instance_.get();
41744 }
41745 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
41746
41747 // ===================================================================
41748
41749 #if !defined(_MSC_VER) || _MSC_VER >= 1900
41750 const int ScaleParameter::kAxisFieldNumber;
41751 const int ScaleParameter::kNumAxesFieldNumber;
41752 const int ScaleParameter::kFillerFieldNumber;
41753 const int ScaleParameter::kBiasTermFieldNumber;
41754 const int ScaleParameter::kBiasFillerFieldNumber;
41755 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
41756
41757 ScaleParameter::ScaleParameter()
41758   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
41759   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41760   SharedCtor();
41761   // @@protoc_insertion_point(constructor:opencv_caffe.ScaleParameter)
41762 }
41763
41764 void ScaleParameter::InitAsDefaultInstance() {
41765   filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
41766       ::opencv_caffe::FillerParameter::internal_default_instance());
41767   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
41768       ::opencv_caffe::FillerParameter::internal_default_instance());
41769 }
41770
41771 ScaleParameter::ScaleParameter(const ScaleParameter& from)
41772   : ::google::protobuf::Message(),
41773     _internal_metadata_(NULL) {
41774   SharedCtor();
41775   UnsafeMergeFrom(from);
41776   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ScaleParameter)
41777 }
41778
41779 void ScaleParameter::SharedCtor() {
41780   _cached_size_ = 0;
41781   filler_ = NULL;
41782   bias_filler_ = NULL;
41783   bias_term_ = false;
41784   axis_ = 1;
41785   num_axes_ = 1;
41786 }
41787
41788 ScaleParameter::~ScaleParameter() {
41789   // @@protoc_insertion_point(destructor:opencv_caffe.ScaleParameter)
41790   SharedDtor();
41791 }
41792
41793 void ScaleParameter::SharedDtor() {
41794   if (this != &ScaleParameter_default_instance_.get()) {
41795     delete filler_;
41796     delete bias_filler_;
41797   }
41798 }
41799
41800 void ScaleParameter::SetCachedSize(int size) const {
41801   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
41802   _cached_size_ = size;
41803   GOOGLE_SAFE_CONCURRENT_WRITES_END();
41804 }
41805 const ::google::protobuf::Descriptor* ScaleParameter::descriptor() {
41806   protobuf_AssignDescriptorsOnce();
41807   return ScaleParameter_descriptor_;
41808 }
41809
41810 const ScaleParameter& ScaleParameter::default_instance() {
41811   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
41812   return *internal_default_instance();
41813 }
41814
41815 ::google::protobuf::internal::ExplicitlyConstructed<ScaleParameter> ScaleParameter_default_instance_;
41816
41817 ScaleParameter* ScaleParameter::New(::google::protobuf::Arena* arena) const {
41818   ScaleParameter* n = new ScaleParameter;
41819   if (arena != NULL) {
41820     arena->Own(n);
41821   }
41822   return n;
41823 }
41824
41825 void ScaleParameter::Clear() {
41826 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ScaleParameter)
41827   if (_has_bits_[0 / 32] & 31u) {
41828     axis_ = 1;
41829     num_axes_ = 1;
41830     if (has_filler()) {
41831       if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
41832     }
41833     bias_term_ = false;
41834     if (has_bias_filler()) {
41835       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
41836     }
41837   }
41838   _has_bits_.Clear();
41839   if (_internal_metadata_.have_unknown_fields()) {
41840     mutable_unknown_fields()->Clear();
41841   }
41842 }
41843
41844 bool ScaleParameter::MergePartialFromCodedStream(
41845     ::google::protobuf::io::CodedInputStream* input) {
41846 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
41847   ::google::protobuf::uint32 tag;
41848   // @@protoc_insertion_point(parse_start:opencv_caffe.ScaleParameter)
41849   for (;;) {
41850     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
41851     tag = p.first;
41852     if (!p.second) goto handle_unusual;
41853     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
41854       // optional int32 axis = 1 [default = 1];
41855       case 1: {
41856         if (tag == 8) {
41857           set_has_axis();
41858           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41859                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
41860                  input, &axis_)));
41861         } else {
41862           goto handle_unusual;
41863         }
41864         if (input->ExpectTag(16)) goto parse_num_axes;
41865         break;
41866       }
41867
41868       // optional int32 num_axes = 2 [default = 1];
41869       case 2: {
41870         if (tag == 16) {
41871          parse_num_axes:
41872           set_has_num_axes();
41873           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41874                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
41875                  input, &num_axes_)));
41876         } else {
41877           goto handle_unusual;
41878         }
41879         if (input->ExpectTag(26)) goto parse_filler;
41880         break;
41881       }
41882
41883       // optional .opencv_caffe.FillerParameter filler = 3;
41884       case 3: {
41885         if (tag == 26) {
41886          parse_filler:
41887           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
41888                input, mutable_filler()));
41889         } else {
41890           goto handle_unusual;
41891         }
41892         if (input->ExpectTag(32)) goto parse_bias_term;
41893         break;
41894       }
41895
41896       // optional bool bias_term = 4 [default = false];
41897       case 4: {
41898         if (tag == 32) {
41899          parse_bias_term:
41900           set_has_bias_term();
41901           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
41902                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
41903                  input, &bias_term_)));
41904         } else {
41905           goto handle_unusual;
41906         }
41907         if (input->ExpectTag(42)) goto parse_bias_filler;
41908         break;
41909       }
41910
41911       // optional .opencv_caffe.FillerParameter bias_filler = 5;
41912       case 5: {
41913         if (tag == 42) {
41914          parse_bias_filler:
41915           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
41916                input, mutable_bias_filler()));
41917         } else {
41918           goto handle_unusual;
41919         }
41920         if (input->ExpectAtEnd()) goto success;
41921         break;
41922       }
41923
41924       default: {
41925       handle_unusual:
41926         if (tag == 0 ||
41927             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
41928             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
41929           goto success;
41930         }
41931         DO_(::google::protobuf::internal::WireFormat::SkipField(
41932               input, tag, mutable_unknown_fields()));
41933         break;
41934       }
41935     }
41936   }
41937 success:
41938   // @@protoc_insertion_point(parse_success:opencv_caffe.ScaleParameter)
41939   return true;
41940 failure:
41941   // @@protoc_insertion_point(parse_failure:opencv_caffe.ScaleParameter)
41942   return false;
41943 #undef DO_
41944 }
41945
41946 void ScaleParameter::SerializeWithCachedSizes(
41947     ::google::protobuf::io::CodedOutputStream* output) const {
41948   // @@protoc_insertion_point(serialize_start:opencv_caffe.ScaleParameter)
41949   // optional int32 axis = 1 [default = 1];
41950   if (has_axis()) {
41951     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
41952   }
41953
41954   // optional int32 num_axes = 2 [default = 1];
41955   if (has_num_axes()) {
41956     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->num_axes(), output);
41957   }
41958
41959   // optional .opencv_caffe.FillerParameter filler = 3;
41960   if (has_filler()) {
41961     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
41962       3, *this->filler_, output);
41963   }
41964
41965   // optional bool bias_term = 4 [default = false];
41966   if (has_bias_term()) {
41967     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->bias_term(), output);
41968   }
41969
41970   // optional .opencv_caffe.FillerParameter bias_filler = 5;
41971   if (has_bias_filler()) {
41972     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
41973       5, *this->bias_filler_, output);
41974   }
41975
41976   if (_internal_metadata_.have_unknown_fields()) {
41977     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
41978         unknown_fields(), output);
41979   }
41980   // @@protoc_insertion_point(serialize_end:opencv_caffe.ScaleParameter)
41981 }
41982
41983 ::google::protobuf::uint8* ScaleParameter::InternalSerializeWithCachedSizesToArray(
41984     bool deterministic, ::google::protobuf::uint8* target) const {
41985   (void)deterministic; // Unused
41986   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ScaleParameter)
41987   // optional int32 axis = 1 [default = 1];
41988   if (has_axis()) {
41989     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
41990   }
41991
41992   // optional int32 num_axes = 2 [default = 1];
41993   if (has_num_axes()) {
41994     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->num_axes(), target);
41995   }
41996
41997   // optional .opencv_caffe.FillerParameter filler = 3;
41998   if (has_filler()) {
41999     target = ::google::protobuf::internal::WireFormatLite::
42000       InternalWriteMessageNoVirtualToArray(
42001         3, *this->filler_, false, target);
42002   }
42003
42004   // optional bool bias_term = 4 [default = false];
42005   if (has_bias_term()) {
42006     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->bias_term(), target);
42007   }
42008
42009   // optional .opencv_caffe.FillerParameter bias_filler = 5;
42010   if (has_bias_filler()) {
42011     target = ::google::protobuf::internal::WireFormatLite::
42012       InternalWriteMessageNoVirtualToArray(
42013         5, *this->bias_filler_, false, target);
42014   }
42015
42016   if (_internal_metadata_.have_unknown_fields()) {
42017     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
42018         unknown_fields(), target);
42019   }
42020   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ScaleParameter)
42021   return target;
42022 }
42023
42024 size_t ScaleParameter::ByteSizeLong() const {
42025 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ScaleParameter)
42026   size_t total_size = 0;
42027
42028   if (_has_bits_[0 / 32] & 31u) {
42029     // optional int32 axis = 1 [default = 1];
42030     if (has_axis()) {
42031       total_size += 1 +
42032         ::google::protobuf::internal::WireFormatLite::Int32Size(
42033           this->axis());
42034     }
42035
42036     // optional int32 num_axes = 2 [default = 1];
42037     if (has_num_axes()) {
42038       total_size += 1 +
42039         ::google::protobuf::internal::WireFormatLite::Int32Size(
42040           this->num_axes());
42041     }
42042
42043     // optional .opencv_caffe.FillerParameter filler = 3;
42044     if (has_filler()) {
42045       total_size += 1 +
42046         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
42047           *this->filler_);
42048     }
42049
42050     // optional bool bias_term = 4 [default = false];
42051     if (has_bias_term()) {
42052       total_size += 1 + 1;
42053     }
42054
42055     // optional .opencv_caffe.FillerParameter bias_filler = 5;
42056     if (has_bias_filler()) {
42057       total_size += 1 +
42058         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
42059           *this->bias_filler_);
42060     }
42061
42062   }
42063   if (_internal_metadata_.have_unknown_fields()) {
42064     total_size +=
42065       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
42066         unknown_fields());
42067   }
42068   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
42069   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42070   _cached_size_ = cached_size;
42071   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42072   return total_size;
42073 }
42074
42075 void ScaleParameter::MergeFrom(const ::google::protobuf::Message& from) {
42076 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ScaleParameter)
42077   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
42078   const ScaleParameter* source =
42079       ::google::protobuf::internal::DynamicCastToGenerated<const ScaleParameter>(
42080           &from);
42081   if (source == NULL) {
42082   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ScaleParameter)
42083     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
42084   } else {
42085   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ScaleParameter)
42086     UnsafeMergeFrom(*source);
42087   }
42088 }
42089
42090 void ScaleParameter::MergeFrom(const ScaleParameter& from) {
42091 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ScaleParameter)
42092   if (GOOGLE_PREDICT_TRUE(&from != this)) {
42093     UnsafeMergeFrom(from);
42094   } else {
42095     MergeFromFail(__LINE__);
42096   }
42097 }
42098
42099 void ScaleParameter::UnsafeMergeFrom(const ScaleParameter& from) {
42100   GOOGLE_DCHECK(&from != this);
42101   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
42102     if (from.has_axis()) {
42103       set_axis(from.axis());
42104     }
42105     if (from.has_num_axes()) {
42106       set_num_axes(from.num_axes());
42107     }
42108     if (from.has_filler()) {
42109       mutable_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.filler());
42110     }
42111     if (from.has_bias_term()) {
42112       set_bias_term(from.bias_term());
42113     }
42114     if (from.has_bias_filler()) {
42115       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
42116     }
42117   }
42118   if (from._internal_metadata_.have_unknown_fields()) {
42119     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
42120       from.unknown_fields(), &_internal_metadata_);
42121   }
42122 }
42123
42124 void ScaleParameter::CopyFrom(const ::google::protobuf::Message& from) {
42125 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ScaleParameter)
42126   if (&from == this) return;
42127   Clear();
42128   MergeFrom(from);
42129 }
42130
42131 void ScaleParameter::CopyFrom(const ScaleParameter& from) {
42132 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ScaleParameter)
42133   if (&from == this) return;
42134   Clear();
42135   UnsafeMergeFrom(from);
42136 }
42137
42138 bool ScaleParameter::IsInitialized() const {
42139
42140   return true;
42141 }
42142
42143 void ScaleParameter::Swap(ScaleParameter* other) {
42144   if (other == this) return;
42145   InternalSwap(other);
42146 }
42147 void ScaleParameter::InternalSwap(ScaleParameter* other) {
42148   std::swap(axis_, other->axis_);
42149   std::swap(num_axes_, other->num_axes_);
42150   std::swap(filler_, other->filler_);
42151   std::swap(bias_term_, other->bias_term_);
42152   std::swap(bias_filler_, other->bias_filler_);
42153   std::swap(_has_bits_[0], other->_has_bits_[0]);
42154   _internal_metadata_.Swap(&other->_internal_metadata_);
42155   std::swap(_cached_size_, other->_cached_size_);
42156 }
42157
42158 ::google::protobuf::Metadata ScaleParameter::GetMetadata() const {
42159   protobuf_AssignDescriptorsOnce();
42160   ::google::protobuf::Metadata metadata;
42161   metadata.descriptor = ScaleParameter_descriptor_;
42162   metadata.reflection = ScaleParameter_reflection_;
42163   return metadata;
42164 }
42165
42166 #if PROTOBUF_INLINE_NOT_IN_HEADERS
42167 // ScaleParameter
42168
42169 // optional int32 axis = 1 [default = 1];
42170 bool ScaleParameter::has_axis() const {
42171   return (_has_bits_[0] & 0x00000001u) != 0;
42172 }
42173 void ScaleParameter::set_has_axis() {
42174   _has_bits_[0] |= 0x00000001u;
42175 }
42176 void ScaleParameter::clear_has_axis() {
42177   _has_bits_[0] &= ~0x00000001u;
42178 }
42179 void ScaleParameter::clear_axis() {
42180   axis_ = 1;
42181   clear_has_axis();
42182 }
42183 ::google::protobuf::int32 ScaleParameter::axis() const {
42184   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.axis)
42185   return axis_;
42186 }
42187 void ScaleParameter::set_axis(::google::protobuf::int32 value) {
42188   set_has_axis();
42189   axis_ = value;
42190   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.axis)
42191 }
42192
42193 // optional int32 num_axes = 2 [default = 1];
42194 bool ScaleParameter::has_num_axes() const {
42195   return (_has_bits_[0] & 0x00000002u) != 0;
42196 }
42197 void ScaleParameter::set_has_num_axes() {
42198   _has_bits_[0] |= 0x00000002u;
42199 }
42200 void ScaleParameter::clear_has_num_axes() {
42201   _has_bits_[0] &= ~0x00000002u;
42202 }
42203 void ScaleParameter::clear_num_axes() {
42204   num_axes_ = 1;
42205   clear_has_num_axes();
42206 }
42207 ::google::protobuf::int32 ScaleParameter::num_axes() const {
42208   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.num_axes)
42209   return num_axes_;
42210 }
42211 void ScaleParameter::set_num_axes(::google::protobuf::int32 value) {
42212   set_has_num_axes();
42213   num_axes_ = value;
42214   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.num_axes)
42215 }
42216
42217 // optional .opencv_caffe.FillerParameter filler = 3;
42218 bool ScaleParameter::has_filler() const {
42219   return (_has_bits_[0] & 0x00000004u) != 0;
42220 }
42221 void ScaleParameter::set_has_filler() {
42222   _has_bits_[0] |= 0x00000004u;
42223 }
42224 void ScaleParameter::clear_has_filler() {
42225   _has_bits_[0] &= ~0x00000004u;
42226 }
42227 void ScaleParameter::clear_filler() {
42228   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
42229   clear_has_filler();
42230 }
42231 const ::opencv_caffe::FillerParameter& ScaleParameter::filler() const {
42232   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.filler)
42233   return filler_ != NULL ? *filler_
42234                          : *::opencv_caffe::FillerParameter::internal_default_instance();
42235 }
42236 ::opencv_caffe::FillerParameter* ScaleParameter::mutable_filler() {
42237   set_has_filler();
42238   if (filler_ == NULL) {
42239     filler_ = new ::opencv_caffe::FillerParameter;
42240   }
42241   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.filler)
42242   return filler_;
42243 }
42244 ::opencv_caffe::FillerParameter* ScaleParameter::release_filler() {
42245   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.filler)
42246   clear_has_filler();
42247   ::opencv_caffe::FillerParameter* temp = filler_;
42248   filler_ = NULL;
42249   return temp;
42250 }
42251 void ScaleParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
42252   delete filler_;
42253   filler_ = filler;
42254   if (filler) {
42255     set_has_filler();
42256   } else {
42257     clear_has_filler();
42258   }
42259   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.filler)
42260 }
42261
42262 // optional bool bias_term = 4 [default = false];
42263 bool ScaleParameter::has_bias_term() const {
42264   return (_has_bits_[0] & 0x00000008u) != 0;
42265 }
42266 void ScaleParameter::set_has_bias_term() {
42267   _has_bits_[0] |= 0x00000008u;
42268 }
42269 void ScaleParameter::clear_has_bias_term() {
42270   _has_bits_[0] &= ~0x00000008u;
42271 }
42272 void ScaleParameter::clear_bias_term() {
42273   bias_term_ = false;
42274   clear_has_bias_term();
42275 }
42276 bool ScaleParameter::bias_term() const {
42277   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_term)
42278   return bias_term_;
42279 }
42280 void ScaleParameter::set_bias_term(bool value) {
42281   set_has_bias_term();
42282   bias_term_ = value;
42283   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.bias_term)
42284 }
42285
42286 // optional .opencv_caffe.FillerParameter bias_filler = 5;
42287 bool ScaleParameter::has_bias_filler() const {
42288   return (_has_bits_[0] & 0x00000010u) != 0;
42289 }
42290 void ScaleParameter::set_has_bias_filler() {
42291   _has_bits_[0] |= 0x00000010u;
42292 }
42293 void ScaleParameter::clear_has_bias_filler() {
42294   _has_bits_[0] &= ~0x00000010u;
42295 }
42296 void ScaleParameter::clear_bias_filler() {
42297   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
42298   clear_has_bias_filler();
42299 }
42300 const ::opencv_caffe::FillerParameter& ScaleParameter::bias_filler() const {
42301   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_filler)
42302   return bias_filler_ != NULL ? *bias_filler_
42303                          : *::opencv_caffe::FillerParameter::internal_default_instance();
42304 }
42305 ::opencv_caffe::FillerParameter* ScaleParameter::mutable_bias_filler() {
42306   set_has_bias_filler();
42307   if (bias_filler_ == NULL) {
42308     bias_filler_ = new ::opencv_caffe::FillerParameter;
42309   }
42310   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.bias_filler)
42311   return bias_filler_;
42312 }
42313 ::opencv_caffe::FillerParameter* ScaleParameter::release_bias_filler() {
42314   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.bias_filler)
42315   clear_has_bias_filler();
42316   ::opencv_caffe::FillerParameter* temp = bias_filler_;
42317   bias_filler_ = NULL;
42318   return temp;
42319 }
42320 void ScaleParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
42321   delete bias_filler_;
42322   bias_filler_ = bias_filler;
42323   if (bias_filler) {
42324     set_has_bias_filler();
42325   } else {
42326     clear_has_bias_filler();
42327   }
42328   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.bias_filler)
42329 }
42330
42331 inline const ScaleParameter* ScaleParameter::internal_default_instance() {
42332   return &ScaleParameter_default_instance_.get();
42333 }
42334 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
42335
42336 // ===================================================================
42337
42338 const ::google::protobuf::EnumDescriptor* SigmoidParameter_Engine_descriptor() {
42339   protobuf_AssignDescriptorsOnce();
42340   return SigmoidParameter_Engine_descriptor_;
42341 }
42342 bool SigmoidParameter_Engine_IsValid(int value) {
42343   switch (value) {
42344     case 0:
42345     case 1:
42346     case 2:
42347       return true;
42348     default:
42349       return false;
42350   }
42351 }
42352
42353 #if !defined(_MSC_VER) || _MSC_VER >= 1900
42354 const SigmoidParameter_Engine SigmoidParameter::DEFAULT;
42355 const SigmoidParameter_Engine SigmoidParameter::CAFFE;
42356 const SigmoidParameter_Engine SigmoidParameter::CUDNN;
42357 const SigmoidParameter_Engine SigmoidParameter::Engine_MIN;
42358 const SigmoidParameter_Engine SigmoidParameter::Engine_MAX;
42359 const int SigmoidParameter::Engine_ARRAYSIZE;
42360 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
42361 #if !defined(_MSC_VER) || _MSC_VER >= 1900
42362 const int SigmoidParameter::kEngineFieldNumber;
42363 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
42364
42365 SigmoidParameter::SigmoidParameter()
42366   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
42367   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42368   SharedCtor();
42369   // @@protoc_insertion_point(constructor:opencv_caffe.SigmoidParameter)
42370 }
42371
42372 void SigmoidParameter::InitAsDefaultInstance() {
42373 }
42374
42375 SigmoidParameter::SigmoidParameter(const SigmoidParameter& from)
42376   : ::google::protobuf::Message(),
42377     _internal_metadata_(NULL) {
42378   SharedCtor();
42379   UnsafeMergeFrom(from);
42380   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SigmoidParameter)
42381 }
42382
42383 void SigmoidParameter::SharedCtor() {
42384   _cached_size_ = 0;
42385   engine_ = 0;
42386 }
42387
42388 SigmoidParameter::~SigmoidParameter() {
42389   // @@protoc_insertion_point(destructor:opencv_caffe.SigmoidParameter)
42390   SharedDtor();
42391 }
42392
42393 void SigmoidParameter::SharedDtor() {
42394 }
42395
42396 void SigmoidParameter::SetCachedSize(int size) const {
42397   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42398   _cached_size_ = size;
42399   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42400 }
42401 const ::google::protobuf::Descriptor* SigmoidParameter::descriptor() {
42402   protobuf_AssignDescriptorsOnce();
42403   return SigmoidParameter_descriptor_;
42404 }
42405
42406 const SigmoidParameter& SigmoidParameter::default_instance() {
42407   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42408   return *internal_default_instance();
42409 }
42410
42411 ::google::protobuf::internal::ExplicitlyConstructed<SigmoidParameter> SigmoidParameter_default_instance_;
42412
42413 SigmoidParameter* SigmoidParameter::New(::google::protobuf::Arena* arena) const {
42414   SigmoidParameter* n = new SigmoidParameter;
42415   if (arena != NULL) {
42416     arena->Own(n);
42417   }
42418   return n;
42419 }
42420
42421 void SigmoidParameter::Clear() {
42422 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SigmoidParameter)
42423   engine_ = 0;
42424   _has_bits_.Clear();
42425   if (_internal_metadata_.have_unknown_fields()) {
42426     mutable_unknown_fields()->Clear();
42427   }
42428 }
42429
42430 bool SigmoidParameter::MergePartialFromCodedStream(
42431     ::google::protobuf::io::CodedInputStream* input) {
42432 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
42433   ::google::protobuf::uint32 tag;
42434   // @@protoc_insertion_point(parse_start:opencv_caffe.SigmoidParameter)
42435   for (;;) {
42436     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
42437     tag = p.first;
42438     if (!p.second) goto handle_unusual;
42439     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
42440       // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42441       case 1: {
42442         if (tag == 8) {
42443           int value;
42444           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42445                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
42446                  input, &value)));
42447           if (::opencv_caffe::SigmoidParameter_Engine_IsValid(value)) {
42448             set_engine(static_cast< ::opencv_caffe::SigmoidParameter_Engine >(value));
42449           } else {
42450             mutable_unknown_fields()->AddVarint(1, value);
42451           }
42452         } else {
42453           goto handle_unusual;
42454         }
42455         if (input->ExpectAtEnd()) goto success;
42456         break;
42457       }
42458
42459       default: {
42460       handle_unusual:
42461         if (tag == 0 ||
42462             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
42463             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
42464           goto success;
42465         }
42466         DO_(::google::protobuf::internal::WireFormat::SkipField(
42467               input, tag, mutable_unknown_fields()));
42468         break;
42469       }
42470     }
42471   }
42472 success:
42473   // @@protoc_insertion_point(parse_success:opencv_caffe.SigmoidParameter)
42474   return true;
42475 failure:
42476   // @@protoc_insertion_point(parse_failure:opencv_caffe.SigmoidParameter)
42477   return false;
42478 #undef DO_
42479 }
42480
42481 void SigmoidParameter::SerializeWithCachedSizes(
42482     ::google::protobuf::io::CodedOutputStream* output) const {
42483   // @@protoc_insertion_point(serialize_start:opencv_caffe.SigmoidParameter)
42484   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42485   if (has_engine()) {
42486     ::google::protobuf::internal::WireFormatLite::WriteEnum(
42487       1, this->engine(), output);
42488   }
42489
42490   if (_internal_metadata_.have_unknown_fields()) {
42491     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
42492         unknown_fields(), output);
42493   }
42494   // @@protoc_insertion_point(serialize_end:opencv_caffe.SigmoidParameter)
42495 }
42496
42497 ::google::protobuf::uint8* SigmoidParameter::InternalSerializeWithCachedSizesToArray(
42498     bool deterministic, ::google::protobuf::uint8* target) const {
42499   (void)deterministic; // Unused
42500   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SigmoidParameter)
42501   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42502   if (has_engine()) {
42503     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
42504       1, this->engine(), target);
42505   }
42506
42507   if (_internal_metadata_.have_unknown_fields()) {
42508     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
42509         unknown_fields(), target);
42510   }
42511   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SigmoidParameter)
42512   return target;
42513 }
42514
42515 size_t SigmoidParameter::ByteSizeLong() const {
42516 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SigmoidParameter)
42517   size_t total_size = 0;
42518
42519   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42520   if (has_engine()) {
42521     total_size += 1 +
42522       ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
42523   }
42524
42525   if (_internal_metadata_.have_unknown_fields()) {
42526     total_size +=
42527       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
42528         unknown_fields());
42529   }
42530   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
42531   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42532   _cached_size_ = cached_size;
42533   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42534   return total_size;
42535 }
42536
42537 void SigmoidParameter::MergeFrom(const ::google::protobuf::Message& from) {
42538 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SigmoidParameter)
42539   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
42540   const SigmoidParameter* source =
42541       ::google::protobuf::internal::DynamicCastToGenerated<const SigmoidParameter>(
42542           &from);
42543   if (source == NULL) {
42544   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SigmoidParameter)
42545     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
42546   } else {
42547   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SigmoidParameter)
42548     UnsafeMergeFrom(*source);
42549   }
42550 }
42551
42552 void SigmoidParameter::MergeFrom(const SigmoidParameter& from) {
42553 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SigmoidParameter)
42554   if (GOOGLE_PREDICT_TRUE(&from != this)) {
42555     UnsafeMergeFrom(from);
42556   } else {
42557     MergeFromFail(__LINE__);
42558   }
42559 }
42560
42561 void SigmoidParameter::UnsafeMergeFrom(const SigmoidParameter& from) {
42562   GOOGLE_DCHECK(&from != this);
42563   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
42564     if (from.has_engine()) {
42565       set_engine(from.engine());
42566     }
42567   }
42568   if (from._internal_metadata_.have_unknown_fields()) {
42569     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
42570       from.unknown_fields(), &_internal_metadata_);
42571   }
42572 }
42573
42574 void SigmoidParameter::CopyFrom(const ::google::protobuf::Message& from) {
42575 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SigmoidParameter)
42576   if (&from == this) return;
42577   Clear();
42578   MergeFrom(from);
42579 }
42580
42581 void SigmoidParameter::CopyFrom(const SigmoidParameter& from) {
42582 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SigmoidParameter)
42583   if (&from == this) return;
42584   Clear();
42585   UnsafeMergeFrom(from);
42586 }
42587
42588 bool SigmoidParameter::IsInitialized() const {
42589
42590   return true;
42591 }
42592
42593 void SigmoidParameter::Swap(SigmoidParameter* other) {
42594   if (other == this) return;
42595   InternalSwap(other);
42596 }
42597 void SigmoidParameter::InternalSwap(SigmoidParameter* other) {
42598   std::swap(engine_, other->engine_);
42599   std::swap(_has_bits_[0], other->_has_bits_[0]);
42600   _internal_metadata_.Swap(&other->_internal_metadata_);
42601   std::swap(_cached_size_, other->_cached_size_);
42602 }
42603
42604 ::google::protobuf::Metadata SigmoidParameter::GetMetadata() const {
42605   protobuf_AssignDescriptorsOnce();
42606   ::google::protobuf::Metadata metadata;
42607   metadata.descriptor = SigmoidParameter_descriptor_;
42608   metadata.reflection = SigmoidParameter_reflection_;
42609   return metadata;
42610 }
42611
42612 #if PROTOBUF_INLINE_NOT_IN_HEADERS
42613 // SigmoidParameter
42614
42615 // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
42616 bool SigmoidParameter::has_engine() const {
42617   return (_has_bits_[0] & 0x00000001u) != 0;
42618 }
42619 void SigmoidParameter::set_has_engine() {
42620   _has_bits_[0] |= 0x00000001u;
42621 }
42622 void SigmoidParameter::clear_has_engine() {
42623   _has_bits_[0] &= ~0x00000001u;
42624 }
42625 void SigmoidParameter::clear_engine() {
42626   engine_ = 0;
42627   clear_has_engine();
42628 }
42629 ::opencv_caffe::SigmoidParameter_Engine SigmoidParameter::engine() const {
42630   // @@protoc_insertion_point(field_get:opencv_caffe.SigmoidParameter.engine)
42631   return static_cast< ::opencv_caffe::SigmoidParameter_Engine >(engine_);
42632 }
42633 void SigmoidParameter::set_engine(::opencv_caffe::SigmoidParameter_Engine value) {
42634   assert(::opencv_caffe::SigmoidParameter_Engine_IsValid(value));
42635   set_has_engine();
42636   engine_ = value;
42637   // @@protoc_insertion_point(field_set:opencv_caffe.SigmoidParameter.engine)
42638 }
42639
42640 inline const SigmoidParameter* SigmoidParameter::internal_default_instance() {
42641   return &SigmoidParameter_default_instance_.get();
42642 }
42643 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
42644
42645 // ===================================================================
42646
42647 #if !defined(_MSC_VER) || _MSC_VER >= 1900
42648 const int SliceParameter::kAxisFieldNumber;
42649 const int SliceParameter::kSlicePointFieldNumber;
42650 const int SliceParameter::kSliceDimFieldNumber;
42651 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
42652
42653 SliceParameter::SliceParameter()
42654   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
42655   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42656   SharedCtor();
42657   // @@protoc_insertion_point(constructor:opencv_caffe.SliceParameter)
42658 }
42659
42660 void SliceParameter::InitAsDefaultInstance() {
42661 }
42662
42663 SliceParameter::SliceParameter(const SliceParameter& from)
42664   : ::google::protobuf::Message(),
42665     _internal_metadata_(NULL) {
42666   SharedCtor();
42667   UnsafeMergeFrom(from);
42668   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SliceParameter)
42669 }
42670
42671 void SliceParameter::SharedCtor() {
42672   _cached_size_ = 0;
42673   axis_ = 1;
42674   slice_dim_ = 1u;
42675 }
42676
42677 SliceParameter::~SliceParameter() {
42678   // @@protoc_insertion_point(destructor:opencv_caffe.SliceParameter)
42679   SharedDtor();
42680 }
42681
42682 void SliceParameter::SharedDtor() {
42683 }
42684
42685 void SliceParameter::SetCachedSize(int size) const {
42686   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42687   _cached_size_ = size;
42688   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42689 }
42690 const ::google::protobuf::Descriptor* SliceParameter::descriptor() {
42691   protobuf_AssignDescriptorsOnce();
42692   return SliceParameter_descriptor_;
42693 }
42694
42695 const SliceParameter& SliceParameter::default_instance() {
42696   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
42697   return *internal_default_instance();
42698 }
42699
42700 ::google::protobuf::internal::ExplicitlyConstructed<SliceParameter> SliceParameter_default_instance_;
42701
42702 SliceParameter* SliceParameter::New(::google::protobuf::Arena* arena) const {
42703   SliceParameter* n = new SliceParameter;
42704   if (arena != NULL) {
42705     arena->Own(n);
42706   }
42707   return n;
42708 }
42709
42710 void SliceParameter::Clear() {
42711 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SliceParameter)
42712   if (_has_bits_[0 / 32] & 5u) {
42713     axis_ = 1;
42714     slice_dim_ = 1u;
42715   }
42716   slice_point_.Clear();
42717   _has_bits_.Clear();
42718   if (_internal_metadata_.have_unknown_fields()) {
42719     mutable_unknown_fields()->Clear();
42720   }
42721 }
42722
42723 bool SliceParameter::MergePartialFromCodedStream(
42724     ::google::protobuf::io::CodedInputStream* input) {
42725 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
42726   ::google::protobuf::uint32 tag;
42727   // @@protoc_insertion_point(parse_start:opencv_caffe.SliceParameter)
42728   for (;;) {
42729     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
42730     tag = p.first;
42731     if (!p.second) goto handle_unusual;
42732     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
42733       // optional uint32 slice_dim = 1 [default = 1];
42734       case 1: {
42735         if (tag == 8) {
42736           set_has_slice_dim();
42737           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42738                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
42739                  input, &slice_dim_)));
42740         } else {
42741           goto handle_unusual;
42742         }
42743         if (input->ExpectTag(16)) goto parse_slice_point;
42744         break;
42745       }
42746
42747       // repeated uint32 slice_point = 2;
42748       case 2: {
42749         if (tag == 16) {
42750          parse_slice_point:
42751           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
42752                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
42753                  1, 16, input, this->mutable_slice_point())));
42754         } else if (tag == 18) {
42755           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
42756                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
42757                  input, this->mutable_slice_point())));
42758         } else {
42759           goto handle_unusual;
42760         }
42761         if (input->ExpectTag(16)) goto parse_slice_point;
42762         if (input->ExpectTag(24)) goto parse_axis;
42763         break;
42764       }
42765
42766       // optional int32 axis = 3 [default = 1];
42767       case 3: {
42768         if (tag == 24) {
42769          parse_axis:
42770           set_has_axis();
42771           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
42772                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
42773                  input, &axis_)));
42774         } else {
42775           goto handle_unusual;
42776         }
42777         if (input->ExpectAtEnd()) goto success;
42778         break;
42779       }
42780
42781       default: {
42782       handle_unusual:
42783         if (tag == 0 ||
42784             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
42785             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
42786           goto success;
42787         }
42788         DO_(::google::protobuf::internal::WireFormat::SkipField(
42789               input, tag, mutable_unknown_fields()));
42790         break;
42791       }
42792     }
42793   }
42794 success:
42795   // @@protoc_insertion_point(parse_success:opencv_caffe.SliceParameter)
42796   return true;
42797 failure:
42798   // @@protoc_insertion_point(parse_failure:opencv_caffe.SliceParameter)
42799   return false;
42800 #undef DO_
42801 }
42802
42803 void SliceParameter::SerializeWithCachedSizes(
42804     ::google::protobuf::io::CodedOutputStream* output) const {
42805   // @@protoc_insertion_point(serialize_start:opencv_caffe.SliceParameter)
42806   // optional uint32 slice_dim = 1 [default = 1];
42807   if (has_slice_dim()) {
42808     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->slice_dim(), output);
42809   }
42810
42811   // repeated uint32 slice_point = 2;
42812   for (int i = 0; i < this->slice_point_size(); i++) {
42813     ::google::protobuf::internal::WireFormatLite::WriteUInt32(
42814       2, this->slice_point(i), output);
42815   }
42816
42817   // optional int32 axis = 3 [default = 1];
42818   if (has_axis()) {
42819     ::google::protobuf::internal::WireFormatLite::WriteInt32(3, this->axis(), output);
42820   }
42821
42822   if (_internal_metadata_.have_unknown_fields()) {
42823     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
42824         unknown_fields(), output);
42825   }
42826   // @@protoc_insertion_point(serialize_end:opencv_caffe.SliceParameter)
42827 }
42828
42829 ::google::protobuf::uint8* SliceParameter::InternalSerializeWithCachedSizesToArray(
42830     bool deterministic, ::google::protobuf::uint8* target) const {
42831   (void)deterministic; // Unused
42832   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SliceParameter)
42833   // optional uint32 slice_dim = 1 [default = 1];
42834   if (has_slice_dim()) {
42835     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->slice_dim(), target);
42836   }
42837
42838   // repeated uint32 slice_point = 2;
42839   for (int i = 0; i < this->slice_point_size(); i++) {
42840     target = ::google::protobuf::internal::WireFormatLite::
42841       WriteUInt32ToArray(2, this->slice_point(i), target);
42842   }
42843
42844   // optional int32 axis = 3 [default = 1];
42845   if (has_axis()) {
42846     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(3, this->axis(), target);
42847   }
42848
42849   if (_internal_metadata_.have_unknown_fields()) {
42850     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
42851         unknown_fields(), target);
42852   }
42853   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SliceParameter)
42854   return target;
42855 }
42856
42857 size_t SliceParameter::ByteSizeLong() const {
42858 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SliceParameter)
42859   size_t total_size = 0;
42860
42861   if (_has_bits_[0 / 32] & 5u) {
42862     // optional int32 axis = 3 [default = 1];
42863     if (has_axis()) {
42864       total_size += 1 +
42865         ::google::protobuf::internal::WireFormatLite::Int32Size(
42866           this->axis());
42867     }
42868
42869     // optional uint32 slice_dim = 1 [default = 1];
42870     if (has_slice_dim()) {
42871       total_size += 1 +
42872         ::google::protobuf::internal::WireFormatLite::UInt32Size(
42873           this->slice_dim());
42874     }
42875
42876   }
42877   // repeated uint32 slice_point = 2;
42878   {
42879     size_t data_size = 0;
42880     unsigned int count = this->slice_point_size();
42881     for (unsigned int i = 0; i < count; i++) {
42882       data_size += ::google::protobuf::internal::WireFormatLite::
42883         UInt32Size(this->slice_point(i));
42884     }
42885     total_size += 1 *
42886                   ::google::protobuf::internal::FromIntSize(this->slice_point_size());
42887     total_size += data_size;
42888   }
42889
42890   if (_internal_metadata_.have_unknown_fields()) {
42891     total_size +=
42892       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
42893         unknown_fields());
42894   }
42895   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
42896   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
42897   _cached_size_ = cached_size;
42898   GOOGLE_SAFE_CONCURRENT_WRITES_END();
42899   return total_size;
42900 }
42901
42902 void SliceParameter::MergeFrom(const ::google::protobuf::Message& from) {
42903 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SliceParameter)
42904   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
42905   const SliceParameter* source =
42906       ::google::protobuf::internal::DynamicCastToGenerated<const SliceParameter>(
42907           &from);
42908   if (source == NULL) {
42909   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SliceParameter)
42910     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
42911   } else {
42912   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SliceParameter)
42913     UnsafeMergeFrom(*source);
42914   }
42915 }
42916
42917 void SliceParameter::MergeFrom(const SliceParameter& from) {
42918 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SliceParameter)
42919   if (GOOGLE_PREDICT_TRUE(&from != this)) {
42920     UnsafeMergeFrom(from);
42921   } else {
42922     MergeFromFail(__LINE__);
42923   }
42924 }
42925
42926 void SliceParameter::UnsafeMergeFrom(const SliceParameter& from) {
42927   GOOGLE_DCHECK(&from != this);
42928   slice_point_.UnsafeMergeFrom(from.slice_point_);
42929   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
42930     if (from.has_axis()) {
42931       set_axis(from.axis());
42932     }
42933     if (from.has_slice_dim()) {
42934       set_slice_dim(from.slice_dim());
42935     }
42936   }
42937   if (from._internal_metadata_.have_unknown_fields()) {
42938     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
42939       from.unknown_fields(), &_internal_metadata_);
42940   }
42941 }
42942
42943 void SliceParameter::CopyFrom(const ::google::protobuf::Message& from) {
42944 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SliceParameter)
42945   if (&from == this) return;
42946   Clear();
42947   MergeFrom(from);
42948 }
42949
42950 void SliceParameter::CopyFrom(const SliceParameter& from) {
42951 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SliceParameter)
42952   if (&from == this) return;
42953   Clear();
42954   UnsafeMergeFrom(from);
42955 }
42956
42957 bool SliceParameter::IsInitialized() const {
42958
42959   return true;
42960 }
42961
42962 void SliceParameter::Swap(SliceParameter* other) {
42963   if (other == this) return;
42964   InternalSwap(other);
42965 }
42966 void SliceParameter::InternalSwap(SliceParameter* other) {
42967   std::swap(axis_, other->axis_);
42968   slice_point_.UnsafeArenaSwap(&other->slice_point_);
42969   std::swap(slice_dim_, other->slice_dim_);
42970   std::swap(_has_bits_[0], other->_has_bits_[0]);
42971   _internal_metadata_.Swap(&other->_internal_metadata_);
42972   std::swap(_cached_size_, other->_cached_size_);
42973 }
42974
42975 ::google::protobuf::Metadata SliceParameter::GetMetadata() const {
42976   protobuf_AssignDescriptorsOnce();
42977   ::google::protobuf::Metadata metadata;
42978   metadata.descriptor = SliceParameter_descriptor_;
42979   metadata.reflection = SliceParameter_reflection_;
42980   return metadata;
42981 }
42982
42983 #if PROTOBUF_INLINE_NOT_IN_HEADERS
42984 // SliceParameter
42985
42986 // optional int32 axis = 3 [default = 1];
42987 bool SliceParameter::has_axis() const {
42988   return (_has_bits_[0] & 0x00000001u) != 0;
42989 }
42990 void SliceParameter::set_has_axis() {
42991   _has_bits_[0] |= 0x00000001u;
42992 }
42993 void SliceParameter::clear_has_axis() {
42994   _has_bits_[0] &= ~0x00000001u;
42995 }
42996 void SliceParameter::clear_axis() {
42997   axis_ = 1;
42998   clear_has_axis();
42999 }
43000 ::google::protobuf::int32 SliceParameter::axis() const {
43001   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.axis)
43002   return axis_;
43003 }
43004 void SliceParameter::set_axis(::google::protobuf::int32 value) {
43005   set_has_axis();
43006   axis_ = value;
43007   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.axis)
43008 }
43009
43010 // repeated uint32 slice_point = 2;
43011 int SliceParameter::slice_point_size() const {
43012   return slice_point_.size();
43013 }
43014 void SliceParameter::clear_slice_point() {
43015   slice_point_.Clear();
43016 }
43017 ::google::protobuf::uint32 SliceParameter::slice_point(int index) const {
43018   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_point)
43019   return slice_point_.Get(index);
43020 }
43021 void SliceParameter::set_slice_point(int index, ::google::protobuf::uint32 value) {
43022   slice_point_.Set(index, value);
43023   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_point)
43024 }
43025 void SliceParameter::add_slice_point(::google::protobuf::uint32 value) {
43026   slice_point_.Add(value);
43027   // @@protoc_insertion_point(field_add:opencv_caffe.SliceParameter.slice_point)
43028 }
43029 const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
43030 SliceParameter::slice_point() const {
43031   // @@protoc_insertion_point(field_list:opencv_caffe.SliceParameter.slice_point)
43032   return slice_point_;
43033 }
43034 ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
43035 SliceParameter::mutable_slice_point() {
43036   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SliceParameter.slice_point)
43037   return &slice_point_;
43038 }
43039
43040 // optional uint32 slice_dim = 1 [default = 1];
43041 bool SliceParameter::has_slice_dim() const {
43042   return (_has_bits_[0] & 0x00000004u) != 0;
43043 }
43044 void SliceParameter::set_has_slice_dim() {
43045   _has_bits_[0] |= 0x00000004u;
43046 }
43047 void SliceParameter::clear_has_slice_dim() {
43048   _has_bits_[0] &= ~0x00000004u;
43049 }
43050 void SliceParameter::clear_slice_dim() {
43051   slice_dim_ = 1u;
43052   clear_has_slice_dim();
43053 }
43054 ::google::protobuf::uint32 SliceParameter::slice_dim() const {
43055   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_dim)
43056   return slice_dim_;
43057 }
43058 void SliceParameter::set_slice_dim(::google::protobuf::uint32 value) {
43059   set_has_slice_dim();
43060   slice_dim_ = value;
43061   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_dim)
43062 }
43063
43064 inline const SliceParameter* SliceParameter::internal_default_instance() {
43065   return &SliceParameter_default_instance_.get();
43066 }
43067 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
43068
43069 // ===================================================================
43070
43071 const ::google::protobuf::EnumDescriptor* SoftmaxParameter_Engine_descriptor() {
43072   protobuf_AssignDescriptorsOnce();
43073   return SoftmaxParameter_Engine_descriptor_;
43074 }
43075 bool SoftmaxParameter_Engine_IsValid(int value) {
43076   switch (value) {
43077     case 0:
43078     case 1:
43079     case 2:
43080       return true;
43081     default:
43082       return false;
43083   }
43084 }
43085
43086 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43087 const SoftmaxParameter_Engine SoftmaxParameter::DEFAULT;
43088 const SoftmaxParameter_Engine SoftmaxParameter::CAFFE;
43089 const SoftmaxParameter_Engine SoftmaxParameter::CUDNN;
43090 const SoftmaxParameter_Engine SoftmaxParameter::Engine_MIN;
43091 const SoftmaxParameter_Engine SoftmaxParameter::Engine_MAX;
43092 const int SoftmaxParameter::Engine_ARRAYSIZE;
43093 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43094 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43095 const int SoftmaxParameter::kEngineFieldNumber;
43096 const int SoftmaxParameter::kAxisFieldNumber;
43097 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43098
43099 SoftmaxParameter::SoftmaxParameter()
43100   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
43101   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43102   SharedCtor();
43103   // @@protoc_insertion_point(constructor:opencv_caffe.SoftmaxParameter)
43104 }
43105
43106 void SoftmaxParameter::InitAsDefaultInstance() {
43107 }
43108
43109 SoftmaxParameter::SoftmaxParameter(const SoftmaxParameter& from)
43110   : ::google::protobuf::Message(),
43111     _internal_metadata_(NULL) {
43112   SharedCtor();
43113   UnsafeMergeFrom(from);
43114   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SoftmaxParameter)
43115 }
43116
43117 void SoftmaxParameter::SharedCtor() {
43118   _cached_size_ = 0;
43119   engine_ = 0;
43120   axis_ = 1;
43121 }
43122
43123 SoftmaxParameter::~SoftmaxParameter() {
43124   // @@protoc_insertion_point(destructor:opencv_caffe.SoftmaxParameter)
43125   SharedDtor();
43126 }
43127
43128 void SoftmaxParameter::SharedDtor() {
43129 }
43130
43131 void SoftmaxParameter::SetCachedSize(int size) const {
43132   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43133   _cached_size_ = size;
43134   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43135 }
43136 const ::google::protobuf::Descriptor* SoftmaxParameter::descriptor() {
43137   protobuf_AssignDescriptorsOnce();
43138   return SoftmaxParameter_descriptor_;
43139 }
43140
43141 const SoftmaxParameter& SoftmaxParameter::default_instance() {
43142   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43143   return *internal_default_instance();
43144 }
43145
43146 ::google::protobuf::internal::ExplicitlyConstructed<SoftmaxParameter> SoftmaxParameter_default_instance_;
43147
43148 SoftmaxParameter* SoftmaxParameter::New(::google::protobuf::Arena* arena) const {
43149   SoftmaxParameter* n = new SoftmaxParameter;
43150   if (arena != NULL) {
43151     arena->Own(n);
43152   }
43153   return n;
43154 }
43155
43156 void SoftmaxParameter::Clear() {
43157 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SoftmaxParameter)
43158   if (_has_bits_[0 / 32] & 3u) {
43159     engine_ = 0;
43160     axis_ = 1;
43161   }
43162   _has_bits_.Clear();
43163   if (_internal_metadata_.have_unknown_fields()) {
43164     mutable_unknown_fields()->Clear();
43165   }
43166 }
43167
43168 bool SoftmaxParameter::MergePartialFromCodedStream(
43169     ::google::protobuf::io::CodedInputStream* input) {
43170 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
43171   ::google::protobuf::uint32 tag;
43172   // @@protoc_insertion_point(parse_start:opencv_caffe.SoftmaxParameter)
43173   for (;;) {
43174     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
43175     tag = p.first;
43176     if (!p.second) goto handle_unusual;
43177     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
43178       // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43179       case 1: {
43180         if (tag == 8) {
43181           int value;
43182           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43183                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
43184                  input, &value)));
43185           if (::opencv_caffe::SoftmaxParameter_Engine_IsValid(value)) {
43186             set_engine(static_cast< ::opencv_caffe::SoftmaxParameter_Engine >(value));
43187           } else {
43188             mutable_unknown_fields()->AddVarint(1, value);
43189           }
43190         } else {
43191           goto handle_unusual;
43192         }
43193         if (input->ExpectTag(16)) goto parse_axis;
43194         break;
43195       }
43196
43197       // optional int32 axis = 2 [default = 1];
43198       case 2: {
43199         if (tag == 16) {
43200          parse_axis:
43201           set_has_axis();
43202           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43203                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
43204                  input, &axis_)));
43205         } else {
43206           goto handle_unusual;
43207         }
43208         if (input->ExpectAtEnd()) goto success;
43209         break;
43210       }
43211
43212       default: {
43213       handle_unusual:
43214         if (tag == 0 ||
43215             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
43216             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
43217           goto success;
43218         }
43219         DO_(::google::protobuf::internal::WireFormat::SkipField(
43220               input, tag, mutable_unknown_fields()));
43221         break;
43222       }
43223     }
43224   }
43225 success:
43226   // @@protoc_insertion_point(parse_success:opencv_caffe.SoftmaxParameter)
43227   return true;
43228 failure:
43229   // @@protoc_insertion_point(parse_failure:opencv_caffe.SoftmaxParameter)
43230   return false;
43231 #undef DO_
43232 }
43233
43234 void SoftmaxParameter::SerializeWithCachedSizes(
43235     ::google::protobuf::io::CodedOutputStream* output) const {
43236   // @@protoc_insertion_point(serialize_start:opencv_caffe.SoftmaxParameter)
43237   // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43238   if (has_engine()) {
43239     ::google::protobuf::internal::WireFormatLite::WriteEnum(
43240       1, this->engine(), output);
43241   }
43242
43243   // optional int32 axis = 2 [default = 1];
43244   if (has_axis()) {
43245     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->axis(), output);
43246   }
43247
43248   if (_internal_metadata_.have_unknown_fields()) {
43249     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
43250         unknown_fields(), output);
43251   }
43252   // @@protoc_insertion_point(serialize_end:opencv_caffe.SoftmaxParameter)
43253 }
43254
43255 ::google::protobuf::uint8* SoftmaxParameter::InternalSerializeWithCachedSizesToArray(
43256     bool deterministic, ::google::protobuf::uint8* target) const {
43257   (void)deterministic; // Unused
43258   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SoftmaxParameter)
43259   // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43260   if (has_engine()) {
43261     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
43262       1, this->engine(), target);
43263   }
43264
43265   // optional int32 axis = 2 [default = 1];
43266   if (has_axis()) {
43267     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->axis(), target);
43268   }
43269
43270   if (_internal_metadata_.have_unknown_fields()) {
43271     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
43272         unknown_fields(), target);
43273   }
43274   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SoftmaxParameter)
43275   return target;
43276 }
43277
43278 size_t SoftmaxParameter::ByteSizeLong() const {
43279 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SoftmaxParameter)
43280   size_t total_size = 0;
43281
43282   if (_has_bits_[0 / 32] & 3u) {
43283     // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43284     if (has_engine()) {
43285       total_size += 1 +
43286         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
43287     }
43288
43289     // optional int32 axis = 2 [default = 1];
43290     if (has_axis()) {
43291       total_size += 1 +
43292         ::google::protobuf::internal::WireFormatLite::Int32Size(
43293           this->axis());
43294     }
43295
43296   }
43297   if (_internal_metadata_.have_unknown_fields()) {
43298     total_size +=
43299       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
43300         unknown_fields());
43301   }
43302   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
43303   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43304   _cached_size_ = cached_size;
43305   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43306   return total_size;
43307 }
43308
43309 void SoftmaxParameter::MergeFrom(const ::google::protobuf::Message& from) {
43310 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SoftmaxParameter)
43311   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
43312   const SoftmaxParameter* source =
43313       ::google::protobuf::internal::DynamicCastToGenerated<const SoftmaxParameter>(
43314           &from);
43315   if (source == NULL) {
43316   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SoftmaxParameter)
43317     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
43318   } else {
43319   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SoftmaxParameter)
43320     UnsafeMergeFrom(*source);
43321   }
43322 }
43323
43324 void SoftmaxParameter::MergeFrom(const SoftmaxParameter& from) {
43325 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SoftmaxParameter)
43326   if (GOOGLE_PREDICT_TRUE(&from != this)) {
43327     UnsafeMergeFrom(from);
43328   } else {
43329     MergeFromFail(__LINE__);
43330   }
43331 }
43332
43333 void SoftmaxParameter::UnsafeMergeFrom(const SoftmaxParameter& from) {
43334   GOOGLE_DCHECK(&from != this);
43335   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
43336     if (from.has_engine()) {
43337       set_engine(from.engine());
43338     }
43339     if (from.has_axis()) {
43340       set_axis(from.axis());
43341     }
43342   }
43343   if (from._internal_metadata_.have_unknown_fields()) {
43344     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
43345       from.unknown_fields(), &_internal_metadata_);
43346   }
43347 }
43348
43349 void SoftmaxParameter::CopyFrom(const ::google::protobuf::Message& from) {
43350 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SoftmaxParameter)
43351   if (&from == this) return;
43352   Clear();
43353   MergeFrom(from);
43354 }
43355
43356 void SoftmaxParameter::CopyFrom(const SoftmaxParameter& from) {
43357 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SoftmaxParameter)
43358   if (&from == this) return;
43359   Clear();
43360   UnsafeMergeFrom(from);
43361 }
43362
43363 bool SoftmaxParameter::IsInitialized() const {
43364
43365   return true;
43366 }
43367
43368 void SoftmaxParameter::Swap(SoftmaxParameter* other) {
43369   if (other == this) return;
43370   InternalSwap(other);
43371 }
43372 void SoftmaxParameter::InternalSwap(SoftmaxParameter* other) {
43373   std::swap(engine_, other->engine_);
43374   std::swap(axis_, other->axis_);
43375   std::swap(_has_bits_[0], other->_has_bits_[0]);
43376   _internal_metadata_.Swap(&other->_internal_metadata_);
43377   std::swap(_cached_size_, other->_cached_size_);
43378 }
43379
43380 ::google::protobuf::Metadata SoftmaxParameter::GetMetadata() const {
43381   protobuf_AssignDescriptorsOnce();
43382   ::google::protobuf::Metadata metadata;
43383   metadata.descriptor = SoftmaxParameter_descriptor_;
43384   metadata.reflection = SoftmaxParameter_reflection_;
43385   return metadata;
43386 }
43387
43388 #if PROTOBUF_INLINE_NOT_IN_HEADERS
43389 // SoftmaxParameter
43390
43391 // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
43392 bool SoftmaxParameter::has_engine() const {
43393   return (_has_bits_[0] & 0x00000001u) != 0;
43394 }
43395 void SoftmaxParameter::set_has_engine() {
43396   _has_bits_[0] |= 0x00000001u;
43397 }
43398 void SoftmaxParameter::clear_has_engine() {
43399   _has_bits_[0] &= ~0x00000001u;
43400 }
43401 void SoftmaxParameter::clear_engine() {
43402   engine_ = 0;
43403   clear_has_engine();
43404 }
43405 ::opencv_caffe::SoftmaxParameter_Engine SoftmaxParameter::engine() const {
43406   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.engine)
43407   return static_cast< ::opencv_caffe::SoftmaxParameter_Engine >(engine_);
43408 }
43409 void SoftmaxParameter::set_engine(::opencv_caffe::SoftmaxParameter_Engine value) {
43410   assert(::opencv_caffe::SoftmaxParameter_Engine_IsValid(value));
43411   set_has_engine();
43412   engine_ = value;
43413   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.engine)
43414 }
43415
43416 // optional int32 axis = 2 [default = 1];
43417 bool SoftmaxParameter::has_axis() const {
43418   return (_has_bits_[0] & 0x00000002u) != 0;
43419 }
43420 void SoftmaxParameter::set_has_axis() {
43421   _has_bits_[0] |= 0x00000002u;
43422 }
43423 void SoftmaxParameter::clear_has_axis() {
43424   _has_bits_[0] &= ~0x00000002u;
43425 }
43426 void SoftmaxParameter::clear_axis() {
43427   axis_ = 1;
43428   clear_has_axis();
43429 }
43430 ::google::protobuf::int32 SoftmaxParameter::axis() const {
43431   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.axis)
43432   return axis_;
43433 }
43434 void SoftmaxParameter::set_axis(::google::protobuf::int32 value) {
43435   set_has_axis();
43436   axis_ = value;
43437   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.axis)
43438 }
43439
43440 inline const SoftmaxParameter* SoftmaxParameter::internal_default_instance() {
43441   return &SoftmaxParameter_default_instance_.get();
43442 }
43443 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
43444
43445 // ===================================================================
43446
43447 const ::google::protobuf::EnumDescriptor* TanHParameter_Engine_descriptor() {
43448   protobuf_AssignDescriptorsOnce();
43449   return TanHParameter_Engine_descriptor_;
43450 }
43451 bool TanHParameter_Engine_IsValid(int value) {
43452   switch (value) {
43453     case 0:
43454     case 1:
43455     case 2:
43456       return true;
43457     default:
43458       return false;
43459   }
43460 }
43461
43462 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43463 const TanHParameter_Engine TanHParameter::DEFAULT;
43464 const TanHParameter_Engine TanHParameter::CAFFE;
43465 const TanHParameter_Engine TanHParameter::CUDNN;
43466 const TanHParameter_Engine TanHParameter::Engine_MIN;
43467 const TanHParameter_Engine TanHParameter::Engine_MAX;
43468 const int TanHParameter::Engine_ARRAYSIZE;
43469 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43470 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43471 const int TanHParameter::kEngineFieldNumber;
43472 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43473
43474 TanHParameter::TanHParameter()
43475   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
43476   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43477   SharedCtor();
43478   // @@protoc_insertion_point(constructor:opencv_caffe.TanHParameter)
43479 }
43480
43481 void TanHParameter::InitAsDefaultInstance() {
43482 }
43483
43484 TanHParameter::TanHParameter(const TanHParameter& from)
43485   : ::google::protobuf::Message(),
43486     _internal_metadata_(NULL) {
43487   SharedCtor();
43488   UnsafeMergeFrom(from);
43489   // @@protoc_insertion_point(copy_constructor:opencv_caffe.TanHParameter)
43490 }
43491
43492 void TanHParameter::SharedCtor() {
43493   _cached_size_ = 0;
43494   engine_ = 0;
43495 }
43496
43497 TanHParameter::~TanHParameter() {
43498   // @@protoc_insertion_point(destructor:opencv_caffe.TanHParameter)
43499   SharedDtor();
43500 }
43501
43502 void TanHParameter::SharedDtor() {
43503 }
43504
43505 void TanHParameter::SetCachedSize(int size) const {
43506   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43507   _cached_size_ = size;
43508   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43509 }
43510 const ::google::protobuf::Descriptor* TanHParameter::descriptor() {
43511   protobuf_AssignDescriptorsOnce();
43512   return TanHParameter_descriptor_;
43513 }
43514
43515 const TanHParameter& TanHParameter::default_instance() {
43516   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43517   return *internal_default_instance();
43518 }
43519
43520 ::google::protobuf::internal::ExplicitlyConstructed<TanHParameter> TanHParameter_default_instance_;
43521
43522 TanHParameter* TanHParameter::New(::google::protobuf::Arena* arena) const {
43523   TanHParameter* n = new TanHParameter;
43524   if (arena != NULL) {
43525     arena->Own(n);
43526   }
43527   return n;
43528 }
43529
43530 void TanHParameter::Clear() {
43531 // @@protoc_insertion_point(message_clear_start:opencv_caffe.TanHParameter)
43532   engine_ = 0;
43533   _has_bits_.Clear();
43534   if (_internal_metadata_.have_unknown_fields()) {
43535     mutable_unknown_fields()->Clear();
43536   }
43537 }
43538
43539 bool TanHParameter::MergePartialFromCodedStream(
43540     ::google::protobuf::io::CodedInputStream* input) {
43541 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
43542   ::google::protobuf::uint32 tag;
43543   // @@protoc_insertion_point(parse_start:opencv_caffe.TanHParameter)
43544   for (;;) {
43545     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
43546     tag = p.first;
43547     if (!p.second) goto handle_unusual;
43548     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
43549       // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43550       case 1: {
43551         if (tag == 8) {
43552           int value;
43553           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43554                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
43555                  input, &value)));
43556           if (::opencv_caffe::TanHParameter_Engine_IsValid(value)) {
43557             set_engine(static_cast< ::opencv_caffe::TanHParameter_Engine >(value));
43558           } else {
43559             mutable_unknown_fields()->AddVarint(1, value);
43560           }
43561         } else {
43562           goto handle_unusual;
43563         }
43564         if (input->ExpectAtEnd()) goto success;
43565         break;
43566       }
43567
43568       default: {
43569       handle_unusual:
43570         if (tag == 0 ||
43571             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
43572             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
43573           goto success;
43574         }
43575         DO_(::google::protobuf::internal::WireFormat::SkipField(
43576               input, tag, mutable_unknown_fields()));
43577         break;
43578       }
43579     }
43580   }
43581 success:
43582   // @@protoc_insertion_point(parse_success:opencv_caffe.TanHParameter)
43583   return true;
43584 failure:
43585   // @@protoc_insertion_point(parse_failure:opencv_caffe.TanHParameter)
43586   return false;
43587 #undef DO_
43588 }
43589
43590 void TanHParameter::SerializeWithCachedSizes(
43591     ::google::protobuf::io::CodedOutputStream* output) const {
43592   // @@protoc_insertion_point(serialize_start:opencv_caffe.TanHParameter)
43593   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43594   if (has_engine()) {
43595     ::google::protobuf::internal::WireFormatLite::WriteEnum(
43596       1, this->engine(), output);
43597   }
43598
43599   if (_internal_metadata_.have_unknown_fields()) {
43600     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
43601         unknown_fields(), output);
43602   }
43603   // @@protoc_insertion_point(serialize_end:opencv_caffe.TanHParameter)
43604 }
43605
43606 ::google::protobuf::uint8* TanHParameter::InternalSerializeWithCachedSizesToArray(
43607     bool deterministic, ::google::protobuf::uint8* target) const {
43608   (void)deterministic; // Unused
43609   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.TanHParameter)
43610   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43611   if (has_engine()) {
43612     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
43613       1, this->engine(), target);
43614   }
43615
43616   if (_internal_metadata_.have_unknown_fields()) {
43617     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
43618         unknown_fields(), target);
43619   }
43620   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.TanHParameter)
43621   return target;
43622 }
43623
43624 size_t TanHParameter::ByteSizeLong() const {
43625 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.TanHParameter)
43626   size_t total_size = 0;
43627
43628   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43629   if (has_engine()) {
43630     total_size += 1 +
43631       ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
43632   }
43633
43634   if (_internal_metadata_.have_unknown_fields()) {
43635     total_size +=
43636       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
43637         unknown_fields());
43638   }
43639   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
43640   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43641   _cached_size_ = cached_size;
43642   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43643   return total_size;
43644 }
43645
43646 void TanHParameter::MergeFrom(const ::google::protobuf::Message& from) {
43647 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.TanHParameter)
43648   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
43649   const TanHParameter* source =
43650       ::google::protobuf::internal::DynamicCastToGenerated<const TanHParameter>(
43651           &from);
43652   if (source == NULL) {
43653   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.TanHParameter)
43654     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
43655   } else {
43656   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.TanHParameter)
43657     UnsafeMergeFrom(*source);
43658   }
43659 }
43660
43661 void TanHParameter::MergeFrom(const TanHParameter& from) {
43662 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.TanHParameter)
43663   if (GOOGLE_PREDICT_TRUE(&from != this)) {
43664     UnsafeMergeFrom(from);
43665   } else {
43666     MergeFromFail(__LINE__);
43667   }
43668 }
43669
43670 void TanHParameter::UnsafeMergeFrom(const TanHParameter& from) {
43671   GOOGLE_DCHECK(&from != this);
43672   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
43673     if (from.has_engine()) {
43674       set_engine(from.engine());
43675     }
43676   }
43677   if (from._internal_metadata_.have_unknown_fields()) {
43678     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
43679       from.unknown_fields(), &_internal_metadata_);
43680   }
43681 }
43682
43683 void TanHParameter::CopyFrom(const ::google::protobuf::Message& from) {
43684 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.TanHParameter)
43685   if (&from == this) return;
43686   Clear();
43687   MergeFrom(from);
43688 }
43689
43690 void TanHParameter::CopyFrom(const TanHParameter& from) {
43691 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.TanHParameter)
43692   if (&from == this) return;
43693   Clear();
43694   UnsafeMergeFrom(from);
43695 }
43696
43697 bool TanHParameter::IsInitialized() const {
43698
43699   return true;
43700 }
43701
43702 void TanHParameter::Swap(TanHParameter* other) {
43703   if (other == this) return;
43704   InternalSwap(other);
43705 }
43706 void TanHParameter::InternalSwap(TanHParameter* other) {
43707   std::swap(engine_, other->engine_);
43708   std::swap(_has_bits_[0], other->_has_bits_[0]);
43709   _internal_metadata_.Swap(&other->_internal_metadata_);
43710   std::swap(_cached_size_, other->_cached_size_);
43711 }
43712
43713 ::google::protobuf::Metadata TanHParameter::GetMetadata() const {
43714   protobuf_AssignDescriptorsOnce();
43715   ::google::protobuf::Metadata metadata;
43716   metadata.descriptor = TanHParameter_descriptor_;
43717   metadata.reflection = TanHParameter_reflection_;
43718   return metadata;
43719 }
43720
43721 #if PROTOBUF_INLINE_NOT_IN_HEADERS
43722 // TanHParameter
43723
43724 // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
43725 bool TanHParameter::has_engine() const {
43726   return (_has_bits_[0] & 0x00000001u) != 0;
43727 }
43728 void TanHParameter::set_has_engine() {
43729   _has_bits_[0] |= 0x00000001u;
43730 }
43731 void TanHParameter::clear_has_engine() {
43732   _has_bits_[0] &= ~0x00000001u;
43733 }
43734 void TanHParameter::clear_engine() {
43735   engine_ = 0;
43736   clear_has_engine();
43737 }
43738 ::opencv_caffe::TanHParameter_Engine TanHParameter::engine() const {
43739   // @@protoc_insertion_point(field_get:opencv_caffe.TanHParameter.engine)
43740   return static_cast< ::opencv_caffe::TanHParameter_Engine >(engine_);
43741 }
43742 void TanHParameter::set_engine(::opencv_caffe::TanHParameter_Engine value) {
43743   assert(::opencv_caffe::TanHParameter_Engine_IsValid(value));
43744   set_has_engine();
43745   engine_ = value;
43746   // @@protoc_insertion_point(field_set:opencv_caffe.TanHParameter.engine)
43747 }
43748
43749 inline const TanHParameter* TanHParameter::internal_default_instance() {
43750   return &TanHParameter_default_instance_.get();
43751 }
43752 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
43753
43754 // ===================================================================
43755
43756 #if !defined(_MSC_VER) || _MSC_VER >= 1900
43757 const int TileParameter::kAxisFieldNumber;
43758 const int TileParameter::kTilesFieldNumber;
43759 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
43760
43761 TileParameter::TileParameter()
43762   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
43763   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43764   SharedCtor();
43765   // @@protoc_insertion_point(constructor:opencv_caffe.TileParameter)
43766 }
43767
43768 void TileParameter::InitAsDefaultInstance() {
43769 }
43770
43771 TileParameter::TileParameter(const TileParameter& from)
43772   : ::google::protobuf::Message(),
43773     _internal_metadata_(NULL) {
43774   SharedCtor();
43775   UnsafeMergeFrom(from);
43776   // @@protoc_insertion_point(copy_constructor:opencv_caffe.TileParameter)
43777 }
43778
43779 void TileParameter::SharedCtor() {
43780   _cached_size_ = 0;
43781   tiles_ = 0;
43782   axis_ = 1;
43783 }
43784
43785 TileParameter::~TileParameter() {
43786   // @@protoc_insertion_point(destructor:opencv_caffe.TileParameter)
43787   SharedDtor();
43788 }
43789
43790 void TileParameter::SharedDtor() {
43791 }
43792
43793 void TileParameter::SetCachedSize(int size) const {
43794   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43795   _cached_size_ = size;
43796   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43797 }
43798 const ::google::protobuf::Descriptor* TileParameter::descriptor() {
43799   protobuf_AssignDescriptorsOnce();
43800   return TileParameter_descriptor_;
43801 }
43802
43803 const TileParameter& TileParameter::default_instance() {
43804   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
43805   return *internal_default_instance();
43806 }
43807
43808 ::google::protobuf::internal::ExplicitlyConstructed<TileParameter> TileParameter_default_instance_;
43809
43810 TileParameter* TileParameter::New(::google::protobuf::Arena* arena) const {
43811   TileParameter* n = new TileParameter;
43812   if (arena != NULL) {
43813     arena->Own(n);
43814   }
43815   return n;
43816 }
43817
43818 void TileParameter::Clear() {
43819 // @@protoc_insertion_point(message_clear_start:opencv_caffe.TileParameter)
43820   if (_has_bits_[0 / 32] & 3u) {
43821     axis_ = 1;
43822     tiles_ = 0;
43823   }
43824   _has_bits_.Clear();
43825   if (_internal_metadata_.have_unknown_fields()) {
43826     mutable_unknown_fields()->Clear();
43827   }
43828 }
43829
43830 bool TileParameter::MergePartialFromCodedStream(
43831     ::google::protobuf::io::CodedInputStream* input) {
43832 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
43833   ::google::protobuf::uint32 tag;
43834   // @@protoc_insertion_point(parse_start:opencv_caffe.TileParameter)
43835   for (;;) {
43836     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
43837     tag = p.first;
43838     if (!p.second) goto handle_unusual;
43839     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
43840       // optional int32 axis = 1 [default = 1];
43841       case 1: {
43842         if (tag == 8) {
43843           set_has_axis();
43844           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43845                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
43846                  input, &axis_)));
43847         } else {
43848           goto handle_unusual;
43849         }
43850         if (input->ExpectTag(16)) goto parse_tiles;
43851         break;
43852       }
43853
43854       // optional int32 tiles = 2;
43855       case 2: {
43856         if (tag == 16) {
43857          parse_tiles:
43858           set_has_tiles();
43859           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
43860                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
43861                  input, &tiles_)));
43862         } else {
43863           goto handle_unusual;
43864         }
43865         if (input->ExpectAtEnd()) goto success;
43866         break;
43867       }
43868
43869       default: {
43870       handle_unusual:
43871         if (tag == 0 ||
43872             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
43873             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
43874           goto success;
43875         }
43876         DO_(::google::protobuf::internal::WireFormat::SkipField(
43877               input, tag, mutable_unknown_fields()));
43878         break;
43879       }
43880     }
43881   }
43882 success:
43883   // @@protoc_insertion_point(parse_success:opencv_caffe.TileParameter)
43884   return true;
43885 failure:
43886   // @@protoc_insertion_point(parse_failure:opencv_caffe.TileParameter)
43887   return false;
43888 #undef DO_
43889 }
43890
43891 void TileParameter::SerializeWithCachedSizes(
43892     ::google::protobuf::io::CodedOutputStream* output) const {
43893   // @@protoc_insertion_point(serialize_start:opencv_caffe.TileParameter)
43894   // optional int32 axis = 1 [default = 1];
43895   if (has_axis()) {
43896     ::google::protobuf::internal::WireFormatLite::WriteInt32(1, this->axis(), output);
43897   }
43898
43899   // optional int32 tiles = 2;
43900   if (has_tiles()) {
43901     ::google::protobuf::internal::WireFormatLite::WriteInt32(2, this->tiles(), output);
43902   }
43903
43904   if (_internal_metadata_.have_unknown_fields()) {
43905     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
43906         unknown_fields(), output);
43907   }
43908   // @@protoc_insertion_point(serialize_end:opencv_caffe.TileParameter)
43909 }
43910
43911 ::google::protobuf::uint8* TileParameter::InternalSerializeWithCachedSizesToArray(
43912     bool deterministic, ::google::protobuf::uint8* target) const {
43913   (void)deterministic; // Unused
43914   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.TileParameter)
43915   // optional int32 axis = 1 [default = 1];
43916   if (has_axis()) {
43917     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(1, this->axis(), target);
43918   }
43919
43920   // optional int32 tiles = 2;
43921   if (has_tiles()) {
43922     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(2, this->tiles(), target);
43923   }
43924
43925   if (_internal_metadata_.have_unknown_fields()) {
43926     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
43927         unknown_fields(), target);
43928   }
43929   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.TileParameter)
43930   return target;
43931 }
43932
43933 size_t TileParameter::ByteSizeLong() const {
43934 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.TileParameter)
43935   size_t total_size = 0;
43936
43937   if (_has_bits_[0 / 32] & 3u) {
43938     // optional int32 axis = 1 [default = 1];
43939     if (has_axis()) {
43940       total_size += 1 +
43941         ::google::protobuf::internal::WireFormatLite::Int32Size(
43942           this->axis());
43943     }
43944
43945     // optional int32 tiles = 2;
43946     if (has_tiles()) {
43947       total_size += 1 +
43948         ::google::protobuf::internal::WireFormatLite::Int32Size(
43949           this->tiles());
43950     }
43951
43952   }
43953   if (_internal_metadata_.have_unknown_fields()) {
43954     total_size +=
43955       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
43956         unknown_fields());
43957   }
43958   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
43959   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
43960   _cached_size_ = cached_size;
43961   GOOGLE_SAFE_CONCURRENT_WRITES_END();
43962   return total_size;
43963 }
43964
43965 void TileParameter::MergeFrom(const ::google::protobuf::Message& from) {
43966 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.TileParameter)
43967   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
43968   const TileParameter* source =
43969       ::google::protobuf::internal::DynamicCastToGenerated<const TileParameter>(
43970           &from);
43971   if (source == NULL) {
43972   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.TileParameter)
43973     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
43974   } else {
43975   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.TileParameter)
43976     UnsafeMergeFrom(*source);
43977   }
43978 }
43979
43980 void TileParameter::MergeFrom(const TileParameter& from) {
43981 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.TileParameter)
43982   if (GOOGLE_PREDICT_TRUE(&from != this)) {
43983     UnsafeMergeFrom(from);
43984   } else {
43985     MergeFromFail(__LINE__);
43986   }
43987 }
43988
43989 void TileParameter::UnsafeMergeFrom(const TileParameter& from) {
43990   GOOGLE_DCHECK(&from != this);
43991   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
43992     if (from.has_axis()) {
43993       set_axis(from.axis());
43994     }
43995     if (from.has_tiles()) {
43996       set_tiles(from.tiles());
43997     }
43998   }
43999   if (from._internal_metadata_.have_unknown_fields()) {
44000     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
44001       from.unknown_fields(), &_internal_metadata_);
44002   }
44003 }
44004
44005 void TileParameter::CopyFrom(const ::google::protobuf::Message& from) {
44006 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.TileParameter)
44007   if (&from == this) return;
44008   Clear();
44009   MergeFrom(from);
44010 }
44011
44012 void TileParameter::CopyFrom(const TileParameter& from) {
44013 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.TileParameter)
44014   if (&from == this) return;
44015   Clear();
44016   UnsafeMergeFrom(from);
44017 }
44018
44019 bool TileParameter::IsInitialized() const {
44020
44021   return true;
44022 }
44023
44024 void TileParameter::Swap(TileParameter* other) {
44025   if (other == this) return;
44026   InternalSwap(other);
44027 }
44028 void TileParameter::InternalSwap(TileParameter* other) {
44029   std::swap(axis_, other->axis_);
44030   std::swap(tiles_, other->tiles_);
44031   std::swap(_has_bits_[0], other->_has_bits_[0]);
44032   _internal_metadata_.Swap(&other->_internal_metadata_);
44033   std::swap(_cached_size_, other->_cached_size_);
44034 }
44035
44036 ::google::protobuf::Metadata TileParameter::GetMetadata() const {
44037   protobuf_AssignDescriptorsOnce();
44038   ::google::protobuf::Metadata metadata;
44039   metadata.descriptor = TileParameter_descriptor_;
44040   metadata.reflection = TileParameter_reflection_;
44041   return metadata;
44042 }
44043
44044 #if PROTOBUF_INLINE_NOT_IN_HEADERS
44045 // TileParameter
44046
44047 // optional int32 axis = 1 [default = 1];
44048 bool TileParameter::has_axis() const {
44049   return (_has_bits_[0] & 0x00000001u) != 0;
44050 }
44051 void TileParameter::set_has_axis() {
44052   _has_bits_[0] |= 0x00000001u;
44053 }
44054 void TileParameter::clear_has_axis() {
44055   _has_bits_[0] &= ~0x00000001u;
44056 }
44057 void TileParameter::clear_axis() {
44058   axis_ = 1;
44059   clear_has_axis();
44060 }
44061 ::google::protobuf::int32 TileParameter::axis() const {
44062   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.axis)
44063   return axis_;
44064 }
44065 void TileParameter::set_axis(::google::protobuf::int32 value) {
44066   set_has_axis();
44067   axis_ = value;
44068   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.axis)
44069 }
44070
44071 // optional int32 tiles = 2;
44072 bool TileParameter::has_tiles() const {
44073   return (_has_bits_[0] & 0x00000002u) != 0;
44074 }
44075 void TileParameter::set_has_tiles() {
44076   _has_bits_[0] |= 0x00000002u;
44077 }
44078 void TileParameter::clear_has_tiles() {
44079   _has_bits_[0] &= ~0x00000002u;
44080 }
44081 void TileParameter::clear_tiles() {
44082   tiles_ = 0;
44083   clear_has_tiles();
44084 }
44085 ::google::protobuf::int32 TileParameter::tiles() const {
44086   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.tiles)
44087   return tiles_;
44088 }
44089 void TileParameter::set_tiles(::google::protobuf::int32 value) {
44090   set_has_tiles();
44091   tiles_ = value;
44092   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.tiles)
44093 }
44094
44095 inline const TileParameter* TileParameter::internal_default_instance() {
44096   return &TileParameter_default_instance_.get();
44097 }
44098 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
44099
44100 // ===================================================================
44101
44102 #if !defined(_MSC_VER) || _MSC_VER >= 1900
44103 const int ThresholdParameter::kThresholdFieldNumber;
44104 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
44105
44106 ThresholdParameter::ThresholdParameter()
44107   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
44108   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44109   SharedCtor();
44110   // @@protoc_insertion_point(constructor:opencv_caffe.ThresholdParameter)
44111 }
44112
44113 void ThresholdParameter::InitAsDefaultInstance() {
44114 }
44115
44116 ThresholdParameter::ThresholdParameter(const ThresholdParameter& from)
44117   : ::google::protobuf::Message(),
44118     _internal_metadata_(NULL) {
44119   SharedCtor();
44120   UnsafeMergeFrom(from);
44121   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ThresholdParameter)
44122 }
44123
44124 void ThresholdParameter::SharedCtor() {
44125   _cached_size_ = 0;
44126   threshold_ = 0;
44127 }
44128
44129 ThresholdParameter::~ThresholdParameter() {
44130   // @@protoc_insertion_point(destructor:opencv_caffe.ThresholdParameter)
44131   SharedDtor();
44132 }
44133
44134 void ThresholdParameter::SharedDtor() {
44135 }
44136
44137 void ThresholdParameter::SetCachedSize(int size) const {
44138   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
44139   _cached_size_ = size;
44140   GOOGLE_SAFE_CONCURRENT_WRITES_END();
44141 }
44142 const ::google::protobuf::Descriptor* ThresholdParameter::descriptor() {
44143   protobuf_AssignDescriptorsOnce();
44144   return ThresholdParameter_descriptor_;
44145 }
44146
44147 const ThresholdParameter& ThresholdParameter::default_instance() {
44148   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44149   return *internal_default_instance();
44150 }
44151
44152 ::google::protobuf::internal::ExplicitlyConstructed<ThresholdParameter> ThresholdParameter_default_instance_;
44153
44154 ThresholdParameter* ThresholdParameter::New(::google::protobuf::Arena* arena) const {
44155   ThresholdParameter* n = new ThresholdParameter;
44156   if (arena != NULL) {
44157     arena->Own(n);
44158   }
44159   return n;
44160 }
44161
44162 void ThresholdParameter::Clear() {
44163 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ThresholdParameter)
44164   threshold_ = 0;
44165   _has_bits_.Clear();
44166   if (_internal_metadata_.have_unknown_fields()) {
44167     mutable_unknown_fields()->Clear();
44168   }
44169 }
44170
44171 bool ThresholdParameter::MergePartialFromCodedStream(
44172     ::google::protobuf::io::CodedInputStream* input) {
44173 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
44174   ::google::protobuf::uint32 tag;
44175   // @@protoc_insertion_point(parse_start:opencv_caffe.ThresholdParameter)
44176   for (;;) {
44177     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
44178     tag = p.first;
44179     if (!p.second) goto handle_unusual;
44180     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
44181       // optional float threshold = 1 [default = 0];
44182       case 1: {
44183         if (tag == 13) {
44184           set_has_threshold();
44185           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44186                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44187                  input, &threshold_)));
44188         } else {
44189           goto handle_unusual;
44190         }
44191         if (input->ExpectAtEnd()) goto success;
44192         break;
44193       }
44194
44195       default: {
44196       handle_unusual:
44197         if (tag == 0 ||
44198             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
44199             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
44200           goto success;
44201         }
44202         DO_(::google::protobuf::internal::WireFormat::SkipField(
44203               input, tag, mutable_unknown_fields()));
44204         break;
44205       }
44206     }
44207   }
44208 success:
44209   // @@protoc_insertion_point(parse_success:opencv_caffe.ThresholdParameter)
44210   return true;
44211 failure:
44212   // @@protoc_insertion_point(parse_failure:opencv_caffe.ThresholdParameter)
44213   return false;
44214 #undef DO_
44215 }
44216
44217 void ThresholdParameter::SerializeWithCachedSizes(
44218     ::google::protobuf::io::CodedOutputStream* output) const {
44219   // @@protoc_insertion_point(serialize_start:opencv_caffe.ThresholdParameter)
44220   // optional float threshold = 1 [default = 0];
44221   if (has_threshold()) {
44222     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->threshold(), output);
44223   }
44224
44225   if (_internal_metadata_.have_unknown_fields()) {
44226     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
44227         unknown_fields(), output);
44228   }
44229   // @@protoc_insertion_point(serialize_end:opencv_caffe.ThresholdParameter)
44230 }
44231
44232 ::google::protobuf::uint8* ThresholdParameter::InternalSerializeWithCachedSizesToArray(
44233     bool deterministic, ::google::protobuf::uint8* target) const {
44234   (void)deterministic; // Unused
44235   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ThresholdParameter)
44236   // optional float threshold = 1 [default = 0];
44237   if (has_threshold()) {
44238     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->threshold(), target);
44239   }
44240
44241   if (_internal_metadata_.have_unknown_fields()) {
44242     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
44243         unknown_fields(), target);
44244   }
44245   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ThresholdParameter)
44246   return target;
44247 }
44248
44249 size_t ThresholdParameter::ByteSizeLong() const {
44250 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ThresholdParameter)
44251   size_t total_size = 0;
44252
44253   // optional float threshold = 1 [default = 0];
44254   if (has_threshold()) {
44255     total_size += 1 + 4;
44256   }
44257
44258   if (_internal_metadata_.have_unknown_fields()) {
44259     total_size +=
44260       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
44261         unknown_fields());
44262   }
44263   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
44264   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
44265   _cached_size_ = cached_size;
44266   GOOGLE_SAFE_CONCURRENT_WRITES_END();
44267   return total_size;
44268 }
44269
44270 void ThresholdParameter::MergeFrom(const ::google::protobuf::Message& from) {
44271 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ThresholdParameter)
44272   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
44273   const ThresholdParameter* source =
44274       ::google::protobuf::internal::DynamicCastToGenerated<const ThresholdParameter>(
44275           &from);
44276   if (source == NULL) {
44277   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ThresholdParameter)
44278     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
44279   } else {
44280   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ThresholdParameter)
44281     UnsafeMergeFrom(*source);
44282   }
44283 }
44284
44285 void ThresholdParameter::MergeFrom(const ThresholdParameter& from) {
44286 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ThresholdParameter)
44287   if (GOOGLE_PREDICT_TRUE(&from != this)) {
44288     UnsafeMergeFrom(from);
44289   } else {
44290     MergeFromFail(__LINE__);
44291   }
44292 }
44293
44294 void ThresholdParameter::UnsafeMergeFrom(const ThresholdParameter& from) {
44295   GOOGLE_DCHECK(&from != this);
44296   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
44297     if (from.has_threshold()) {
44298       set_threshold(from.threshold());
44299     }
44300   }
44301   if (from._internal_metadata_.have_unknown_fields()) {
44302     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
44303       from.unknown_fields(), &_internal_metadata_);
44304   }
44305 }
44306
44307 void ThresholdParameter::CopyFrom(const ::google::protobuf::Message& from) {
44308 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ThresholdParameter)
44309   if (&from == this) return;
44310   Clear();
44311   MergeFrom(from);
44312 }
44313
44314 void ThresholdParameter::CopyFrom(const ThresholdParameter& from) {
44315 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ThresholdParameter)
44316   if (&from == this) return;
44317   Clear();
44318   UnsafeMergeFrom(from);
44319 }
44320
44321 bool ThresholdParameter::IsInitialized() const {
44322
44323   return true;
44324 }
44325
44326 void ThresholdParameter::Swap(ThresholdParameter* other) {
44327   if (other == this) return;
44328   InternalSwap(other);
44329 }
44330 void ThresholdParameter::InternalSwap(ThresholdParameter* other) {
44331   std::swap(threshold_, other->threshold_);
44332   std::swap(_has_bits_[0], other->_has_bits_[0]);
44333   _internal_metadata_.Swap(&other->_internal_metadata_);
44334   std::swap(_cached_size_, other->_cached_size_);
44335 }
44336
44337 ::google::protobuf::Metadata ThresholdParameter::GetMetadata() const {
44338   protobuf_AssignDescriptorsOnce();
44339   ::google::protobuf::Metadata metadata;
44340   metadata.descriptor = ThresholdParameter_descriptor_;
44341   metadata.reflection = ThresholdParameter_reflection_;
44342   return metadata;
44343 }
44344
44345 #if PROTOBUF_INLINE_NOT_IN_HEADERS
44346 // ThresholdParameter
44347
44348 // optional float threshold = 1 [default = 0];
44349 bool ThresholdParameter::has_threshold() const {
44350   return (_has_bits_[0] & 0x00000001u) != 0;
44351 }
44352 void ThresholdParameter::set_has_threshold() {
44353   _has_bits_[0] |= 0x00000001u;
44354 }
44355 void ThresholdParameter::clear_has_threshold() {
44356   _has_bits_[0] &= ~0x00000001u;
44357 }
44358 void ThresholdParameter::clear_threshold() {
44359   threshold_ = 0;
44360   clear_has_threshold();
44361 }
44362 float ThresholdParameter::threshold() const {
44363   // @@protoc_insertion_point(field_get:opencv_caffe.ThresholdParameter.threshold)
44364   return threshold_;
44365 }
44366 void ThresholdParameter::set_threshold(float value) {
44367   set_has_threshold();
44368   threshold_ = value;
44369   // @@protoc_insertion_point(field_set:opencv_caffe.ThresholdParameter.threshold)
44370 }
44371
44372 inline const ThresholdParameter* ThresholdParameter::internal_default_instance() {
44373   return &ThresholdParameter_default_instance_.get();
44374 }
44375 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
44376
44377 // ===================================================================
44378
44379 ::std::string* WindowDataParameter::_default_crop_mode_ = NULL;
44380 #if !defined(_MSC_VER) || _MSC_VER >= 1900
44381 const int WindowDataParameter::kSourceFieldNumber;
44382 const int WindowDataParameter::kScaleFieldNumber;
44383 const int WindowDataParameter::kMeanFileFieldNumber;
44384 const int WindowDataParameter::kBatchSizeFieldNumber;
44385 const int WindowDataParameter::kCropSizeFieldNumber;
44386 const int WindowDataParameter::kMirrorFieldNumber;
44387 const int WindowDataParameter::kFgThresholdFieldNumber;
44388 const int WindowDataParameter::kBgThresholdFieldNumber;
44389 const int WindowDataParameter::kFgFractionFieldNumber;
44390 const int WindowDataParameter::kContextPadFieldNumber;
44391 const int WindowDataParameter::kCropModeFieldNumber;
44392 const int WindowDataParameter::kCacheImagesFieldNumber;
44393 const int WindowDataParameter::kRootFolderFieldNumber;
44394 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
44395
44396 WindowDataParameter::WindowDataParameter()
44397   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
44398   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44399   SharedCtor();
44400   // @@protoc_insertion_point(constructor:opencv_caffe.WindowDataParameter)
44401 }
44402
44403 void WindowDataParameter::InitAsDefaultInstance() {
44404 }
44405
44406 WindowDataParameter::WindowDataParameter(const WindowDataParameter& from)
44407   : ::google::protobuf::Message(),
44408     _internal_metadata_(NULL) {
44409   SharedCtor();
44410   UnsafeMergeFrom(from);
44411   // @@protoc_insertion_point(copy_constructor:opencv_caffe.WindowDataParameter)
44412 }
44413
44414 void WindowDataParameter::SharedCtor() {
44415   _cached_size_ = 0;
44416   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44417   mean_file_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44418   crop_mode_.UnsafeSetDefault(_default_crop_mode_);
44419   root_folder_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44420   ::memset(&batch_size_, 0, reinterpret_cast<char*>(&context_pad_) -
44421     reinterpret_cast<char*>(&batch_size_) + sizeof(context_pad_));
44422   scale_ = 1;
44423   fg_threshold_ = 0.5f;
44424   bg_threshold_ = 0.5f;
44425   fg_fraction_ = 0.25f;
44426 }
44427
44428 WindowDataParameter::~WindowDataParameter() {
44429   // @@protoc_insertion_point(destructor:opencv_caffe.WindowDataParameter)
44430   SharedDtor();
44431 }
44432
44433 void WindowDataParameter::SharedDtor() {
44434   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44435   mean_file_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44436   crop_mode_.DestroyNoArena(_default_crop_mode_);
44437   root_folder_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44438 }
44439
44440 void WindowDataParameter::SetCachedSize(int size) const {
44441   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
44442   _cached_size_ = size;
44443   GOOGLE_SAFE_CONCURRENT_WRITES_END();
44444 }
44445 const ::google::protobuf::Descriptor* WindowDataParameter::descriptor() {
44446   protobuf_AssignDescriptorsOnce();
44447   return WindowDataParameter_descriptor_;
44448 }
44449
44450 const WindowDataParameter& WindowDataParameter::default_instance() {
44451   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
44452   return *internal_default_instance();
44453 }
44454
44455 ::google::protobuf::internal::ExplicitlyConstructed<WindowDataParameter> WindowDataParameter_default_instance_;
44456
44457 WindowDataParameter* WindowDataParameter::New(::google::protobuf::Arena* arena) const {
44458   WindowDataParameter* n = new WindowDataParameter;
44459   if (arena != NULL) {
44460     arena->Own(n);
44461   }
44462   return n;
44463 }
44464
44465 void WindowDataParameter::Clear() {
44466 // @@protoc_insertion_point(message_clear_start:opencv_caffe.WindowDataParameter)
44467 #if defined(__clang__)
44468 #define ZR_HELPER_(f) \
44469   _Pragma("clang diagnostic push") \
44470   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
44471   __builtin_offsetof(WindowDataParameter, f) \
44472   _Pragma("clang diagnostic pop")
44473 #else
44474 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
44475   &reinterpret_cast<WindowDataParameter*>(16)->f)
44476 #endif
44477
44478 #define ZR_(first, last) do {\
44479   ::memset(&(first), 0,\
44480            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
44481 } while (0)
44482
44483   if (_has_bits_[0 / 32] & 255u) {
44484     ZR_(batch_size_, mirror_);
44485     if (has_source()) {
44486       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44487     }
44488     scale_ = 1;
44489     if (has_mean_file()) {
44490       mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44491     }
44492     fg_threshold_ = 0.5f;
44493     bg_threshold_ = 0.5f;
44494   }
44495   if (_has_bits_[8 / 32] & 7936u) {
44496     ZR_(cache_images_, context_pad_);
44497     fg_fraction_ = 0.25f;
44498     if (has_crop_mode()) {
44499       crop_mode_.ClearToDefaultNoArena(_default_crop_mode_);
44500     }
44501     if (has_root_folder()) {
44502       root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
44503     }
44504   }
44505
44506 #undef ZR_HELPER_
44507 #undef ZR_
44508
44509   _has_bits_.Clear();
44510   if (_internal_metadata_.have_unknown_fields()) {
44511     mutable_unknown_fields()->Clear();
44512   }
44513 }
44514
44515 bool WindowDataParameter::MergePartialFromCodedStream(
44516     ::google::protobuf::io::CodedInputStream* input) {
44517 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
44518   ::google::protobuf::uint32 tag;
44519   // @@protoc_insertion_point(parse_start:opencv_caffe.WindowDataParameter)
44520   for (;;) {
44521     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
44522     tag = p.first;
44523     if (!p.second) goto handle_unusual;
44524     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
44525       // optional string source = 1;
44526       case 1: {
44527         if (tag == 10) {
44528           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44529                 input, this->mutable_source()));
44530           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44531             this->source().data(), this->source().length(),
44532             ::google::protobuf::internal::WireFormat::PARSE,
44533             "opencv_caffe.WindowDataParameter.source");
44534         } else {
44535           goto handle_unusual;
44536         }
44537         if (input->ExpectTag(21)) goto parse_scale;
44538         break;
44539       }
44540
44541       // optional float scale = 2 [default = 1];
44542       case 2: {
44543         if (tag == 21) {
44544          parse_scale:
44545           set_has_scale();
44546           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44547                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44548                  input, &scale_)));
44549         } else {
44550           goto handle_unusual;
44551         }
44552         if (input->ExpectTag(26)) goto parse_mean_file;
44553         break;
44554       }
44555
44556       // optional string mean_file = 3;
44557       case 3: {
44558         if (tag == 26) {
44559          parse_mean_file:
44560           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44561                 input, this->mutable_mean_file()));
44562           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44563             this->mean_file().data(), this->mean_file().length(),
44564             ::google::protobuf::internal::WireFormat::PARSE,
44565             "opencv_caffe.WindowDataParameter.mean_file");
44566         } else {
44567           goto handle_unusual;
44568         }
44569         if (input->ExpectTag(32)) goto parse_batch_size;
44570         break;
44571       }
44572
44573       // optional uint32 batch_size = 4;
44574       case 4: {
44575         if (tag == 32) {
44576          parse_batch_size:
44577           set_has_batch_size();
44578           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44579                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
44580                  input, &batch_size_)));
44581         } else {
44582           goto handle_unusual;
44583         }
44584         if (input->ExpectTag(40)) goto parse_crop_size;
44585         break;
44586       }
44587
44588       // optional uint32 crop_size = 5 [default = 0];
44589       case 5: {
44590         if (tag == 40) {
44591          parse_crop_size:
44592           set_has_crop_size();
44593           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44594                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
44595                  input, &crop_size_)));
44596         } else {
44597           goto handle_unusual;
44598         }
44599         if (input->ExpectTag(48)) goto parse_mirror;
44600         break;
44601       }
44602
44603       // optional bool mirror = 6 [default = false];
44604       case 6: {
44605         if (tag == 48) {
44606          parse_mirror:
44607           set_has_mirror();
44608           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44609                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
44610                  input, &mirror_)));
44611         } else {
44612           goto handle_unusual;
44613         }
44614         if (input->ExpectTag(61)) goto parse_fg_threshold;
44615         break;
44616       }
44617
44618       // optional float fg_threshold = 7 [default = 0.5];
44619       case 7: {
44620         if (tag == 61) {
44621          parse_fg_threshold:
44622           set_has_fg_threshold();
44623           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44624                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44625                  input, &fg_threshold_)));
44626         } else {
44627           goto handle_unusual;
44628         }
44629         if (input->ExpectTag(69)) goto parse_bg_threshold;
44630         break;
44631       }
44632
44633       // optional float bg_threshold = 8 [default = 0.5];
44634       case 8: {
44635         if (tag == 69) {
44636          parse_bg_threshold:
44637           set_has_bg_threshold();
44638           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44639                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44640                  input, &bg_threshold_)));
44641         } else {
44642           goto handle_unusual;
44643         }
44644         if (input->ExpectTag(77)) goto parse_fg_fraction;
44645         break;
44646       }
44647
44648       // optional float fg_fraction = 9 [default = 0.25];
44649       case 9: {
44650         if (tag == 77) {
44651          parse_fg_fraction:
44652           set_has_fg_fraction();
44653           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44654                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
44655                  input, &fg_fraction_)));
44656         } else {
44657           goto handle_unusual;
44658         }
44659         if (input->ExpectTag(80)) goto parse_context_pad;
44660         break;
44661       }
44662
44663       // optional uint32 context_pad = 10 [default = 0];
44664       case 10: {
44665         if (tag == 80) {
44666          parse_context_pad:
44667           set_has_context_pad();
44668           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44669                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
44670                  input, &context_pad_)));
44671         } else {
44672           goto handle_unusual;
44673         }
44674         if (input->ExpectTag(90)) goto parse_crop_mode;
44675         break;
44676       }
44677
44678       // optional string crop_mode = 11 [default = "warp"];
44679       case 11: {
44680         if (tag == 90) {
44681          parse_crop_mode:
44682           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44683                 input, this->mutable_crop_mode()));
44684           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44685             this->crop_mode().data(), this->crop_mode().length(),
44686             ::google::protobuf::internal::WireFormat::PARSE,
44687             "opencv_caffe.WindowDataParameter.crop_mode");
44688         } else {
44689           goto handle_unusual;
44690         }
44691         if (input->ExpectTag(96)) goto parse_cache_images;
44692         break;
44693       }
44694
44695       // optional bool cache_images = 12 [default = false];
44696       case 12: {
44697         if (tag == 96) {
44698          parse_cache_images:
44699           set_has_cache_images();
44700           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
44701                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
44702                  input, &cache_images_)));
44703         } else {
44704           goto handle_unusual;
44705         }
44706         if (input->ExpectTag(106)) goto parse_root_folder;
44707         break;
44708       }
44709
44710       // optional string root_folder = 13 [default = ""];
44711       case 13: {
44712         if (tag == 106) {
44713          parse_root_folder:
44714           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
44715                 input, this->mutable_root_folder()));
44716           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44717             this->root_folder().data(), this->root_folder().length(),
44718             ::google::protobuf::internal::WireFormat::PARSE,
44719             "opencv_caffe.WindowDataParameter.root_folder");
44720         } else {
44721           goto handle_unusual;
44722         }
44723         if (input->ExpectAtEnd()) goto success;
44724         break;
44725       }
44726
44727       default: {
44728       handle_unusual:
44729         if (tag == 0 ||
44730             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
44731             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
44732           goto success;
44733         }
44734         DO_(::google::protobuf::internal::WireFormat::SkipField(
44735               input, tag, mutable_unknown_fields()));
44736         break;
44737       }
44738     }
44739   }
44740 success:
44741   // @@protoc_insertion_point(parse_success:opencv_caffe.WindowDataParameter)
44742   return true;
44743 failure:
44744   // @@protoc_insertion_point(parse_failure:opencv_caffe.WindowDataParameter)
44745   return false;
44746 #undef DO_
44747 }
44748
44749 void WindowDataParameter::SerializeWithCachedSizes(
44750     ::google::protobuf::io::CodedOutputStream* output) const {
44751   // @@protoc_insertion_point(serialize_start:opencv_caffe.WindowDataParameter)
44752   // optional string source = 1;
44753   if (has_source()) {
44754     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44755       this->source().data(), this->source().length(),
44756       ::google::protobuf::internal::WireFormat::SERIALIZE,
44757       "opencv_caffe.WindowDataParameter.source");
44758     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
44759       1, this->source(), output);
44760   }
44761
44762   // optional float scale = 2 [default = 1];
44763   if (has_scale()) {
44764     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->scale(), output);
44765   }
44766
44767   // optional string mean_file = 3;
44768   if (has_mean_file()) {
44769     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44770       this->mean_file().data(), this->mean_file().length(),
44771       ::google::protobuf::internal::WireFormat::SERIALIZE,
44772       "opencv_caffe.WindowDataParameter.mean_file");
44773     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
44774       3, this->mean_file(), output);
44775   }
44776
44777   // optional uint32 batch_size = 4;
44778   if (has_batch_size()) {
44779     ::google::protobuf::internal::WireFormatLite::WriteUInt32(4, this->batch_size(), output);
44780   }
44781
44782   // optional uint32 crop_size = 5 [default = 0];
44783   if (has_crop_size()) {
44784     ::google::protobuf::internal::WireFormatLite::WriteUInt32(5, this->crop_size(), output);
44785   }
44786
44787   // optional bool mirror = 6 [default = false];
44788   if (has_mirror()) {
44789     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->mirror(), output);
44790   }
44791
44792   // optional float fg_threshold = 7 [default = 0.5];
44793   if (has_fg_threshold()) {
44794     ::google::protobuf::internal::WireFormatLite::WriteFloat(7, this->fg_threshold(), output);
44795   }
44796
44797   // optional float bg_threshold = 8 [default = 0.5];
44798   if (has_bg_threshold()) {
44799     ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->bg_threshold(), output);
44800   }
44801
44802   // optional float fg_fraction = 9 [default = 0.25];
44803   if (has_fg_fraction()) {
44804     ::google::protobuf::internal::WireFormatLite::WriteFloat(9, this->fg_fraction(), output);
44805   }
44806
44807   // optional uint32 context_pad = 10 [default = 0];
44808   if (has_context_pad()) {
44809     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->context_pad(), output);
44810   }
44811
44812   // optional string crop_mode = 11 [default = "warp"];
44813   if (has_crop_mode()) {
44814     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44815       this->crop_mode().data(), this->crop_mode().length(),
44816       ::google::protobuf::internal::WireFormat::SERIALIZE,
44817       "opencv_caffe.WindowDataParameter.crop_mode");
44818     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
44819       11, this->crop_mode(), output);
44820   }
44821
44822   // optional bool cache_images = 12 [default = false];
44823   if (has_cache_images()) {
44824     ::google::protobuf::internal::WireFormatLite::WriteBool(12, this->cache_images(), output);
44825   }
44826
44827   // optional string root_folder = 13 [default = ""];
44828   if (has_root_folder()) {
44829     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44830       this->root_folder().data(), this->root_folder().length(),
44831       ::google::protobuf::internal::WireFormat::SERIALIZE,
44832       "opencv_caffe.WindowDataParameter.root_folder");
44833     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
44834       13, this->root_folder(), output);
44835   }
44836
44837   if (_internal_metadata_.have_unknown_fields()) {
44838     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
44839         unknown_fields(), output);
44840   }
44841   // @@protoc_insertion_point(serialize_end:opencv_caffe.WindowDataParameter)
44842 }
44843
44844 ::google::protobuf::uint8* WindowDataParameter::InternalSerializeWithCachedSizesToArray(
44845     bool deterministic, ::google::protobuf::uint8* target) const {
44846   (void)deterministic; // Unused
44847   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.WindowDataParameter)
44848   // optional string source = 1;
44849   if (has_source()) {
44850     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44851       this->source().data(), this->source().length(),
44852       ::google::protobuf::internal::WireFormat::SERIALIZE,
44853       "opencv_caffe.WindowDataParameter.source");
44854     target =
44855       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
44856         1, this->source(), target);
44857   }
44858
44859   // optional float scale = 2 [default = 1];
44860   if (has_scale()) {
44861     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->scale(), target);
44862   }
44863
44864   // optional string mean_file = 3;
44865   if (has_mean_file()) {
44866     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44867       this->mean_file().data(), this->mean_file().length(),
44868       ::google::protobuf::internal::WireFormat::SERIALIZE,
44869       "opencv_caffe.WindowDataParameter.mean_file");
44870     target =
44871       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
44872         3, this->mean_file(), target);
44873   }
44874
44875   // optional uint32 batch_size = 4;
44876   if (has_batch_size()) {
44877     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(4, this->batch_size(), target);
44878   }
44879
44880   // optional uint32 crop_size = 5 [default = 0];
44881   if (has_crop_size()) {
44882     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(5, this->crop_size(), target);
44883   }
44884
44885   // optional bool mirror = 6 [default = false];
44886   if (has_mirror()) {
44887     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->mirror(), target);
44888   }
44889
44890   // optional float fg_threshold = 7 [default = 0.5];
44891   if (has_fg_threshold()) {
44892     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(7, this->fg_threshold(), target);
44893   }
44894
44895   // optional float bg_threshold = 8 [default = 0.5];
44896   if (has_bg_threshold()) {
44897     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->bg_threshold(), target);
44898   }
44899
44900   // optional float fg_fraction = 9 [default = 0.25];
44901   if (has_fg_fraction()) {
44902     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(9, this->fg_fraction(), target);
44903   }
44904
44905   // optional uint32 context_pad = 10 [default = 0];
44906   if (has_context_pad()) {
44907     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->context_pad(), target);
44908   }
44909
44910   // optional string crop_mode = 11 [default = "warp"];
44911   if (has_crop_mode()) {
44912     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44913       this->crop_mode().data(), this->crop_mode().length(),
44914       ::google::protobuf::internal::WireFormat::SERIALIZE,
44915       "opencv_caffe.WindowDataParameter.crop_mode");
44916     target =
44917       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
44918         11, this->crop_mode(), target);
44919   }
44920
44921   // optional bool cache_images = 12 [default = false];
44922   if (has_cache_images()) {
44923     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(12, this->cache_images(), target);
44924   }
44925
44926   // optional string root_folder = 13 [default = ""];
44927   if (has_root_folder()) {
44928     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
44929       this->root_folder().data(), this->root_folder().length(),
44930       ::google::protobuf::internal::WireFormat::SERIALIZE,
44931       "opencv_caffe.WindowDataParameter.root_folder");
44932     target =
44933       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
44934         13, this->root_folder(), target);
44935   }
44936
44937   if (_internal_metadata_.have_unknown_fields()) {
44938     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
44939         unknown_fields(), target);
44940   }
44941   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.WindowDataParameter)
44942   return target;
44943 }
44944
44945 size_t WindowDataParameter::ByteSizeLong() const {
44946 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.WindowDataParameter)
44947   size_t total_size = 0;
44948
44949   if (_has_bits_[0 / 32] & 255u) {
44950     // optional string source = 1;
44951     if (has_source()) {
44952       total_size += 1 +
44953         ::google::protobuf::internal::WireFormatLite::StringSize(
44954           this->source());
44955     }
44956
44957     // optional float scale = 2 [default = 1];
44958     if (has_scale()) {
44959       total_size += 1 + 4;
44960     }
44961
44962     // optional string mean_file = 3;
44963     if (has_mean_file()) {
44964       total_size += 1 +
44965         ::google::protobuf::internal::WireFormatLite::StringSize(
44966           this->mean_file());
44967     }
44968
44969     // optional uint32 batch_size = 4;
44970     if (has_batch_size()) {
44971       total_size += 1 +
44972         ::google::protobuf::internal::WireFormatLite::UInt32Size(
44973           this->batch_size());
44974     }
44975
44976     // optional uint32 crop_size = 5 [default = 0];
44977     if (has_crop_size()) {
44978       total_size += 1 +
44979         ::google::protobuf::internal::WireFormatLite::UInt32Size(
44980           this->crop_size());
44981     }
44982
44983     // optional bool mirror = 6 [default = false];
44984     if (has_mirror()) {
44985       total_size += 1 + 1;
44986     }
44987
44988     // optional float fg_threshold = 7 [default = 0.5];
44989     if (has_fg_threshold()) {
44990       total_size += 1 + 4;
44991     }
44992
44993     // optional float bg_threshold = 8 [default = 0.5];
44994     if (has_bg_threshold()) {
44995       total_size += 1 + 4;
44996     }
44997
44998   }
44999   if (_has_bits_[8 / 32] & 7936u) {
45000     // optional float fg_fraction = 9 [default = 0.25];
45001     if (has_fg_fraction()) {
45002       total_size += 1 + 4;
45003     }
45004
45005     // optional uint32 context_pad = 10 [default = 0];
45006     if (has_context_pad()) {
45007       total_size += 1 +
45008         ::google::protobuf::internal::WireFormatLite::UInt32Size(
45009           this->context_pad());
45010     }
45011
45012     // optional string crop_mode = 11 [default = "warp"];
45013     if (has_crop_mode()) {
45014       total_size += 1 +
45015         ::google::protobuf::internal::WireFormatLite::StringSize(
45016           this->crop_mode());
45017     }
45018
45019     // optional bool cache_images = 12 [default = false];
45020     if (has_cache_images()) {
45021       total_size += 1 + 1;
45022     }
45023
45024     // optional string root_folder = 13 [default = ""];
45025     if (has_root_folder()) {
45026       total_size += 1 +
45027         ::google::protobuf::internal::WireFormatLite::StringSize(
45028           this->root_folder());
45029     }
45030
45031   }
45032   if (_internal_metadata_.have_unknown_fields()) {
45033     total_size +=
45034       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
45035         unknown_fields());
45036   }
45037   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
45038   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
45039   _cached_size_ = cached_size;
45040   GOOGLE_SAFE_CONCURRENT_WRITES_END();
45041   return total_size;
45042 }
45043
45044 void WindowDataParameter::MergeFrom(const ::google::protobuf::Message& from) {
45045 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.WindowDataParameter)
45046   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
45047   const WindowDataParameter* source =
45048       ::google::protobuf::internal::DynamicCastToGenerated<const WindowDataParameter>(
45049           &from);
45050   if (source == NULL) {
45051   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.WindowDataParameter)
45052     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
45053   } else {
45054   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.WindowDataParameter)
45055     UnsafeMergeFrom(*source);
45056   }
45057 }
45058
45059 void WindowDataParameter::MergeFrom(const WindowDataParameter& from) {
45060 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.WindowDataParameter)
45061   if (GOOGLE_PREDICT_TRUE(&from != this)) {
45062     UnsafeMergeFrom(from);
45063   } else {
45064     MergeFromFail(__LINE__);
45065   }
45066 }
45067
45068 void WindowDataParameter::UnsafeMergeFrom(const WindowDataParameter& from) {
45069   GOOGLE_DCHECK(&from != this);
45070   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
45071     if (from.has_source()) {
45072       set_has_source();
45073       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
45074     }
45075     if (from.has_scale()) {
45076       set_scale(from.scale());
45077     }
45078     if (from.has_mean_file()) {
45079       set_has_mean_file();
45080       mean_file_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.mean_file_);
45081     }
45082     if (from.has_batch_size()) {
45083       set_batch_size(from.batch_size());
45084     }
45085     if (from.has_crop_size()) {
45086       set_crop_size(from.crop_size());
45087     }
45088     if (from.has_mirror()) {
45089       set_mirror(from.mirror());
45090     }
45091     if (from.has_fg_threshold()) {
45092       set_fg_threshold(from.fg_threshold());
45093     }
45094     if (from.has_bg_threshold()) {
45095       set_bg_threshold(from.bg_threshold());
45096     }
45097   }
45098   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
45099     if (from.has_fg_fraction()) {
45100       set_fg_fraction(from.fg_fraction());
45101     }
45102     if (from.has_context_pad()) {
45103       set_context_pad(from.context_pad());
45104     }
45105     if (from.has_crop_mode()) {
45106       set_has_crop_mode();
45107       crop_mode_.AssignWithDefault(_default_crop_mode_, from.crop_mode_);
45108     }
45109     if (from.has_cache_images()) {
45110       set_cache_images(from.cache_images());
45111     }
45112     if (from.has_root_folder()) {
45113       set_has_root_folder();
45114       root_folder_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.root_folder_);
45115     }
45116   }
45117   if (from._internal_metadata_.have_unknown_fields()) {
45118     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
45119       from.unknown_fields(), &_internal_metadata_);
45120   }
45121 }
45122
45123 void WindowDataParameter::CopyFrom(const ::google::protobuf::Message& from) {
45124 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.WindowDataParameter)
45125   if (&from == this) return;
45126   Clear();
45127   MergeFrom(from);
45128 }
45129
45130 void WindowDataParameter::CopyFrom(const WindowDataParameter& from) {
45131 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.WindowDataParameter)
45132   if (&from == this) return;
45133   Clear();
45134   UnsafeMergeFrom(from);
45135 }
45136
45137 bool WindowDataParameter::IsInitialized() const {
45138
45139   return true;
45140 }
45141
45142 void WindowDataParameter::Swap(WindowDataParameter* other) {
45143   if (other == this) return;
45144   InternalSwap(other);
45145 }
45146 void WindowDataParameter::InternalSwap(WindowDataParameter* other) {
45147   source_.Swap(&other->source_);
45148   std::swap(scale_, other->scale_);
45149   mean_file_.Swap(&other->mean_file_);
45150   std::swap(batch_size_, other->batch_size_);
45151   std::swap(crop_size_, other->crop_size_);
45152   std::swap(mirror_, other->mirror_);
45153   std::swap(fg_threshold_, other->fg_threshold_);
45154   std::swap(bg_threshold_, other->bg_threshold_);
45155   std::swap(fg_fraction_, other->fg_fraction_);
45156   std::swap(context_pad_, other->context_pad_);
45157   crop_mode_.Swap(&other->crop_mode_);
45158   std::swap(cache_images_, other->cache_images_);
45159   root_folder_.Swap(&other->root_folder_);
45160   std::swap(_has_bits_[0], other->_has_bits_[0]);
45161   _internal_metadata_.Swap(&other->_internal_metadata_);
45162   std::swap(_cached_size_, other->_cached_size_);
45163 }
45164
45165 ::google::protobuf::Metadata WindowDataParameter::GetMetadata() const {
45166   protobuf_AssignDescriptorsOnce();
45167   ::google::protobuf::Metadata metadata;
45168   metadata.descriptor = WindowDataParameter_descriptor_;
45169   metadata.reflection = WindowDataParameter_reflection_;
45170   return metadata;
45171 }
45172
45173 #if PROTOBUF_INLINE_NOT_IN_HEADERS
45174 // WindowDataParameter
45175
45176 // optional string source = 1;
45177 bool WindowDataParameter::has_source() const {
45178   return (_has_bits_[0] & 0x00000001u) != 0;
45179 }
45180 void WindowDataParameter::set_has_source() {
45181   _has_bits_[0] |= 0x00000001u;
45182 }
45183 void WindowDataParameter::clear_has_source() {
45184   _has_bits_[0] &= ~0x00000001u;
45185 }
45186 void WindowDataParameter::clear_source() {
45187   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45188   clear_has_source();
45189 }
45190 const ::std::string& WindowDataParameter::source() const {
45191   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.source)
45192   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45193 }
45194 void WindowDataParameter::set_source(const ::std::string& value) {
45195   set_has_source();
45196   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
45197   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.source)
45198 }
45199 void WindowDataParameter::set_source(const char* value) {
45200   set_has_source();
45201   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
45202   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.source)
45203 }
45204 void WindowDataParameter::set_source(const char* value, size_t size) {
45205   set_has_source();
45206   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
45207       ::std::string(reinterpret_cast<const char*>(value), size));
45208   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.source)
45209 }
45210 ::std::string* WindowDataParameter::mutable_source() {
45211   set_has_source();
45212   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.source)
45213   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45214 }
45215 ::std::string* WindowDataParameter::release_source() {
45216   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.source)
45217   clear_has_source();
45218   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45219 }
45220 void WindowDataParameter::set_allocated_source(::std::string* source) {
45221   if (source != NULL) {
45222     set_has_source();
45223   } else {
45224     clear_has_source();
45225   }
45226   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
45227   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.source)
45228 }
45229
45230 // optional float scale = 2 [default = 1];
45231 bool WindowDataParameter::has_scale() const {
45232   return (_has_bits_[0] & 0x00000002u) != 0;
45233 }
45234 void WindowDataParameter::set_has_scale() {
45235   _has_bits_[0] |= 0x00000002u;
45236 }
45237 void WindowDataParameter::clear_has_scale() {
45238   _has_bits_[0] &= ~0x00000002u;
45239 }
45240 void WindowDataParameter::clear_scale() {
45241   scale_ = 1;
45242   clear_has_scale();
45243 }
45244 float WindowDataParameter::scale() const {
45245   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.scale)
45246   return scale_;
45247 }
45248 void WindowDataParameter::set_scale(float value) {
45249   set_has_scale();
45250   scale_ = value;
45251   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.scale)
45252 }
45253
45254 // optional string mean_file = 3;
45255 bool WindowDataParameter::has_mean_file() const {
45256   return (_has_bits_[0] & 0x00000004u) != 0;
45257 }
45258 void WindowDataParameter::set_has_mean_file() {
45259   _has_bits_[0] |= 0x00000004u;
45260 }
45261 void WindowDataParameter::clear_has_mean_file() {
45262   _has_bits_[0] &= ~0x00000004u;
45263 }
45264 void WindowDataParameter::clear_mean_file() {
45265   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45266   clear_has_mean_file();
45267 }
45268 const ::std::string& WindowDataParameter::mean_file() const {
45269   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mean_file)
45270   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45271 }
45272 void WindowDataParameter::set_mean_file(const ::std::string& value) {
45273   set_has_mean_file();
45274   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
45275   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mean_file)
45276 }
45277 void WindowDataParameter::set_mean_file(const char* value) {
45278   set_has_mean_file();
45279   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
45280   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.mean_file)
45281 }
45282 void WindowDataParameter::set_mean_file(const char* value, size_t size) {
45283   set_has_mean_file();
45284   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
45285       ::std::string(reinterpret_cast<const char*>(value), size));
45286   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.mean_file)
45287 }
45288 ::std::string* WindowDataParameter::mutable_mean_file() {
45289   set_has_mean_file();
45290   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.mean_file)
45291   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45292 }
45293 ::std::string* WindowDataParameter::release_mean_file() {
45294   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.mean_file)
45295   clear_has_mean_file();
45296   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45297 }
45298 void WindowDataParameter::set_allocated_mean_file(::std::string* mean_file) {
45299   if (mean_file != NULL) {
45300     set_has_mean_file();
45301   } else {
45302     clear_has_mean_file();
45303   }
45304   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
45305   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.mean_file)
45306 }
45307
45308 // optional uint32 batch_size = 4;
45309 bool WindowDataParameter::has_batch_size() const {
45310   return (_has_bits_[0] & 0x00000008u) != 0;
45311 }
45312 void WindowDataParameter::set_has_batch_size() {
45313   _has_bits_[0] |= 0x00000008u;
45314 }
45315 void WindowDataParameter::clear_has_batch_size() {
45316   _has_bits_[0] &= ~0x00000008u;
45317 }
45318 void WindowDataParameter::clear_batch_size() {
45319   batch_size_ = 0u;
45320   clear_has_batch_size();
45321 }
45322 ::google::protobuf::uint32 WindowDataParameter::batch_size() const {
45323   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.batch_size)
45324   return batch_size_;
45325 }
45326 void WindowDataParameter::set_batch_size(::google::protobuf::uint32 value) {
45327   set_has_batch_size();
45328   batch_size_ = value;
45329   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.batch_size)
45330 }
45331
45332 // optional uint32 crop_size = 5 [default = 0];
45333 bool WindowDataParameter::has_crop_size() const {
45334   return (_has_bits_[0] & 0x00000010u) != 0;
45335 }
45336 void WindowDataParameter::set_has_crop_size() {
45337   _has_bits_[0] |= 0x00000010u;
45338 }
45339 void WindowDataParameter::clear_has_crop_size() {
45340   _has_bits_[0] &= ~0x00000010u;
45341 }
45342 void WindowDataParameter::clear_crop_size() {
45343   crop_size_ = 0u;
45344   clear_has_crop_size();
45345 }
45346 ::google::protobuf::uint32 WindowDataParameter::crop_size() const {
45347   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_size)
45348   return crop_size_;
45349 }
45350 void WindowDataParameter::set_crop_size(::google::protobuf::uint32 value) {
45351   set_has_crop_size();
45352   crop_size_ = value;
45353   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_size)
45354 }
45355
45356 // optional bool mirror = 6 [default = false];
45357 bool WindowDataParameter::has_mirror() const {
45358   return (_has_bits_[0] & 0x00000020u) != 0;
45359 }
45360 void WindowDataParameter::set_has_mirror() {
45361   _has_bits_[0] |= 0x00000020u;
45362 }
45363 void WindowDataParameter::clear_has_mirror() {
45364   _has_bits_[0] &= ~0x00000020u;
45365 }
45366 void WindowDataParameter::clear_mirror() {
45367   mirror_ = false;
45368   clear_has_mirror();
45369 }
45370 bool WindowDataParameter::mirror() const {
45371   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mirror)
45372   return mirror_;
45373 }
45374 void WindowDataParameter::set_mirror(bool value) {
45375   set_has_mirror();
45376   mirror_ = value;
45377   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mirror)
45378 }
45379
45380 // optional float fg_threshold = 7 [default = 0.5];
45381 bool WindowDataParameter::has_fg_threshold() const {
45382   return (_has_bits_[0] & 0x00000040u) != 0;
45383 }
45384 void WindowDataParameter::set_has_fg_threshold() {
45385   _has_bits_[0] |= 0x00000040u;
45386 }
45387 void WindowDataParameter::clear_has_fg_threshold() {
45388   _has_bits_[0] &= ~0x00000040u;
45389 }
45390 void WindowDataParameter::clear_fg_threshold() {
45391   fg_threshold_ = 0.5f;
45392   clear_has_fg_threshold();
45393 }
45394 float WindowDataParameter::fg_threshold() const {
45395   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_threshold)
45396   return fg_threshold_;
45397 }
45398 void WindowDataParameter::set_fg_threshold(float value) {
45399   set_has_fg_threshold();
45400   fg_threshold_ = value;
45401   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_threshold)
45402 }
45403
45404 // optional float bg_threshold = 8 [default = 0.5];
45405 bool WindowDataParameter::has_bg_threshold() const {
45406   return (_has_bits_[0] & 0x00000080u) != 0;
45407 }
45408 void WindowDataParameter::set_has_bg_threshold() {
45409   _has_bits_[0] |= 0x00000080u;
45410 }
45411 void WindowDataParameter::clear_has_bg_threshold() {
45412   _has_bits_[0] &= ~0x00000080u;
45413 }
45414 void WindowDataParameter::clear_bg_threshold() {
45415   bg_threshold_ = 0.5f;
45416   clear_has_bg_threshold();
45417 }
45418 float WindowDataParameter::bg_threshold() const {
45419   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.bg_threshold)
45420   return bg_threshold_;
45421 }
45422 void WindowDataParameter::set_bg_threshold(float value) {
45423   set_has_bg_threshold();
45424   bg_threshold_ = value;
45425   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.bg_threshold)
45426 }
45427
45428 // optional float fg_fraction = 9 [default = 0.25];
45429 bool WindowDataParameter::has_fg_fraction() const {
45430   return (_has_bits_[0] & 0x00000100u) != 0;
45431 }
45432 void WindowDataParameter::set_has_fg_fraction() {
45433   _has_bits_[0] |= 0x00000100u;
45434 }
45435 void WindowDataParameter::clear_has_fg_fraction() {
45436   _has_bits_[0] &= ~0x00000100u;
45437 }
45438 void WindowDataParameter::clear_fg_fraction() {
45439   fg_fraction_ = 0.25f;
45440   clear_has_fg_fraction();
45441 }
45442 float WindowDataParameter::fg_fraction() const {
45443   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_fraction)
45444   return fg_fraction_;
45445 }
45446 void WindowDataParameter::set_fg_fraction(float value) {
45447   set_has_fg_fraction();
45448   fg_fraction_ = value;
45449   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_fraction)
45450 }
45451
45452 // optional uint32 context_pad = 10 [default = 0];
45453 bool WindowDataParameter::has_context_pad() const {
45454   return (_has_bits_[0] & 0x00000200u) != 0;
45455 }
45456 void WindowDataParameter::set_has_context_pad() {
45457   _has_bits_[0] |= 0x00000200u;
45458 }
45459 void WindowDataParameter::clear_has_context_pad() {
45460   _has_bits_[0] &= ~0x00000200u;
45461 }
45462 void WindowDataParameter::clear_context_pad() {
45463   context_pad_ = 0u;
45464   clear_has_context_pad();
45465 }
45466 ::google::protobuf::uint32 WindowDataParameter::context_pad() const {
45467   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.context_pad)
45468   return context_pad_;
45469 }
45470 void WindowDataParameter::set_context_pad(::google::protobuf::uint32 value) {
45471   set_has_context_pad();
45472   context_pad_ = value;
45473   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.context_pad)
45474 }
45475
45476 // optional string crop_mode = 11 [default = "warp"];
45477 bool WindowDataParameter::has_crop_mode() const {
45478   return (_has_bits_[0] & 0x00000400u) != 0;
45479 }
45480 void WindowDataParameter::set_has_crop_mode() {
45481   _has_bits_[0] |= 0x00000400u;
45482 }
45483 void WindowDataParameter::clear_has_crop_mode() {
45484   _has_bits_[0] &= ~0x00000400u;
45485 }
45486 void WindowDataParameter::clear_crop_mode() {
45487   crop_mode_.ClearToDefaultNoArena(_default_crop_mode_);
45488   clear_has_crop_mode();
45489 }
45490 const ::std::string& WindowDataParameter::crop_mode() const {
45491   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_mode)
45492   return crop_mode_.GetNoArena(_default_crop_mode_);
45493 }
45494 void WindowDataParameter::set_crop_mode(const ::std::string& value) {
45495   set_has_crop_mode();
45496   crop_mode_.SetNoArena(_default_crop_mode_, value);
45497   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_mode)
45498 }
45499 void WindowDataParameter::set_crop_mode(const char* value) {
45500   set_has_crop_mode();
45501   crop_mode_.SetNoArena(_default_crop_mode_, ::std::string(value));
45502   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.crop_mode)
45503 }
45504 void WindowDataParameter::set_crop_mode(const char* value, size_t size) {
45505   set_has_crop_mode();
45506   crop_mode_.SetNoArena(_default_crop_mode_,
45507       ::std::string(reinterpret_cast<const char*>(value), size));
45508   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.crop_mode)
45509 }
45510 ::std::string* WindowDataParameter::mutable_crop_mode() {
45511   set_has_crop_mode();
45512   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.crop_mode)
45513   return crop_mode_.MutableNoArena(_default_crop_mode_);
45514 }
45515 ::std::string* WindowDataParameter::release_crop_mode() {
45516   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.crop_mode)
45517   clear_has_crop_mode();
45518   return crop_mode_.ReleaseNoArena(_default_crop_mode_);
45519 }
45520 void WindowDataParameter::set_allocated_crop_mode(::std::string* crop_mode) {
45521   if (crop_mode != NULL) {
45522     set_has_crop_mode();
45523   } else {
45524     clear_has_crop_mode();
45525   }
45526   crop_mode_.SetAllocatedNoArena(_default_crop_mode_, crop_mode);
45527   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.crop_mode)
45528 }
45529
45530 // optional bool cache_images = 12 [default = false];
45531 bool WindowDataParameter::has_cache_images() const {
45532   return (_has_bits_[0] & 0x00000800u) != 0;
45533 }
45534 void WindowDataParameter::set_has_cache_images() {
45535   _has_bits_[0] |= 0x00000800u;
45536 }
45537 void WindowDataParameter::clear_has_cache_images() {
45538   _has_bits_[0] &= ~0x00000800u;
45539 }
45540 void WindowDataParameter::clear_cache_images() {
45541   cache_images_ = false;
45542   clear_has_cache_images();
45543 }
45544 bool WindowDataParameter::cache_images() const {
45545   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.cache_images)
45546   return cache_images_;
45547 }
45548 void WindowDataParameter::set_cache_images(bool value) {
45549   set_has_cache_images();
45550   cache_images_ = value;
45551   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.cache_images)
45552 }
45553
45554 // optional string root_folder = 13 [default = ""];
45555 bool WindowDataParameter::has_root_folder() const {
45556   return (_has_bits_[0] & 0x00001000u) != 0;
45557 }
45558 void WindowDataParameter::set_has_root_folder() {
45559   _has_bits_[0] |= 0x00001000u;
45560 }
45561 void WindowDataParameter::clear_has_root_folder() {
45562   _has_bits_[0] &= ~0x00001000u;
45563 }
45564 void WindowDataParameter::clear_root_folder() {
45565   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45566   clear_has_root_folder();
45567 }
45568 const ::std::string& WindowDataParameter::root_folder() const {
45569   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.root_folder)
45570   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45571 }
45572 void WindowDataParameter::set_root_folder(const ::std::string& value) {
45573   set_has_root_folder();
45574   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
45575   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.root_folder)
45576 }
45577 void WindowDataParameter::set_root_folder(const char* value) {
45578   set_has_root_folder();
45579   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
45580   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.root_folder)
45581 }
45582 void WindowDataParameter::set_root_folder(const char* value, size_t size) {
45583   set_has_root_folder();
45584   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
45585       ::std::string(reinterpret_cast<const char*>(value), size));
45586   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.root_folder)
45587 }
45588 ::std::string* WindowDataParameter::mutable_root_folder() {
45589   set_has_root_folder();
45590   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.root_folder)
45591   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45592 }
45593 ::std::string* WindowDataParameter::release_root_folder() {
45594   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.root_folder)
45595   clear_has_root_folder();
45596   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
45597 }
45598 void WindowDataParameter::set_allocated_root_folder(::std::string* root_folder) {
45599   if (root_folder != NULL) {
45600     set_has_root_folder();
45601   } else {
45602     clear_has_root_folder();
45603   }
45604   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
45605   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.root_folder)
45606 }
45607
45608 inline const WindowDataParameter* WindowDataParameter::internal_default_instance() {
45609   return &WindowDataParameter_default_instance_.get();
45610 }
45611 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
45612
45613 // ===================================================================
45614
45615 const ::google::protobuf::EnumDescriptor* SPPParameter_PoolMethod_descriptor() {
45616   protobuf_AssignDescriptorsOnce();
45617   return SPPParameter_PoolMethod_descriptor_;
45618 }
45619 bool SPPParameter_PoolMethod_IsValid(int value) {
45620   switch (value) {
45621     case 0:
45622     case 1:
45623     case 2:
45624       return true;
45625     default:
45626       return false;
45627   }
45628 }
45629
45630 #if !defined(_MSC_VER) || _MSC_VER >= 1900
45631 const SPPParameter_PoolMethod SPPParameter::MAX;
45632 const SPPParameter_PoolMethod SPPParameter::AVE;
45633 const SPPParameter_PoolMethod SPPParameter::STOCHASTIC;
45634 const SPPParameter_PoolMethod SPPParameter::PoolMethod_MIN;
45635 const SPPParameter_PoolMethod SPPParameter::PoolMethod_MAX;
45636 const int SPPParameter::PoolMethod_ARRAYSIZE;
45637 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
45638 const ::google::protobuf::EnumDescriptor* SPPParameter_Engine_descriptor() {
45639   protobuf_AssignDescriptorsOnce();
45640   return SPPParameter_Engine_descriptor_;
45641 }
45642 bool SPPParameter_Engine_IsValid(int value) {
45643   switch (value) {
45644     case 0:
45645     case 1:
45646     case 2:
45647       return true;
45648     default:
45649       return false;
45650   }
45651 }
45652
45653 #if !defined(_MSC_VER) || _MSC_VER >= 1900
45654 const SPPParameter_Engine SPPParameter::DEFAULT;
45655 const SPPParameter_Engine SPPParameter::CAFFE;
45656 const SPPParameter_Engine SPPParameter::CUDNN;
45657 const SPPParameter_Engine SPPParameter::Engine_MIN;
45658 const SPPParameter_Engine SPPParameter::Engine_MAX;
45659 const int SPPParameter::Engine_ARRAYSIZE;
45660 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
45661 #if !defined(_MSC_VER) || _MSC_VER >= 1900
45662 const int SPPParameter::kPyramidHeightFieldNumber;
45663 const int SPPParameter::kPoolFieldNumber;
45664 const int SPPParameter::kEngineFieldNumber;
45665 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
45666
45667 SPPParameter::SPPParameter()
45668   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
45669   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
45670   SharedCtor();
45671   // @@protoc_insertion_point(constructor:opencv_caffe.SPPParameter)
45672 }
45673
45674 void SPPParameter::InitAsDefaultInstance() {
45675 }
45676
45677 SPPParameter::SPPParameter(const SPPParameter& from)
45678   : ::google::protobuf::Message(),
45679     _internal_metadata_(NULL) {
45680   SharedCtor();
45681   UnsafeMergeFrom(from);
45682   // @@protoc_insertion_point(copy_constructor:opencv_caffe.SPPParameter)
45683 }
45684
45685 void SPPParameter::SharedCtor() {
45686   _cached_size_ = 0;
45687   ::memset(&pyramid_height_, 0, reinterpret_cast<char*>(&engine_) -
45688     reinterpret_cast<char*>(&pyramid_height_) + sizeof(engine_));
45689 }
45690
45691 SPPParameter::~SPPParameter() {
45692   // @@protoc_insertion_point(destructor:opencv_caffe.SPPParameter)
45693   SharedDtor();
45694 }
45695
45696 void SPPParameter::SharedDtor() {
45697 }
45698
45699 void SPPParameter::SetCachedSize(int size) const {
45700   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
45701   _cached_size_ = size;
45702   GOOGLE_SAFE_CONCURRENT_WRITES_END();
45703 }
45704 const ::google::protobuf::Descriptor* SPPParameter::descriptor() {
45705   protobuf_AssignDescriptorsOnce();
45706   return SPPParameter_descriptor_;
45707 }
45708
45709 const SPPParameter& SPPParameter::default_instance() {
45710   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
45711   return *internal_default_instance();
45712 }
45713
45714 ::google::protobuf::internal::ExplicitlyConstructed<SPPParameter> SPPParameter_default_instance_;
45715
45716 SPPParameter* SPPParameter::New(::google::protobuf::Arena* arena) const {
45717   SPPParameter* n = new SPPParameter;
45718   if (arena != NULL) {
45719     arena->Own(n);
45720   }
45721   return n;
45722 }
45723
45724 void SPPParameter::Clear() {
45725 // @@protoc_insertion_point(message_clear_start:opencv_caffe.SPPParameter)
45726 #if defined(__clang__)
45727 #define ZR_HELPER_(f) \
45728   _Pragma("clang diagnostic push") \
45729   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
45730   __builtin_offsetof(SPPParameter, f) \
45731   _Pragma("clang diagnostic pop")
45732 #else
45733 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
45734   &reinterpret_cast<SPPParameter*>(16)->f)
45735 #endif
45736
45737 #define ZR_(first, last) do {\
45738   ::memset(&(first), 0,\
45739            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
45740 } while (0)
45741
45742   ZR_(pyramid_height_, engine_);
45743
45744 #undef ZR_HELPER_
45745 #undef ZR_
45746
45747   _has_bits_.Clear();
45748   if (_internal_metadata_.have_unknown_fields()) {
45749     mutable_unknown_fields()->Clear();
45750   }
45751 }
45752
45753 bool SPPParameter::MergePartialFromCodedStream(
45754     ::google::protobuf::io::CodedInputStream* input) {
45755 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
45756   ::google::protobuf::uint32 tag;
45757   // @@protoc_insertion_point(parse_start:opencv_caffe.SPPParameter)
45758   for (;;) {
45759     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
45760     tag = p.first;
45761     if (!p.second) goto handle_unusual;
45762     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
45763       // optional uint32 pyramid_height = 1;
45764       case 1: {
45765         if (tag == 8) {
45766           set_has_pyramid_height();
45767           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
45768                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
45769                  input, &pyramid_height_)));
45770         } else {
45771           goto handle_unusual;
45772         }
45773         if (input->ExpectTag(16)) goto parse_pool;
45774         break;
45775       }
45776
45777       // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
45778       case 2: {
45779         if (tag == 16) {
45780          parse_pool:
45781           int value;
45782           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
45783                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
45784                  input, &value)));
45785           if (::opencv_caffe::SPPParameter_PoolMethod_IsValid(value)) {
45786             set_pool(static_cast< ::opencv_caffe::SPPParameter_PoolMethod >(value));
45787           } else {
45788             mutable_unknown_fields()->AddVarint(2, value);
45789           }
45790         } else {
45791           goto handle_unusual;
45792         }
45793         if (input->ExpectTag(48)) goto parse_engine;
45794         break;
45795       }
45796
45797       // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
45798       case 6: {
45799         if (tag == 48) {
45800          parse_engine:
45801           int value;
45802           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
45803                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
45804                  input, &value)));
45805           if (::opencv_caffe::SPPParameter_Engine_IsValid(value)) {
45806             set_engine(static_cast< ::opencv_caffe::SPPParameter_Engine >(value));
45807           } else {
45808             mutable_unknown_fields()->AddVarint(6, value);
45809           }
45810         } else {
45811           goto handle_unusual;
45812         }
45813         if (input->ExpectAtEnd()) goto success;
45814         break;
45815       }
45816
45817       default: {
45818       handle_unusual:
45819         if (tag == 0 ||
45820             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
45821             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
45822           goto success;
45823         }
45824         DO_(::google::protobuf::internal::WireFormat::SkipField(
45825               input, tag, mutable_unknown_fields()));
45826         break;
45827       }
45828     }
45829   }
45830 success:
45831   // @@protoc_insertion_point(parse_success:opencv_caffe.SPPParameter)
45832   return true;
45833 failure:
45834   // @@protoc_insertion_point(parse_failure:opencv_caffe.SPPParameter)
45835   return false;
45836 #undef DO_
45837 }
45838
45839 void SPPParameter::SerializeWithCachedSizes(
45840     ::google::protobuf::io::CodedOutputStream* output) const {
45841   // @@protoc_insertion_point(serialize_start:opencv_caffe.SPPParameter)
45842   // optional uint32 pyramid_height = 1;
45843   if (has_pyramid_height()) {
45844     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->pyramid_height(), output);
45845   }
45846
45847   // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
45848   if (has_pool()) {
45849     ::google::protobuf::internal::WireFormatLite::WriteEnum(
45850       2, this->pool(), output);
45851   }
45852
45853   // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
45854   if (has_engine()) {
45855     ::google::protobuf::internal::WireFormatLite::WriteEnum(
45856       6, this->engine(), output);
45857   }
45858
45859   if (_internal_metadata_.have_unknown_fields()) {
45860     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
45861         unknown_fields(), output);
45862   }
45863   // @@protoc_insertion_point(serialize_end:opencv_caffe.SPPParameter)
45864 }
45865
45866 ::google::protobuf::uint8* SPPParameter::InternalSerializeWithCachedSizesToArray(
45867     bool deterministic, ::google::protobuf::uint8* target) const {
45868   (void)deterministic; // Unused
45869   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.SPPParameter)
45870   // optional uint32 pyramid_height = 1;
45871   if (has_pyramid_height()) {
45872     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->pyramid_height(), target);
45873   }
45874
45875   // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
45876   if (has_pool()) {
45877     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
45878       2, this->pool(), target);
45879   }
45880
45881   // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
45882   if (has_engine()) {
45883     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
45884       6, this->engine(), target);
45885   }
45886
45887   if (_internal_metadata_.have_unknown_fields()) {
45888     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
45889         unknown_fields(), target);
45890   }
45891   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.SPPParameter)
45892   return target;
45893 }
45894
45895 size_t SPPParameter::ByteSizeLong() const {
45896 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.SPPParameter)
45897   size_t total_size = 0;
45898
45899   if (_has_bits_[0 / 32] & 7u) {
45900     // optional uint32 pyramid_height = 1;
45901     if (has_pyramid_height()) {
45902       total_size += 1 +
45903         ::google::protobuf::internal::WireFormatLite::UInt32Size(
45904           this->pyramid_height());
45905     }
45906
45907     // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
45908     if (has_pool()) {
45909       total_size += 1 +
45910         ::google::protobuf::internal::WireFormatLite::EnumSize(this->pool());
45911     }
45912
45913     // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
45914     if (has_engine()) {
45915       total_size += 1 +
45916         ::google::protobuf::internal::WireFormatLite::EnumSize(this->engine());
45917     }
45918
45919   }
45920   if (_internal_metadata_.have_unknown_fields()) {
45921     total_size +=
45922       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
45923         unknown_fields());
45924   }
45925   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
45926   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
45927   _cached_size_ = cached_size;
45928   GOOGLE_SAFE_CONCURRENT_WRITES_END();
45929   return total_size;
45930 }
45931
45932 void SPPParameter::MergeFrom(const ::google::protobuf::Message& from) {
45933 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.SPPParameter)
45934   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
45935   const SPPParameter* source =
45936       ::google::protobuf::internal::DynamicCastToGenerated<const SPPParameter>(
45937           &from);
45938   if (source == NULL) {
45939   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.SPPParameter)
45940     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
45941   } else {
45942   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.SPPParameter)
45943     UnsafeMergeFrom(*source);
45944   }
45945 }
45946
45947 void SPPParameter::MergeFrom(const SPPParameter& from) {
45948 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.SPPParameter)
45949   if (GOOGLE_PREDICT_TRUE(&from != this)) {
45950     UnsafeMergeFrom(from);
45951   } else {
45952     MergeFromFail(__LINE__);
45953   }
45954 }
45955
45956 void SPPParameter::UnsafeMergeFrom(const SPPParameter& from) {
45957   GOOGLE_DCHECK(&from != this);
45958   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
45959     if (from.has_pyramid_height()) {
45960       set_pyramid_height(from.pyramid_height());
45961     }
45962     if (from.has_pool()) {
45963       set_pool(from.pool());
45964     }
45965     if (from.has_engine()) {
45966       set_engine(from.engine());
45967     }
45968   }
45969   if (from._internal_metadata_.have_unknown_fields()) {
45970     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
45971       from.unknown_fields(), &_internal_metadata_);
45972   }
45973 }
45974
45975 void SPPParameter::CopyFrom(const ::google::protobuf::Message& from) {
45976 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.SPPParameter)
45977   if (&from == this) return;
45978   Clear();
45979   MergeFrom(from);
45980 }
45981
45982 void SPPParameter::CopyFrom(const SPPParameter& from) {
45983 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.SPPParameter)
45984   if (&from == this) return;
45985   Clear();
45986   UnsafeMergeFrom(from);
45987 }
45988
45989 bool SPPParameter::IsInitialized() const {
45990
45991   return true;
45992 }
45993
45994 void SPPParameter::Swap(SPPParameter* other) {
45995   if (other == this) return;
45996   InternalSwap(other);
45997 }
45998 void SPPParameter::InternalSwap(SPPParameter* other) {
45999   std::swap(pyramid_height_, other->pyramid_height_);
46000   std::swap(pool_, other->pool_);
46001   std::swap(engine_, other->engine_);
46002   std::swap(_has_bits_[0], other->_has_bits_[0]);
46003   _internal_metadata_.Swap(&other->_internal_metadata_);
46004   std::swap(_cached_size_, other->_cached_size_);
46005 }
46006
46007 ::google::protobuf::Metadata SPPParameter::GetMetadata() const {
46008   protobuf_AssignDescriptorsOnce();
46009   ::google::protobuf::Metadata metadata;
46010   metadata.descriptor = SPPParameter_descriptor_;
46011   metadata.reflection = SPPParameter_reflection_;
46012   return metadata;
46013 }
46014
46015 #if PROTOBUF_INLINE_NOT_IN_HEADERS
46016 // SPPParameter
46017
46018 // optional uint32 pyramid_height = 1;
46019 bool SPPParameter::has_pyramid_height() const {
46020   return (_has_bits_[0] & 0x00000001u) != 0;
46021 }
46022 void SPPParameter::set_has_pyramid_height() {
46023   _has_bits_[0] |= 0x00000001u;
46024 }
46025 void SPPParameter::clear_has_pyramid_height() {
46026   _has_bits_[0] &= ~0x00000001u;
46027 }
46028 void SPPParameter::clear_pyramid_height() {
46029   pyramid_height_ = 0u;
46030   clear_has_pyramid_height();
46031 }
46032 ::google::protobuf::uint32 SPPParameter::pyramid_height() const {
46033   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pyramid_height)
46034   return pyramid_height_;
46035 }
46036 void SPPParameter::set_pyramid_height(::google::protobuf::uint32 value) {
46037   set_has_pyramid_height();
46038   pyramid_height_ = value;
46039   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pyramid_height)
46040 }
46041
46042 // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
46043 bool SPPParameter::has_pool() const {
46044   return (_has_bits_[0] & 0x00000002u) != 0;
46045 }
46046 void SPPParameter::set_has_pool() {
46047   _has_bits_[0] |= 0x00000002u;
46048 }
46049 void SPPParameter::clear_has_pool() {
46050   _has_bits_[0] &= ~0x00000002u;
46051 }
46052 void SPPParameter::clear_pool() {
46053   pool_ = 0;
46054   clear_has_pool();
46055 }
46056 ::opencv_caffe::SPPParameter_PoolMethod SPPParameter::pool() const {
46057   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pool)
46058   return static_cast< ::opencv_caffe::SPPParameter_PoolMethod >(pool_);
46059 }
46060 void SPPParameter::set_pool(::opencv_caffe::SPPParameter_PoolMethod value) {
46061   assert(::opencv_caffe::SPPParameter_PoolMethod_IsValid(value));
46062   set_has_pool();
46063   pool_ = value;
46064   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pool)
46065 }
46066
46067 // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
46068 bool SPPParameter::has_engine() const {
46069   return (_has_bits_[0] & 0x00000004u) != 0;
46070 }
46071 void SPPParameter::set_has_engine() {
46072   _has_bits_[0] |= 0x00000004u;
46073 }
46074 void SPPParameter::clear_has_engine() {
46075   _has_bits_[0] &= ~0x00000004u;
46076 }
46077 void SPPParameter::clear_engine() {
46078   engine_ = 0;
46079   clear_has_engine();
46080 }
46081 ::opencv_caffe::SPPParameter_Engine SPPParameter::engine() const {
46082   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.engine)
46083   return static_cast< ::opencv_caffe::SPPParameter_Engine >(engine_);
46084 }
46085 void SPPParameter::set_engine(::opencv_caffe::SPPParameter_Engine value) {
46086   assert(::opencv_caffe::SPPParameter_Engine_IsValid(value));
46087   set_has_engine();
46088   engine_ = value;
46089   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.engine)
46090 }
46091
46092 inline const SPPParameter* SPPParameter::internal_default_instance() {
46093   return &SPPParameter_default_instance_.get();
46094 }
46095 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
46096
46097 // ===================================================================
46098
46099 const ::google::protobuf::EnumDescriptor* V1LayerParameter_LayerType_descriptor() {
46100   protobuf_AssignDescriptorsOnce();
46101   return V1LayerParameter_LayerType_descriptor_;
46102 }
46103 bool V1LayerParameter_LayerType_IsValid(int value) {
46104   switch (value) {
46105     case 0:
46106     case 1:
46107     case 2:
46108     case 3:
46109     case 4:
46110     case 5:
46111     case 6:
46112     case 7:
46113     case 8:
46114     case 9:
46115     case 10:
46116     case 11:
46117     case 12:
46118     case 13:
46119     case 14:
46120     case 15:
46121     case 16:
46122     case 17:
46123     case 18:
46124     case 19:
46125     case 20:
46126     case 21:
46127     case 22:
46128     case 23:
46129     case 24:
46130     case 25:
46131     case 26:
46132     case 27:
46133     case 28:
46134     case 29:
46135     case 30:
46136     case 31:
46137     case 32:
46138     case 33:
46139     case 34:
46140     case 35:
46141     case 36:
46142     case 37:
46143     case 38:
46144     case 39:
46145       return true;
46146     default:
46147       return false;
46148   }
46149 }
46150
46151 #if !defined(_MSC_VER) || _MSC_VER >= 1900
46152 const V1LayerParameter_LayerType V1LayerParameter::NONE;
46153 const V1LayerParameter_LayerType V1LayerParameter::ABSVAL;
46154 const V1LayerParameter_LayerType V1LayerParameter::ACCURACY;
46155 const V1LayerParameter_LayerType V1LayerParameter::ARGMAX;
46156 const V1LayerParameter_LayerType V1LayerParameter::BNLL;
46157 const V1LayerParameter_LayerType V1LayerParameter::CONCAT;
46158 const V1LayerParameter_LayerType V1LayerParameter::CONTRASTIVE_LOSS;
46159 const V1LayerParameter_LayerType V1LayerParameter::CONVOLUTION;
46160 const V1LayerParameter_LayerType V1LayerParameter::DATA;
46161 const V1LayerParameter_LayerType V1LayerParameter::DECONVOLUTION;
46162 const V1LayerParameter_LayerType V1LayerParameter::DROPOUT;
46163 const V1LayerParameter_LayerType V1LayerParameter::DUMMY_DATA;
46164 const V1LayerParameter_LayerType V1LayerParameter::EUCLIDEAN_LOSS;
46165 const V1LayerParameter_LayerType V1LayerParameter::ELTWISE;
46166 const V1LayerParameter_LayerType V1LayerParameter::EXP;
46167 const V1LayerParameter_LayerType V1LayerParameter::FLATTEN;
46168 const V1LayerParameter_LayerType V1LayerParameter::HDF5_DATA;
46169 const V1LayerParameter_LayerType V1LayerParameter::HDF5_OUTPUT;
46170 const V1LayerParameter_LayerType V1LayerParameter::HINGE_LOSS;
46171 const V1LayerParameter_LayerType V1LayerParameter::IM2COL;
46172 const V1LayerParameter_LayerType V1LayerParameter::IMAGE_DATA;
46173 const V1LayerParameter_LayerType V1LayerParameter::INFOGAIN_LOSS;
46174 const V1LayerParameter_LayerType V1LayerParameter::INNER_PRODUCT;
46175 const V1LayerParameter_LayerType V1LayerParameter::LRN;
46176 const V1LayerParameter_LayerType V1LayerParameter::MEMORY_DATA;
46177 const V1LayerParameter_LayerType V1LayerParameter::MULTINOMIAL_LOGISTIC_LOSS;
46178 const V1LayerParameter_LayerType V1LayerParameter::MVN;
46179 const V1LayerParameter_LayerType V1LayerParameter::POOLING;
46180 const V1LayerParameter_LayerType V1LayerParameter::POWER;
46181 const V1LayerParameter_LayerType V1LayerParameter::RELU;
46182 const V1LayerParameter_LayerType V1LayerParameter::SIGMOID;
46183 const V1LayerParameter_LayerType V1LayerParameter::SIGMOID_CROSS_ENTROPY_LOSS;
46184 const V1LayerParameter_LayerType V1LayerParameter::SILENCE;
46185 const V1LayerParameter_LayerType V1LayerParameter::SOFTMAX;
46186 const V1LayerParameter_LayerType V1LayerParameter::SOFTMAX_LOSS;
46187 const V1LayerParameter_LayerType V1LayerParameter::SPLIT;
46188 const V1LayerParameter_LayerType V1LayerParameter::SLICE;
46189 const V1LayerParameter_LayerType V1LayerParameter::TANH;
46190 const V1LayerParameter_LayerType V1LayerParameter::WINDOW_DATA;
46191 const V1LayerParameter_LayerType V1LayerParameter::THRESHOLD;
46192 const V1LayerParameter_LayerType V1LayerParameter::LayerType_MIN;
46193 const V1LayerParameter_LayerType V1LayerParameter::LayerType_MAX;
46194 const int V1LayerParameter::LayerType_ARRAYSIZE;
46195 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
46196 const ::google::protobuf::EnumDescriptor* V1LayerParameter_DimCheckMode_descriptor() {
46197   protobuf_AssignDescriptorsOnce();
46198   return V1LayerParameter_DimCheckMode_descriptor_;
46199 }
46200 bool V1LayerParameter_DimCheckMode_IsValid(int value) {
46201   switch (value) {
46202     case 0:
46203     case 1:
46204       return true;
46205     default:
46206       return false;
46207   }
46208 }
46209
46210 #if !defined(_MSC_VER) || _MSC_VER >= 1900
46211 const V1LayerParameter_DimCheckMode V1LayerParameter::STRICT;
46212 const V1LayerParameter_DimCheckMode V1LayerParameter::PERMISSIVE;
46213 const V1LayerParameter_DimCheckMode V1LayerParameter::DimCheckMode_MIN;
46214 const V1LayerParameter_DimCheckMode V1LayerParameter::DimCheckMode_MAX;
46215 const int V1LayerParameter::DimCheckMode_ARRAYSIZE;
46216 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
46217 #if !defined(_MSC_VER) || _MSC_VER >= 1900
46218 const int V1LayerParameter::kBottomFieldNumber;
46219 const int V1LayerParameter::kTopFieldNumber;
46220 const int V1LayerParameter::kNameFieldNumber;
46221 const int V1LayerParameter::kIncludeFieldNumber;
46222 const int V1LayerParameter::kExcludeFieldNumber;
46223 const int V1LayerParameter::kTypeFieldNumber;
46224 const int V1LayerParameter::kBlobsFieldNumber;
46225 const int V1LayerParameter::kParamFieldNumber;
46226 const int V1LayerParameter::kBlobShareModeFieldNumber;
46227 const int V1LayerParameter::kBlobsLrFieldNumber;
46228 const int V1LayerParameter::kWeightDecayFieldNumber;
46229 const int V1LayerParameter::kLossWeightFieldNumber;
46230 const int V1LayerParameter::kAccuracyParamFieldNumber;
46231 const int V1LayerParameter::kArgmaxParamFieldNumber;
46232 const int V1LayerParameter::kConcatParamFieldNumber;
46233 const int V1LayerParameter::kContrastiveLossParamFieldNumber;
46234 const int V1LayerParameter::kConvolutionParamFieldNumber;
46235 const int V1LayerParameter::kDataParamFieldNumber;
46236 const int V1LayerParameter::kDropoutParamFieldNumber;
46237 const int V1LayerParameter::kDummyDataParamFieldNumber;
46238 const int V1LayerParameter::kEltwiseParamFieldNumber;
46239 const int V1LayerParameter::kExpParamFieldNumber;
46240 const int V1LayerParameter::kHdf5DataParamFieldNumber;
46241 const int V1LayerParameter::kHdf5OutputParamFieldNumber;
46242 const int V1LayerParameter::kHingeLossParamFieldNumber;
46243 const int V1LayerParameter::kImageDataParamFieldNumber;
46244 const int V1LayerParameter::kInfogainLossParamFieldNumber;
46245 const int V1LayerParameter::kInnerProductParamFieldNumber;
46246 const int V1LayerParameter::kLrnParamFieldNumber;
46247 const int V1LayerParameter::kMemoryDataParamFieldNumber;
46248 const int V1LayerParameter::kMvnParamFieldNumber;
46249 const int V1LayerParameter::kPoolingParamFieldNumber;
46250 const int V1LayerParameter::kPowerParamFieldNumber;
46251 const int V1LayerParameter::kReluParamFieldNumber;
46252 const int V1LayerParameter::kSigmoidParamFieldNumber;
46253 const int V1LayerParameter::kSoftmaxParamFieldNumber;
46254 const int V1LayerParameter::kSliceParamFieldNumber;
46255 const int V1LayerParameter::kTanhParamFieldNumber;
46256 const int V1LayerParameter::kThresholdParamFieldNumber;
46257 const int V1LayerParameter::kWindowDataParamFieldNumber;
46258 const int V1LayerParameter::kTransformParamFieldNumber;
46259 const int V1LayerParameter::kLossParamFieldNumber;
46260 const int V1LayerParameter::kLayerFieldNumber;
46261 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
46262
46263 V1LayerParameter::V1LayerParameter()
46264   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
46265   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
46266   SharedCtor();
46267   // @@protoc_insertion_point(constructor:opencv_caffe.V1LayerParameter)
46268 }
46269
46270 void V1LayerParameter::InitAsDefaultInstance() {
46271   accuracy_param_ = const_cast< ::opencv_caffe::AccuracyParameter*>(
46272       ::opencv_caffe::AccuracyParameter::internal_default_instance());
46273   argmax_param_ = const_cast< ::opencv_caffe::ArgMaxParameter*>(
46274       ::opencv_caffe::ArgMaxParameter::internal_default_instance());
46275   concat_param_ = const_cast< ::opencv_caffe::ConcatParameter*>(
46276       ::opencv_caffe::ConcatParameter::internal_default_instance());
46277   contrastive_loss_param_ = const_cast< ::opencv_caffe::ContrastiveLossParameter*>(
46278       ::opencv_caffe::ContrastiveLossParameter::internal_default_instance());
46279   convolution_param_ = const_cast< ::opencv_caffe::ConvolutionParameter*>(
46280       ::opencv_caffe::ConvolutionParameter::internal_default_instance());
46281   data_param_ = const_cast< ::opencv_caffe::DataParameter*>(
46282       ::opencv_caffe::DataParameter::internal_default_instance());
46283   dropout_param_ = const_cast< ::opencv_caffe::DropoutParameter*>(
46284       ::opencv_caffe::DropoutParameter::internal_default_instance());
46285   dummy_data_param_ = const_cast< ::opencv_caffe::DummyDataParameter*>(
46286       ::opencv_caffe::DummyDataParameter::internal_default_instance());
46287   eltwise_param_ = const_cast< ::opencv_caffe::EltwiseParameter*>(
46288       ::opencv_caffe::EltwiseParameter::internal_default_instance());
46289   exp_param_ = const_cast< ::opencv_caffe::ExpParameter*>(
46290       ::opencv_caffe::ExpParameter::internal_default_instance());
46291   hdf5_data_param_ = const_cast< ::opencv_caffe::HDF5DataParameter*>(
46292       ::opencv_caffe::HDF5DataParameter::internal_default_instance());
46293   hdf5_output_param_ = const_cast< ::opencv_caffe::HDF5OutputParameter*>(
46294       ::opencv_caffe::HDF5OutputParameter::internal_default_instance());
46295   hinge_loss_param_ = const_cast< ::opencv_caffe::HingeLossParameter*>(
46296       ::opencv_caffe::HingeLossParameter::internal_default_instance());
46297   image_data_param_ = const_cast< ::opencv_caffe::ImageDataParameter*>(
46298       ::opencv_caffe::ImageDataParameter::internal_default_instance());
46299   infogain_loss_param_ = const_cast< ::opencv_caffe::InfogainLossParameter*>(
46300       ::opencv_caffe::InfogainLossParameter::internal_default_instance());
46301   inner_product_param_ = const_cast< ::opencv_caffe::InnerProductParameter*>(
46302       ::opencv_caffe::InnerProductParameter::internal_default_instance());
46303   lrn_param_ = const_cast< ::opencv_caffe::LRNParameter*>(
46304       ::opencv_caffe::LRNParameter::internal_default_instance());
46305   memory_data_param_ = const_cast< ::opencv_caffe::MemoryDataParameter*>(
46306       ::opencv_caffe::MemoryDataParameter::internal_default_instance());
46307   mvn_param_ = const_cast< ::opencv_caffe::MVNParameter*>(
46308       ::opencv_caffe::MVNParameter::internal_default_instance());
46309   pooling_param_ = const_cast< ::opencv_caffe::PoolingParameter*>(
46310       ::opencv_caffe::PoolingParameter::internal_default_instance());
46311   power_param_ = const_cast< ::opencv_caffe::PowerParameter*>(
46312       ::opencv_caffe::PowerParameter::internal_default_instance());
46313   relu_param_ = const_cast< ::opencv_caffe::ReLUParameter*>(
46314       ::opencv_caffe::ReLUParameter::internal_default_instance());
46315   sigmoid_param_ = const_cast< ::opencv_caffe::SigmoidParameter*>(
46316       ::opencv_caffe::SigmoidParameter::internal_default_instance());
46317   softmax_param_ = const_cast< ::opencv_caffe::SoftmaxParameter*>(
46318       ::opencv_caffe::SoftmaxParameter::internal_default_instance());
46319   slice_param_ = const_cast< ::opencv_caffe::SliceParameter*>(
46320       ::opencv_caffe::SliceParameter::internal_default_instance());
46321   tanh_param_ = const_cast< ::opencv_caffe::TanHParameter*>(
46322       ::opencv_caffe::TanHParameter::internal_default_instance());
46323   threshold_param_ = const_cast< ::opencv_caffe::ThresholdParameter*>(
46324       ::opencv_caffe::ThresholdParameter::internal_default_instance());
46325   window_data_param_ = const_cast< ::opencv_caffe::WindowDataParameter*>(
46326       ::opencv_caffe::WindowDataParameter::internal_default_instance());
46327   transform_param_ = const_cast< ::opencv_caffe::TransformationParameter*>(
46328       ::opencv_caffe::TransformationParameter::internal_default_instance());
46329   loss_param_ = const_cast< ::opencv_caffe::LossParameter*>(
46330       ::opencv_caffe::LossParameter::internal_default_instance());
46331   layer_ = const_cast< ::opencv_caffe::V0LayerParameter*>(
46332       ::opencv_caffe::V0LayerParameter::internal_default_instance());
46333 }
46334
46335 V1LayerParameter::V1LayerParameter(const V1LayerParameter& from)
46336   : ::google::protobuf::Message(),
46337     _internal_metadata_(NULL) {
46338   SharedCtor();
46339   UnsafeMergeFrom(from);
46340   // @@protoc_insertion_point(copy_constructor:opencv_caffe.V1LayerParameter)
46341 }
46342
46343 void V1LayerParameter::SharedCtor() {
46344   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
46345   accuracy_param_ = NULL;
46346   argmax_param_ = NULL;
46347   concat_param_ = NULL;
46348   contrastive_loss_param_ = NULL;
46349   convolution_param_ = NULL;
46350   data_param_ = NULL;
46351   dropout_param_ = NULL;
46352   dummy_data_param_ = NULL;
46353   eltwise_param_ = NULL;
46354   exp_param_ = NULL;
46355   hdf5_data_param_ = NULL;
46356   hdf5_output_param_ = NULL;
46357   hinge_loss_param_ = NULL;
46358   image_data_param_ = NULL;
46359   infogain_loss_param_ = NULL;
46360   inner_product_param_ = NULL;
46361   lrn_param_ = NULL;
46362   memory_data_param_ = NULL;
46363   mvn_param_ = NULL;
46364   pooling_param_ = NULL;
46365   power_param_ = NULL;
46366   relu_param_ = NULL;
46367   sigmoid_param_ = NULL;
46368   softmax_param_ = NULL;
46369   slice_param_ = NULL;
46370   tanh_param_ = NULL;
46371   threshold_param_ = NULL;
46372   window_data_param_ = NULL;
46373   transform_param_ = NULL;
46374   loss_param_ = NULL;
46375   layer_ = NULL;
46376   type_ = 0;
46377   _cached_size_ = 0;
46378 }
46379
46380 V1LayerParameter::~V1LayerParameter() {
46381   // @@protoc_insertion_point(destructor:opencv_caffe.V1LayerParameter)
46382   SharedDtor();
46383 }
46384
46385 void V1LayerParameter::SharedDtor() {
46386   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
46387   if (this != &V1LayerParameter_default_instance_.get()) {
46388     delete accuracy_param_;
46389     delete argmax_param_;
46390     delete concat_param_;
46391     delete contrastive_loss_param_;
46392     delete convolution_param_;
46393     delete data_param_;
46394     delete dropout_param_;
46395     delete dummy_data_param_;
46396     delete eltwise_param_;
46397     delete exp_param_;
46398     delete hdf5_data_param_;
46399     delete hdf5_output_param_;
46400     delete hinge_loss_param_;
46401     delete image_data_param_;
46402     delete infogain_loss_param_;
46403     delete inner_product_param_;
46404     delete lrn_param_;
46405     delete memory_data_param_;
46406     delete mvn_param_;
46407     delete pooling_param_;
46408     delete power_param_;
46409     delete relu_param_;
46410     delete sigmoid_param_;
46411     delete softmax_param_;
46412     delete slice_param_;
46413     delete tanh_param_;
46414     delete threshold_param_;
46415     delete window_data_param_;
46416     delete transform_param_;
46417     delete loss_param_;
46418     delete layer_;
46419   }
46420 }
46421
46422 void V1LayerParameter::SetCachedSize(int size) const {
46423   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
46424   _cached_size_ = size;
46425   GOOGLE_SAFE_CONCURRENT_WRITES_END();
46426 }
46427 const ::google::protobuf::Descriptor* V1LayerParameter::descriptor() {
46428   protobuf_AssignDescriptorsOnce();
46429   return V1LayerParameter_descriptor_;
46430 }
46431
46432 const V1LayerParameter& V1LayerParameter::default_instance() {
46433   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
46434   return *internal_default_instance();
46435 }
46436
46437 ::google::protobuf::internal::ExplicitlyConstructed<V1LayerParameter> V1LayerParameter_default_instance_;
46438
46439 V1LayerParameter* V1LayerParameter::New(::google::protobuf::Arena* arena) const {
46440   V1LayerParameter* n = new V1LayerParameter;
46441   if (arena != NULL) {
46442     arena->Own(n);
46443   }
46444   return n;
46445 }
46446
46447 void V1LayerParameter::Clear() {
46448 // @@protoc_insertion_point(message_clear_start:opencv_caffe.V1LayerParameter)
46449   if (_has_bits_[0 / 32] & 36u) {
46450     if (has_name()) {
46451       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
46452     }
46453     type_ = 0;
46454   }
46455   if (_has_bits_[8 / 32] & 61440u) {
46456     if (has_accuracy_param()) {
46457       if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
46458     }
46459     if (has_argmax_param()) {
46460       if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
46461     }
46462     if (has_concat_param()) {
46463       if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
46464     }
46465     if (has_contrastive_loss_param()) {
46466       if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
46467     }
46468   }
46469   if (_has_bits_[16 / 32] & 16711680u) {
46470     if (has_convolution_param()) {
46471       if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
46472     }
46473     if (has_data_param()) {
46474       if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
46475     }
46476     if (has_dropout_param()) {
46477       if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
46478     }
46479     if (has_dummy_data_param()) {
46480       if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
46481     }
46482     if (has_eltwise_param()) {
46483       if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
46484     }
46485     if (has_exp_param()) {
46486       if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
46487     }
46488     if (has_hdf5_data_param()) {
46489       if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
46490     }
46491     if (has_hdf5_output_param()) {
46492       if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
46493     }
46494   }
46495   if (_has_bits_[24 / 32] & 4278190080u) {
46496     if (has_hinge_loss_param()) {
46497       if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
46498     }
46499     if (has_image_data_param()) {
46500       if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
46501     }
46502     if (has_infogain_loss_param()) {
46503       if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
46504     }
46505     if (has_inner_product_param()) {
46506       if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
46507     }
46508     if (has_lrn_param()) {
46509       if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
46510     }
46511     if (has_memory_data_param()) {
46512       if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
46513     }
46514     if (has_mvn_param()) {
46515       if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
46516     }
46517     if (has_pooling_param()) {
46518       if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
46519     }
46520   }
46521   if (_has_bits_[32 / 32] & 255u) {
46522     if (has_power_param()) {
46523       if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
46524     }
46525     if (has_relu_param()) {
46526       if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
46527     }
46528     if (has_sigmoid_param()) {
46529       if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
46530     }
46531     if (has_softmax_param()) {
46532       if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
46533     }
46534     if (has_slice_param()) {
46535       if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
46536     }
46537     if (has_tanh_param()) {
46538       if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
46539     }
46540     if (has_threshold_param()) {
46541       if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
46542     }
46543     if (has_window_data_param()) {
46544       if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
46545     }
46546   }
46547   if (_has_bits_[40 / 32] & 1792u) {
46548     if (has_transform_param()) {
46549       if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
46550     }
46551     if (has_loss_param()) {
46552       if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
46553     }
46554     if (has_layer()) {
46555       if (layer_ != NULL) layer_->::opencv_caffe::V0LayerParameter::Clear();
46556     }
46557   }
46558   bottom_.Clear();
46559   top_.Clear();
46560   include_.Clear();
46561   exclude_.Clear();
46562   blobs_.Clear();
46563   param_.Clear();
46564   blob_share_mode_.Clear();
46565   blobs_lr_.Clear();
46566   weight_decay_.Clear();
46567   loss_weight_.Clear();
46568   _has_bits_.Clear();
46569   if (_internal_metadata_.have_unknown_fields()) {
46570     mutable_unknown_fields()->Clear();
46571   }
46572 }
46573
46574 bool V1LayerParameter::MergePartialFromCodedStream(
46575     ::google::protobuf::io::CodedInputStream* input) {
46576 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
46577   ::google::protobuf::uint32 tag;
46578   // @@protoc_insertion_point(parse_start:opencv_caffe.V1LayerParameter)
46579   for (;;) {
46580     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
46581     tag = p.first;
46582     if (!p.second) goto handle_unusual;
46583     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
46584       // optional .opencv_caffe.V0LayerParameter layer = 1;
46585       case 1: {
46586         if (tag == 10) {
46587           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46588                input, mutable_layer()));
46589         } else {
46590           goto handle_unusual;
46591         }
46592         if (input->ExpectTag(18)) goto parse_bottom;
46593         break;
46594       }
46595
46596       // repeated string bottom = 2;
46597       case 2: {
46598         if (tag == 18) {
46599          parse_bottom:
46600           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
46601                 input, this->add_bottom()));
46602           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
46603             this->bottom(this->bottom_size() - 1).data(),
46604             this->bottom(this->bottom_size() - 1).length(),
46605             ::google::protobuf::internal::WireFormat::PARSE,
46606             "opencv_caffe.V1LayerParameter.bottom");
46607         } else {
46608           goto handle_unusual;
46609         }
46610         if (input->ExpectTag(18)) goto parse_bottom;
46611         if (input->ExpectTag(26)) goto parse_top;
46612         break;
46613       }
46614
46615       // repeated string top = 3;
46616       case 3: {
46617         if (tag == 26) {
46618          parse_top:
46619           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
46620                 input, this->add_top()));
46621           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
46622             this->top(this->top_size() - 1).data(),
46623             this->top(this->top_size() - 1).length(),
46624             ::google::protobuf::internal::WireFormat::PARSE,
46625             "opencv_caffe.V1LayerParameter.top");
46626         } else {
46627           goto handle_unusual;
46628         }
46629         if (input->ExpectTag(26)) goto parse_top;
46630         if (input->ExpectTag(34)) goto parse_name;
46631         break;
46632       }
46633
46634       // optional string name = 4;
46635       case 4: {
46636         if (tag == 34) {
46637          parse_name:
46638           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
46639                 input, this->mutable_name()));
46640           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
46641             this->name().data(), this->name().length(),
46642             ::google::protobuf::internal::WireFormat::PARSE,
46643             "opencv_caffe.V1LayerParameter.name");
46644         } else {
46645           goto handle_unusual;
46646         }
46647         if (input->ExpectTag(40)) goto parse_type;
46648         break;
46649       }
46650
46651       // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
46652       case 5: {
46653         if (tag == 40) {
46654          parse_type:
46655           int value;
46656           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
46657                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
46658                  input, &value)));
46659           if (::opencv_caffe::V1LayerParameter_LayerType_IsValid(value)) {
46660             set_type(static_cast< ::opencv_caffe::V1LayerParameter_LayerType >(value));
46661           } else {
46662             mutable_unknown_fields()->AddVarint(5, value);
46663           }
46664         } else {
46665           goto handle_unusual;
46666         }
46667         if (input->ExpectTag(50)) goto parse_blobs;
46668         break;
46669       }
46670
46671       // repeated .opencv_caffe.BlobProto blobs = 6;
46672       case 6: {
46673         if (tag == 50) {
46674          parse_blobs:
46675           DO_(input->IncrementRecursionDepth());
46676          parse_loop_blobs:
46677           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
46678                 input, add_blobs()));
46679         } else {
46680           goto handle_unusual;
46681         }
46682         if (input->ExpectTag(50)) goto parse_loop_blobs;
46683         input->UnsafeDecrementRecursionDepth();
46684         if (input->ExpectTag(61)) goto parse_blobs_lr;
46685         break;
46686       }
46687
46688       // repeated float blobs_lr = 7;
46689       case 7: {
46690         if (tag == 61) {
46691          parse_blobs_lr:
46692           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
46693                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46694                  1, 61, input, this->mutable_blobs_lr())));
46695         } else if (tag == 58) {
46696           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
46697                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46698                  input, this->mutable_blobs_lr())));
46699         } else {
46700           goto handle_unusual;
46701         }
46702         if (input->ExpectTag(61)) goto parse_blobs_lr;
46703         if (input->ExpectTag(69)) goto parse_weight_decay;
46704         break;
46705       }
46706
46707       // repeated float weight_decay = 8;
46708       case 8: {
46709         if (tag == 69) {
46710          parse_weight_decay:
46711           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
46712                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46713                  1, 69, input, this->mutable_weight_decay())));
46714         } else if (tag == 66) {
46715           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
46716                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
46717                  input, this->mutable_weight_decay())));
46718         } else {
46719           goto handle_unusual;
46720         }
46721         if (input->ExpectTag(69)) goto parse_weight_decay;
46722         if (input->ExpectTag(74)) goto parse_concat_param;
46723         break;
46724       }
46725
46726       // optional .opencv_caffe.ConcatParameter concat_param = 9;
46727       case 9: {
46728         if (tag == 74) {
46729          parse_concat_param:
46730           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46731                input, mutable_concat_param()));
46732         } else {
46733           goto handle_unusual;
46734         }
46735         if (input->ExpectTag(82)) goto parse_convolution_param;
46736         break;
46737       }
46738
46739       // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
46740       case 10: {
46741         if (tag == 82) {
46742          parse_convolution_param:
46743           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46744                input, mutable_convolution_param()));
46745         } else {
46746           goto handle_unusual;
46747         }
46748         if (input->ExpectTag(90)) goto parse_data_param;
46749         break;
46750       }
46751
46752       // optional .opencv_caffe.DataParameter data_param = 11;
46753       case 11: {
46754         if (tag == 90) {
46755          parse_data_param:
46756           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46757                input, mutable_data_param()));
46758         } else {
46759           goto handle_unusual;
46760         }
46761         if (input->ExpectTag(98)) goto parse_dropout_param;
46762         break;
46763       }
46764
46765       // optional .opencv_caffe.DropoutParameter dropout_param = 12;
46766       case 12: {
46767         if (tag == 98) {
46768          parse_dropout_param:
46769           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46770                input, mutable_dropout_param()));
46771         } else {
46772           goto handle_unusual;
46773         }
46774         if (input->ExpectTag(106)) goto parse_hdf5_data_param;
46775         break;
46776       }
46777
46778       // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
46779       case 13: {
46780         if (tag == 106) {
46781          parse_hdf5_data_param:
46782           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46783                input, mutable_hdf5_data_param()));
46784         } else {
46785           goto handle_unusual;
46786         }
46787         if (input->ExpectTag(114)) goto parse_hdf5_output_param;
46788         break;
46789       }
46790
46791       // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
46792       case 14: {
46793         if (tag == 114) {
46794          parse_hdf5_output_param:
46795           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46796                input, mutable_hdf5_output_param()));
46797         } else {
46798           goto handle_unusual;
46799         }
46800         if (input->ExpectTag(122)) goto parse_image_data_param;
46801         break;
46802       }
46803
46804       // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
46805       case 15: {
46806         if (tag == 122) {
46807          parse_image_data_param:
46808           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46809                input, mutable_image_data_param()));
46810         } else {
46811           goto handle_unusual;
46812         }
46813         if (input->ExpectTag(130)) goto parse_infogain_loss_param;
46814         break;
46815       }
46816
46817       // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
46818       case 16: {
46819         if (tag == 130) {
46820          parse_infogain_loss_param:
46821           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46822                input, mutable_infogain_loss_param()));
46823         } else {
46824           goto handle_unusual;
46825         }
46826         if (input->ExpectTag(138)) goto parse_inner_product_param;
46827         break;
46828       }
46829
46830       // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
46831       case 17: {
46832         if (tag == 138) {
46833          parse_inner_product_param:
46834           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46835                input, mutable_inner_product_param()));
46836         } else {
46837           goto handle_unusual;
46838         }
46839         if (input->ExpectTag(146)) goto parse_lrn_param;
46840         break;
46841       }
46842
46843       // optional .opencv_caffe.LRNParameter lrn_param = 18;
46844       case 18: {
46845         if (tag == 146) {
46846          parse_lrn_param:
46847           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46848                input, mutable_lrn_param()));
46849         } else {
46850           goto handle_unusual;
46851         }
46852         if (input->ExpectTag(154)) goto parse_pooling_param;
46853         break;
46854       }
46855
46856       // optional .opencv_caffe.PoolingParameter pooling_param = 19;
46857       case 19: {
46858         if (tag == 154) {
46859          parse_pooling_param:
46860           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46861                input, mutable_pooling_param()));
46862         } else {
46863           goto handle_unusual;
46864         }
46865         if (input->ExpectTag(162)) goto parse_window_data_param;
46866         break;
46867       }
46868
46869       // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
46870       case 20: {
46871         if (tag == 162) {
46872          parse_window_data_param:
46873           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46874                input, mutable_window_data_param()));
46875         } else {
46876           goto handle_unusual;
46877         }
46878         if (input->ExpectTag(170)) goto parse_power_param;
46879         break;
46880       }
46881
46882       // optional .opencv_caffe.PowerParameter power_param = 21;
46883       case 21: {
46884         if (tag == 170) {
46885          parse_power_param:
46886           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46887                input, mutable_power_param()));
46888         } else {
46889           goto handle_unusual;
46890         }
46891         if (input->ExpectTag(178)) goto parse_memory_data_param;
46892         break;
46893       }
46894
46895       // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
46896       case 22: {
46897         if (tag == 178) {
46898          parse_memory_data_param:
46899           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46900                input, mutable_memory_data_param()));
46901         } else {
46902           goto handle_unusual;
46903         }
46904         if (input->ExpectTag(186)) goto parse_argmax_param;
46905         break;
46906       }
46907
46908       // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
46909       case 23: {
46910         if (tag == 186) {
46911          parse_argmax_param:
46912           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46913                input, mutable_argmax_param()));
46914         } else {
46915           goto handle_unusual;
46916         }
46917         if (input->ExpectTag(194)) goto parse_eltwise_param;
46918         break;
46919       }
46920
46921       // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
46922       case 24: {
46923         if (tag == 194) {
46924          parse_eltwise_param:
46925           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46926                input, mutable_eltwise_param()));
46927         } else {
46928           goto handle_unusual;
46929         }
46930         if (input->ExpectTag(202)) goto parse_threshold_param;
46931         break;
46932       }
46933
46934       // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
46935       case 25: {
46936         if (tag == 202) {
46937          parse_threshold_param:
46938           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46939                input, mutable_threshold_param()));
46940         } else {
46941           goto handle_unusual;
46942         }
46943         if (input->ExpectTag(210)) goto parse_dummy_data_param;
46944         break;
46945       }
46946
46947       // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
46948       case 26: {
46949         if (tag == 210) {
46950          parse_dummy_data_param:
46951           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46952                input, mutable_dummy_data_param()));
46953         } else {
46954           goto handle_unusual;
46955         }
46956         if (input->ExpectTag(218)) goto parse_accuracy_param;
46957         break;
46958       }
46959
46960       // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
46961       case 27: {
46962         if (tag == 218) {
46963          parse_accuracy_param:
46964           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46965                input, mutable_accuracy_param()));
46966         } else {
46967           goto handle_unusual;
46968         }
46969         if (input->ExpectTag(234)) goto parse_hinge_loss_param;
46970         break;
46971       }
46972
46973       // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
46974       case 29: {
46975         if (tag == 234) {
46976          parse_hinge_loss_param:
46977           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46978                input, mutable_hinge_loss_param()));
46979         } else {
46980           goto handle_unusual;
46981         }
46982         if (input->ExpectTag(242)) goto parse_relu_param;
46983         break;
46984       }
46985
46986       // optional .opencv_caffe.ReLUParameter relu_param = 30;
46987       case 30: {
46988         if (tag == 242) {
46989          parse_relu_param:
46990           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
46991                input, mutable_relu_param()));
46992         } else {
46993           goto handle_unusual;
46994         }
46995         if (input->ExpectTag(250)) goto parse_slice_param;
46996         break;
46997       }
46998
46999       // optional .opencv_caffe.SliceParameter slice_param = 31;
47000       case 31: {
47001         if (tag == 250) {
47002          parse_slice_param:
47003           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47004                input, mutable_slice_param()));
47005         } else {
47006           goto handle_unusual;
47007         }
47008         if (input->ExpectTag(258)) goto parse_include;
47009         break;
47010       }
47011
47012       // repeated .opencv_caffe.NetStateRule include = 32;
47013       case 32: {
47014         if (tag == 258) {
47015          parse_include:
47016           DO_(input->IncrementRecursionDepth());
47017          parse_loop_include:
47018           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
47019                 input, add_include()));
47020         } else {
47021           goto handle_unusual;
47022         }
47023         if (input->ExpectTag(258)) goto parse_loop_include;
47024         if (input->ExpectTag(266)) goto parse_loop_exclude;
47025         input->UnsafeDecrementRecursionDepth();
47026         break;
47027       }
47028
47029       // repeated .opencv_caffe.NetStateRule exclude = 33;
47030       case 33: {
47031         if (tag == 266) {
47032           DO_(input->IncrementRecursionDepth());
47033          parse_loop_exclude:
47034           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
47035                 input, add_exclude()));
47036         } else {
47037           goto handle_unusual;
47038         }
47039         if (input->ExpectTag(266)) goto parse_loop_exclude;
47040         input->UnsafeDecrementRecursionDepth();
47041         if (input->ExpectTag(274)) goto parse_mvn_param;
47042         break;
47043       }
47044
47045       // optional .opencv_caffe.MVNParameter mvn_param = 34;
47046       case 34: {
47047         if (tag == 274) {
47048          parse_mvn_param:
47049           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47050                input, mutable_mvn_param()));
47051         } else {
47052           goto handle_unusual;
47053         }
47054         if (input->ExpectTag(285)) goto parse_loss_weight;
47055         break;
47056       }
47057
47058       // repeated float loss_weight = 35;
47059       case 35: {
47060         if (tag == 285) {
47061          parse_loss_weight:
47062           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
47063                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
47064                  2, 285, input, this->mutable_loss_weight())));
47065         } else if (tag == 282) {
47066           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
47067                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
47068                  input, this->mutable_loss_weight())));
47069         } else {
47070           goto handle_unusual;
47071         }
47072         if (input->ExpectTag(285)) goto parse_loss_weight;
47073         if (input->ExpectTag(290)) goto parse_transform_param;
47074         break;
47075       }
47076
47077       // optional .opencv_caffe.TransformationParameter transform_param = 36;
47078       case 36: {
47079         if (tag == 290) {
47080          parse_transform_param:
47081           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47082                input, mutable_transform_param()));
47083         } else {
47084           goto handle_unusual;
47085         }
47086         if (input->ExpectTag(298)) goto parse_tanh_param;
47087         break;
47088       }
47089
47090       // optional .opencv_caffe.TanHParameter tanh_param = 37;
47091       case 37: {
47092         if (tag == 298) {
47093          parse_tanh_param:
47094           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47095                input, mutable_tanh_param()));
47096         } else {
47097           goto handle_unusual;
47098         }
47099         if (input->ExpectTag(306)) goto parse_sigmoid_param;
47100         break;
47101       }
47102
47103       // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
47104       case 38: {
47105         if (tag == 306) {
47106          parse_sigmoid_param:
47107           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47108                input, mutable_sigmoid_param()));
47109         } else {
47110           goto handle_unusual;
47111         }
47112         if (input->ExpectTag(314)) goto parse_softmax_param;
47113         break;
47114       }
47115
47116       // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
47117       case 39: {
47118         if (tag == 314) {
47119          parse_softmax_param:
47120           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47121                input, mutable_softmax_param()));
47122         } else {
47123           goto handle_unusual;
47124         }
47125         if (input->ExpectTag(322)) goto parse_contrastive_loss_param;
47126         break;
47127       }
47128
47129       // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
47130       case 40: {
47131         if (tag == 322) {
47132          parse_contrastive_loss_param:
47133           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47134                input, mutable_contrastive_loss_param()));
47135         } else {
47136           goto handle_unusual;
47137         }
47138         if (input->ExpectTag(330)) goto parse_exp_param;
47139         break;
47140       }
47141
47142       // optional .opencv_caffe.ExpParameter exp_param = 41;
47143       case 41: {
47144         if (tag == 330) {
47145          parse_exp_param:
47146           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47147                input, mutable_exp_param()));
47148         } else {
47149           goto handle_unusual;
47150         }
47151         if (input->ExpectTag(338)) goto parse_loss_param;
47152         break;
47153       }
47154
47155       // optional .opencv_caffe.LossParameter loss_param = 42;
47156       case 42: {
47157         if (tag == 338) {
47158          parse_loss_param:
47159           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
47160                input, mutable_loss_param()));
47161         } else {
47162           goto handle_unusual;
47163         }
47164         if (input->ExpectTag(8010)) goto parse_param;
47165         break;
47166       }
47167
47168       // repeated string param = 1001;
47169       case 1001: {
47170         if (tag == 8010) {
47171          parse_param:
47172           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
47173                 input, this->add_param()));
47174           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47175             this->param(this->param_size() - 1).data(),
47176             this->param(this->param_size() - 1).length(),
47177             ::google::protobuf::internal::WireFormat::PARSE,
47178             "opencv_caffe.V1LayerParameter.param");
47179         } else {
47180           goto handle_unusual;
47181         }
47182         if (input->ExpectTag(8010)) goto parse_param;
47183         if (input->ExpectTag(8016)) goto parse_blob_share_mode;
47184         break;
47185       }
47186
47187       // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
47188       case 1002: {
47189         if (tag == 8016) {
47190          parse_blob_share_mode:
47191           int value;
47192           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
47193                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
47194                  input, &value)));
47195           if (::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value)) {
47196             add_blob_share_mode(static_cast< ::opencv_caffe::V1LayerParameter_DimCheckMode >(value));
47197           } else {
47198             mutable_unknown_fields()->AddVarint(1002, value);
47199           }
47200         } else if (tag == 8018) {
47201           DO_((::google::protobuf::internal::WireFormat::ReadPackedEnumPreserveUnknowns(
47202                  input,
47203                  1002,
47204                  ::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid,
47205                  mutable_unknown_fields(),
47206                  this->mutable_blob_share_mode())));
47207         } else {
47208           goto handle_unusual;
47209         }
47210         if (input->ExpectTag(8016)) goto parse_blob_share_mode;
47211         if (input->ExpectAtEnd()) goto success;
47212         break;
47213       }
47214
47215       default: {
47216       handle_unusual:
47217         if (tag == 0 ||
47218             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
47219             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
47220           goto success;
47221         }
47222         DO_(::google::protobuf::internal::WireFormat::SkipField(
47223               input, tag, mutable_unknown_fields()));
47224         break;
47225       }
47226     }
47227   }
47228 success:
47229   // @@protoc_insertion_point(parse_success:opencv_caffe.V1LayerParameter)
47230   return true;
47231 failure:
47232   // @@protoc_insertion_point(parse_failure:opencv_caffe.V1LayerParameter)
47233   return false;
47234 #undef DO_
47235 }
47236
47237 void V1LayerParameter::SerializeWithCachedSizes(
47238     ::google::protobuf::io::CodedOutputStream* output) const {
47239   // @@protoc_insertion_point(serialize_start:opencv_caffe.V1LayerParameter)
47240   // optional .opencv_caffe.V0LayerParameter layer = 1;
47241   if (has_layer()) {
47242     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47243       1, *this->layer_, output);
47244   }
47245
47246   // repeated string bottom = 2;
47247   for (int i = 0; i < this->bottom_size(); i++) {
47248     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47249       this->bottom(i).data(), this->bottom(i).length(),
47250       ::google::protobuf::internal::WireFormat::SERIALIZE,
47251       "opencv_caffe.V1LayerParameter.bottom");
47252     ::google::protobuf::internal::WireFormatLite::WriteString(
47253       2, this->bottom(i), output);
47254   }
47255
47256   // repeated string top = 3;
47257   for (int i = 0; i < this->top_size(); i++) {
47258     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47259       this->top(i).data(), this->top(i).length(),
47260       ::google::protobuf::internal::WireFormat::SERIALIZE,
47261       "opencv_caffe.V1LayerParameter.top");
47262     ::google::protobuf::internal::WireFormatLite::WriteString(
47263       3, this->top(i), output);
47264   }
47265
47266   // optional string name = 4;
47267   if (has_name()) {
47268     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47269       this->name().data(), this->name().length(),
47270       ::google::protobuf::internal::WireFormat::SERIALIZE,
47271       "opencv_caffe.V1LayerParameter.name");
47272     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
47273       4, this->name(), output);
47274   }
47275
47276   // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
47277   if (has_type()) {
47278     ::google::protobuf::internal::WireFormatLite::WriteEnum(
47279       5, this->type(), output);
47280   }
47281
47282   // repeated .opencv_caffe.BlobProto blobs = 6;
47283   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
47284     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47285       6, this->blobs(i), output);
47286   }
47287
47288   // repeated float blobs_lr = 7;
47289   for (int i = 0; i < this->blobs_lr_size(); i++) {
47290     ::google::protobuf::internal::WireFormatLite::WriteFloat(
47291       7, this->blobs_lr(i), output);
47292   }
47293
47294   // repeated float weight_decay = 8;
47295   for (int i = 0; i < this->weight_decay_size(); i++) {
47296     ::google::protobuf::internal::WireFormatLite::WriteFloat(
47297       8, this->weight_decay(i), output);
47298   }
47299
47300   // optional .opencv_caffe.ConcatParameter concat_param = 9;
47301   if (has_concat_param()) {
47302     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47303       9, *this->concat_param_, output);
47304   }
47305
47306   // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
47307   if (has_convolution_param()) {
47308     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47309       10, *this->convolution_param_, output);
47310   }
47311
47312   // optional .opencv_caffe.DataParameter data_param = 11;
47313   if (has_data_param()) {
47314     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47315       11, *this->data_param_, output);
47316   }
47317
47318   // optional .opencv_caffe.DropoutParameter dropout_param = 12;
47319   if (has_dropout_param()) {
47320     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47321       12, *this->dropout_param_, output);
47322   }
47323
47324   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
47325   if (has_hdf5_data_param()) {
47326     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47327       13, *this->hdf5_data_param_, output);
47328   }
47329
47330   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
47331   if (has_hdf5_output_param()) {
47332     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47333       14, *this->hdf5_output_param_, output);
47334   }
47335
47336   // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
47337   if (has_image_data_param()) {
47338     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47339       15, *this->image_data_param_, output);
47340   }
47341
47342   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
47343   if (has_infogain_loss_param()) {
47344     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47345       16, *this->infogain_loss_param_, output);
47346   }
47347
47348   // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
47349   if (has_inner_product_param()) {
47350     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47351       17, *this->inner_product_param_, output);
47352   }
47353
47354   // optional .opencv_caffe.LRNParameter lrn_param = 18;
47355   if (has_lrn_param()) {
47356     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47357       18, *this->lrn_param_, output);
47358   }
47359
47360   // optional .opencv_caffe.PoolingParameter pooling_param = 19;
47361   if (has_pooling_param()) {
47362     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47363       19, *this->pooling_param_, output);
47364   }
47365
47366   // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
47367   if (has_window_data_param()) {
47368     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47369       20, *this->window_data_param_, output);
47370   }
47371
47372   // optional .opencv_caffe.PowerParameter power_param = 21;
47373   if (has_power_param()) {
47374     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47375       21, *this->power_param_, output);
47376   }
47377
47378   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
47379   if (has_memory_data_param()) {
47380     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47381       22, *this->memory_data_param_, output);
47382   }
47383
47384   // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
47385   if (has_argmax_param()) {
47386     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47387       23, *this->argmax_param_, output);
47388   }
47389
47390   // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
47391   if (has_eltwise_param()) {
47392     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47393       24, *this->eltwise_param_, output);
47394   }
47395
47396   // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
47397   if (has_threshold_param()) {
47398     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47399       25, *this->threshold_param_, output);
47400   }
47401
47402   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
47403   if (has_dummy_data_param()) {
47404     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47405       26, *this->dummy_data_param_, output);
47406   }
47407
47408   // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
47409   if (has_accuracy_param()) {
47410     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47411       27, *this->accuracy_param_, output);
47412   }
47413
47414   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
47415   if (has_hinge_loss_param()) {
47416     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47417       29, *this->hinge_loss_param_, output);
47418   }
47419
47420   // optional .opencv_caffe.ReLUParameter relu_param = 30;
47421   if (has_relu_param()) {
47422     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47423       30, *this->relu_param_, output);
47424   }
47425
47426   // optional .opencv_caffe.SliceParameter slice_param = 31;
47427   if (has_slice_param()) {
47428     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47429       31, *this->slice_param_, output);
47430   }
47431
47432   // repeated .opencv_caffe.NetStateRule include = 32;
47433   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
47434     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47435       32, this->include(i), output);
47436   }
47437
47438   // repeated .opencv_caffe.NetStateRule exclude = 33;
47439   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
47440     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47441       33, this->exclude(i), output);
47442   }
47443
47444   // optional .opencv_caffe.MVNParameter mvn_param = 34;
47445   if (has_mvn_param()) {
47446     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47447       34, *this->mvn_param_, output);
47448   }
47449
47450   // repeated float loss_weight = 35;
47451   for (int i = 0; i < this->loss_weight_size(); i++) {
47452     ::google::protobuf::internal::WireFormatLite::WriteFloat(
47453       35, this->loss_weight(i), output);
47454   }
47455
47456   // optional .opencv_caffe.TransformationParameter transform_param = 36;
47457   if (has_transform_param()) {
47458     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47459       36, *this->transform_param_, output);
47460   }
47461
47462   // optional .opencv_caffe.TanHParameter tanh_param = 37;
47463   if (has_tanh_param()) {
47464     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47465       37, *this->tanh_param_, output);
47466   }
47467
47468   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
47469   if (has_sigmoid_param()) {
47470     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47471       38, *this->sigmoid_param_, output);
47472   }
47473
47474   // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
47475   if (has_softmax_param()) {
47476     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47477       39, *this->softmax_param_, output);
47478   }
47479
47480   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
47481   if (has_contrastive_loss_param()) {
47482     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47483       40, *this->contrastive_loss_param_, output);
47484   }
47485
47486   // optional .opencv_caffe.ExpParameter exp_param = 41;
47487   if (has_exp_param()) {
47488     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47489       41, *this->exp_param_, output);
47490   }
47491
47492   // optional .opencv_caffe.LossParameter loss_param = 42;
47493   if (has_loss_param()) {
47494     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
47495       42, *this->loss_param_, output);
47496   }
47497
47498   // repeated string param = 1001;
47499   for (int i = 0; i < this->param_size(); i++) {
47500     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47501       this->param(i).data(), this->param(i).length(),
47502       ::google::protobuf::internal::WireFormat::SERIALIZE,
47503       "opencv_caffe.V1LayerParameter.param");
47504     ::google::protobuf::internal::WireFormatLite::WriteString(
47505       1001, this->param(i), output);
47506   }
47507
47508   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
47509   for (int i = 0; i < this->blob_share_mode_size(); i++) {
47510     ::google::protobuf::internal::WireFormatLite::WriteEnum(
47511       1002, this->blob_share_mode(i), output);
47512   }
47513
47514   if (_internal_metadata_.have_unknown_fields()) {
47515     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
47516         unknown_fields(), output);
47517   }
47518   // @@protoc_insertion_point(serialize_end:opencv_caffe.V1LayerParameter)
47519 }
47520
47521 ::google::protobuf::uint8* V1LayerParameter::InternalSerializeWithCachedSizesToArray(
47522     bool deterministic, ::google::protobuf::uint8* target) const {
47523   (void)deterministic; // Unused
47524   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.V1LayerParameter)
47525   // optional .opencv_caffe.V0LayerParameter layer = 1;
47526   if (has_layer()) {
47527     target = ::google::protobuf::internal::WireFormatLite::
47528       InternalWriteMessageNoVirtualToArray(
47529         1, *this->layer_, false, target);
47530   }
47531
47532   // repeated string bottom = 2;
47533   for (int i = 0; i < this->bottom_size(); i++) {
47534     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47535       this->bottom(i).data(), this->bottom(i).length(),
47536       ::google::protobuf::internal::WireFormat::SERIALIZE,
47537       "opencv_caffe.V1LayerParameter.bottom");
47538     target = ::google::protobuf::internal::WireFormatLite::
47539       WriteStringToArray(2, this->bottom(i), target);
47540   }
47541
47542   // repeated string top = 3;
47543   for (int i = 0; i < this->top_size(); i++) {
47544     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47545       this->top(i).data(), this->top(i).length(),
47546       ::google::protobuf::internal::WireFormat::SERIALIZE,
47547       "opencv_caffe.V1LayerParameter.top");
47548     target = ::google::protobuf::internal::WireFormatLite::
47549       WriteStringToArray(3, this->top(i), target);
47550   }
47551
47552   // optional string name = 4;
47553   if (has_name()) {
47554     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47555       this->name().data(), this->name().length(),
47556       ::google::protobuf::internal::WireFormat::SERIALIZE,
47557       "opencv_caffe.V1LayerParameter.name");
47558     target =
47559       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
47560         4, this->name(), target);
47561   }
47562
47563   // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
47564   if (has_type()) {
47565     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
47566       5, this->type(), target);
47567   }
47568
47569   // repeated .opencv_caffe.BlobProto blobs = 6;
47570   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
47571     target = ::google::protobuf::internal::WireFormatLite::
47572       InternalWriteMessageNoVirtualToArray(
47573         6, this->blobs(i), false, target);
47574   }
47575
47576   // repeated float blobs_lr = 7;
47577   for (int i = 0; i < this->blobs_lr_size(); i++) {
47578     target = ::google::protobuf::internal::WireFormatLite::
47579       WriteFloatToArray(7, this->blobs_lr(i), target);
47580   }
47581
47582   // repeated float weight_decay = 8;
47583   for (int i = 0; i < this->weight_decay_size(); i++) {
47584     target = ::google::protobuf::internal::WireFormatLite::
47585       WriteFloatToArray(8, this->weight_decay(i), target);
47586   }
47587
47588   // optional .opencv_caffe.ConcatParameter concat_param = 9;
47589   if (has_concat_param()) {
47590     target = ::google::protobuf::internal::WireFormatLite::
47591       InternalWriteMessageNoVirtualToArray(
47592         9, *this->concat_param_, false, target);
47593   }
47594
47595   // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
47596   if (has_convolution_param()) {
47597     target = ::google::protobuf::internal::WireFormatLite::
47598       InternalWriteMessageNoVirtualToArray(
47599         10, *this->convolution_param_, false, target);
47600   }
47601
47602   // optional .opencv_caffe.DataParameter data_param = 11;
47603   if (has_data_param()) {
47604     target = ::google::protobuf::internal::WireFormatLite::
47605       InternalWriteMessageNoVirtualToArray(
47606         11, *this->data_param_, false, target);
47607   }
47608
47609   // optional .opencv_caffe.DropoutParameter dropout_param = 12;
47610   if (has_dropout_param()) {
47611     target = ::google::protobuf::internal::WireFormatLite::
47612       InternalWriteMessageNoVirtualToArray(
47613         12, *this->dropout_param_, false, target);
47614   }
47615
47616   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
47617   if (has_hdf5_data_param()) {
47618     target = ::google::protobuf::internal::WireFormatLite::
47619       InternalWriteMessageNoVirtualToArray(
47620         13, *this->hdf5_data_param_, false, target);
47621   }
47622
47623   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
47624   if (has_hdf5_output_param()) {
47625     target = ::google::protobuf::internal::WireFormatLite::
47626       InternalWriteMessageNoVirtualToArray(
47627         14, *this->hdf5_output_param_, false, target);
47628   }
47629
47630   // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
47631   if (has_image_data_param()) {
47632     target = ::google::protobuf::internal::WireFormatLite::
47633       InternalWriteMessageNoVirtualToArray(
47634         15, *this->image_data_param_, false, target);
47635   }
47636
47637   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
47638   if (has_infogain_loss_param()) {
47639     target = ::google::protobuf::internal::WireFormatLite::
47640       InternalWriteMessageNoVirtualToArray(
47641         16, *this->infogain_loss_param_, false, target);
47642   }
47643
47644   // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
47645   if (has_inner_product_param()) {
47646     target = ::google::protobuf::internal::WireFormatLite::
47647       InternalWriteMessageNoVirtualToArray(
47648         17, *this->inner_product_param_, false, target);
47649   }
47650
47651   // optional .opencv_caffe.LRNParameter lrn_param = 18;
47652   if (has_lrn_param()) {
47653     target = ::google::protobuf::internal::WireFormatLite::
47654       InternalWriteMessageNoVirtualToArray(
47655         18, *this->lrn_param_, false, target);
47656   }
47657
47658   // optional .opencv_caffe.PoolingParameter pooling_param = 19;
47659   if (has_pooling_param()) {
47660     target = ::google::protobuf::internal::WireFormatLite::
47661       InternalWriteMessageNoVirtualToArray(
47662         19, *this->pooling_param_, false, target);
47663   }
47664
47665   // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
47666   if (has_window_data_param()) {
47667     target = ::google::protobuf::internal::WireFormatLite::
47668       InternalWriteMessageNoVirtualToArray(
47669         20, *this->window_data_param_, false, target);
47670   }
47671
47672   // optional .opencv_caffe.PowerParameter power_param = 21;
47673   if (has_power_param()) {
47674     target = ::google::protobuf::internal::WireFormatLite::
47675       InternalWriteMessageNoVirtualToArray(
47676         21, *this->power_param_, false, target);
47677   }
47678
47679   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
47680   if (has_memory_data_param()) {
47681     target = ::google::protobuf::internal::WireFormatLite::
47682       InternalWriteMessageNoVirtualToArray(
47683         22, *this->memory_data_param_, false, target);
47684   }
47685
47686   // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
47687   if (has_argmax_param()) {
47688     target = ::google::protobuf::internal::WireFormatLite::
47689       InternalWriteMessageNoVirtualToArray(
47690         23, *this->argmax_param_, false, target);
47691   }
47692
47693   // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
47694   if (has_eltwise_param()) {
47695     target = ::google::protobuf::internal::WireFormatLite::
47696       InternalWriteMessageNoVirtualToArray(
47697         24, *this->eltwise_param_, false, target);
47698   }
47699
47700   // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
47701   if (has_threshold_param()) {
47702     target = ::google::protobuf::internal::WireFormatLite::
47703       InternalWriteMessageNoVirtualToArray(
47704         25, *this->threshold_param_, false, target);
47705   }
47706
47707   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
47708   if (has_dummy_data_param()) {
47709     target = ::google::protobuf::internal::WireFormatLite::
47710       InternalWriteMessageNoVirtualToArray(
47711         26, *this->dummy_data_param_, false, target);
47712   }
47713
47714   // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
47715   if (has_accuracy_param()) {
47716     target = ::google::protobuf::internal::WireFormatLite::
47717       InternalWriteMessageNoVirtualToArray(
47718         27, *this->accuracy_param_, false, target);
47719   }
47720
47721   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
47722   if (has_hinge_loss_param()) {
47723     target = ::google::protobuf::internal::WireFormatLite::
47724       InternalWriteMessageNoVirtualToArray(
47725         29, *this->hinge_loss_param_, false, target);
47726   }
47727
47728   // optional .opencv_caffe.ReLUParameter relu_param = 30;
47729   if (has_relu_param()) {
47730     target = ::google::protobuf::internal::WireFormatLite::
47731       InternalWriteMessageNoVirtualToArray(
47732         30, *this->relu_param_, false, target);
47733   }
47734
47735   // optional .opencv_caffe.SliceParameter slice_param = 31;
47736   if (has_slice_param()) {
47737     target = ::google::protobuf::internal::WireFormatLite::
47738       InternalWriteMessageNoVirtualToArray(
47739         31, *this->slice_param_, false, target);
47740   }
47741
47742   // repeated .opencv_caffe.NetStateRule include = 32;
47743   for (unsigned int i = 0, n = this->include_size(); i < n; i++) {
47744     target = ::google::protobuf::internal::WireFormatLite::
47745       InternalWriteMessageNoVirtualToArray(
47746         32, this->include(i), false, target);
47747   }
47748
47749   // repeated .opencv_caffe.NetStateRule exclude = 33;
47750   for (unsigned int i = 0, n = this->exclude_size(); i < n; i++) {
47751     target = ::google::protobuf::internal::WireFormatLite::
47752       InternalWriteMessageNoVirtualToArray(
47753         33, this->exclude(i), false, target);
47754   }
47755
47756   // optional .opencv_caffe.MVNParameter mvn_param = 34;
47757   if (has_mvn_param()) {
47758     target = ::google::protobuf::internal::WireFormatLite::
47759       InternalWriteMessageNoVirtualToArray(
47760         34, *this->mvn_param_, false, target);
47761   }
47762
47763   // repeated float loss_weight = 35;
47764   for (int i = 0; i < this->loss_weight_size(); i++) {
47765     target = ::google::protobuf::internal::WireFormatLite::
47766       WriteFloatToArray(35, this->loss_weight(i), target);
47767   }
47768
47769   // optional .opencv_caffe.TransformationParameter transform_param = 36;
47770   if (has_transform_param()) {
47771     target = ::google::protobuf::internal::WireFormatLite::
47772       InternalWriteMessageNoVirtualToArray(
47773         36, *this->transform_param_, false, target);
47774   }
47775
47776   // optional .opencv_caffe.TanHParameter tanh_param = 37;
47777   if (has_tanh_param()) {
47778     target = ::google::protobuf::internal::WireFormatLite::
47779       InternalWriteMessageNoVirtualToArray(
47780         37, *this->tanh_param_, false, target);
47781   }
47782
47783   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
47784   if (has_sigmoid_param()) {
47785     target = ::google::protobuf::internal::WireFormatLite::
47786       InternalWriteMessageNoVirtualToArray(
47787         38, *this->sigmoid_param_, false, target);
47788   }
47789
47790   // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
47791   if (has_softmax_param()) {
47792     target = ::google::protobuf::internal::WireFormatLite::
47793       InternalWriteMessageNoVirtualToArray(
47794         39, *this->softmax_param_, false, target);
47795   }
47796
47797   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
47798   if (has_contrastive_loss_param()) {
47799     target = ::google::protobuf::internal::WireFormatLite::
47800       InternalWriteMessageNoVirtualToArray(
47801         40, *this->contrastive_loss_param_, false, target);
47802   }
47803
47804   // optional .opencv_caffe.ExpParameter exp_param = 41;
47805   if (has_exp_param()) {
47806     target = ::google::protobuf::internal::WireFormatLite::
47807       InternalWriteMessageNoVirtualToArray(
47808         41, *this->exp_param_, false, target);
47809   }
47810
47811   // optional .opencv_caffe.LossParameter loss_param = 42;
47812   if (has_loss_param()) {
47813     target = ::google::protobuf::internal::WireFormatLite::
47814       InternalWriteMessageNoVirtualToArray(
47815         42, *this->loss_param_, false, target);
47816   }
47817
47818   // repeated string param = 1001;
47819   for (int i = 0; i < this->param_size(); i++) {
47820     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
47821       this->param(i).data(), this->param(i).length(),
47822       ::google::protobuf::internal::WireFormat::SERIALIZE,
47823       "opencv_caffe.V1LayerParameter.param");
47824     target = ::google::protobuf::internal::WireFormatLite::
47825       WriteStringToArray(1001, this->param(i), target);
47826   }
47827
47828   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
47829   for (int i = 0; i < this->blob_share_mode_size(); i++) {
47830     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
47831       1002, this->blob_share_mode(i), target);
47832   }
47833
47834   if (_internal_metadata_.have_unknown_fields()) {
47835     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
47836         unknown_fields(), target);
47837   }
47838   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.V1LayerParameter)
47839   return target;
47840 }
47841
47842 size_t V1LayerParameter::ByteSizeLong() const {
47843 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.V1LayerParameter)
47844   size_t total_size = 0;
47845
47846   if (_has_bits_[2 / 32] & 36u) {
47847     // optional string name = 4;
47848     if (has_name()) {
47849       total_size += 1 +
47850         ::google::protobuf::internal::WireFormatLite::StringSize(
47851           this->name());
47852     }
47853
47854     // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
47855     if (has_type()) {
47856       total_size += 1 +
47857         ::google::protobuf::internal::WireFormatLite::EnumSize(this->type());
47858     }
47859
47860   }
47861   if (_has_bits_[12 / 32] & 61440u) {
47862     // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
47863     if (has_accuracy_param()) {
47864       total_size += 2 +
47865         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47866           *this->accuracy_param_);
47867     }
47868
47869     // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
47870     if (has_argmax_param()) {
47871       total_size += 2 +
47872         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47873           *this->argmax_param_);
47874     }
47875
47876     // optional .opencv_caffe.ConcatParameter concat_param = 9;
47877     if (has_concat_param()) {
47878       total_size += 1 +
47879         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47880           *this->concat_param_);
47881     }
47882
47883     // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
47884     if (has_contrastive_loss_param()) {
47885       total_size += 2 +
47886         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47887           *this->contrastive_loss_param_);
47888     }
47889
47890   }
47891   if (_has_bits_[16 / 32] & 16711680u) {
47892     // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
47893     if (has_convolution_param()) {
47894       total_size += 1 +
47895         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47896           *this->convolution_param_);
47897     }
47898
47899     // optional .opencv_caffe.DataParameter data_param = 11;
47900     if (has_data_param()) {
47901       total_size += 1 +
47902         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47903           *this->data_param_);
47904     }
47905
47906     // optional .opencv_caffe.DropoutParameter dropout_param = 12;
47907     if (has_dropout_param()) {
47908       total_size += 1 +
47909         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47910           *this->dropout_param_);
47911     }
47912
47913     // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
47914     if (has_dummy_data_param()) {
47915       total_size += 2 +
47916         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47917           *this->dummy_data_param_);
47918     }
47919
47920     // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
47921     if (has_eltwise_param()) {
47922       total_size += 2 +
47923         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47924           *this->eltwise_param_);
47925     }
47926
47927     // optional .opencv_caffe.ExpParameter exp_param = 41;
47928     if (has_exp_param()) {
47929       total_size += 2 +
47930         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47931           *this->exp_param_);
47932     }
47933
47934     // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
47935     if (has_hdf5_data_param()) {
47936       total_size += 1 +
47937         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47938           *this->hdf5_data_param_);
47939     }
47940
47941     // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
47942     if (has_hdf5_output_param()) {
47943       total_size += 1 +
47944         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47945           *this->hdf5_output_param_);
47946     }
47947
47948   }
47949   if (_has_bits_[24 / 32] & 4278190080u) {
47950     // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
47951     if (has_hinge_loss_param()) {
47952       total_size += 2 +
47953         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47954           *this->hinge_loss_param_);
47955     }
47956
47957     // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
47958     if (has_image_data_param()) {
47959       total_size += 1 +
47960         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47961           *this->image_data_param_);
47962     }
47963
47964     // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
47965     if (has_infogain_loss_param()) {
47966       total_size += 2 +
47967         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47968           *this->infogain_loss_param_);
47969     }
47970
47971     // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
47972     if (has_inner_product_param()) {
47973       total_size += 2 +
47974         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47975           *this->inner_product_param_);
47976     }
47977
47978     // optional .opencv_caffe.LRNParameter lrn_param = 18;
47979     if (has_lrn_param()) {
47980       total_size += 2 +
47981         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47982           *this->lrn_param_);
47983     }
47984
47985     // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
47986     if (has_memory_data_param()) {
47987       total_size += 2 +
47988         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47989           *this->memory_data_param_);
47990     }
47991
47992     // optional .opencv_caffe.MVNParameter mvn_param = 34;
47993     if (has_mvn_param()) {
47994       total_size += 2 +
47995         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
47996           *this->mvn_param_);
47997     }
47998
47999     // optional .opencv_caffe.PoolingParameter pooling_param = 19;
48000     if (has_pooling_param()) {
48001       total_size += 2 +
48002         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48003           *this->pooling_param_);
48004     }
48005
48006   }
48007   if (_has_bits_[32 / 32] & 255u) {
48008     // optional .opencv_caffe.PowerParameter power_param = 21;
48009     if (has_power_param()) {
48010       total_size += 2 +
48011         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48012           *this->power_param_);
48013     }
48014
48015     // optional .opencv_caffe.ReLUParameter relu_param = 30;
48016     if (has_relu_param()) {
48017       total_size += 2 +
48018         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48019           *this->relu_param_);
48020     }
48021
48022     // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
48023     if (has_sigmoid_param()) {
48024       total_size += 2 +
48025         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48026           *this->sigmoid_param_);
48027     }
48028
48029     // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
48030     if (has_softmax_param()) {
48031       total_size += 2 +
48032         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48033           *this->softmax_param_);
48034     }
48035
48036     // optional .opencv_caffe.SliceParameter slice_param = 31;
48037     if (has_slice_param()) {
48038       total_size += 2 +
48039         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48040           *this->slice_param_);
48041     }
48042
48043     // optional .opencv_caffe.TanHParameter tanh_param = 37;
48044     if (has_tanh_param()) {
48045       total_size += 2 +
48046         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48047           *this->tanh_param_);
48048     }
48049
48050     // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
48051     if (has_threshold_param()) {
48052       total_size += 2 +
48053         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48054           *this->threshold_param_);
48055     }
48056
48057     // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
48058     if (has_window_data_param()) {
48059       total_size += 2 +
48060         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48061           *this->window_data_param_);
48062     }
48063
48064   }
48065   if (_has_bits_[40 / 32] & 1792u) {
48066     // optional .opencv_caffe.TransformationParameter transform_param = 36;
48067     if (has_transform_param()) {
48068       total_size += 2 +
48069         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48070           *this->transform_param_);
48071     }
48072
48073     // optional .opencv_caffe.LossParameter loss_param = 42;
48074     if (has_loss_param()) {
48075       total_size += 2 +
48076         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48077           *this->loss_param_);
48078     }
48079
48080     // optional .opencv_caffe.V0LayerParameter layer = 1;
48081     if (has_layer()) {
48082       total_size += 1 +
48083         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48084           *this->layer_);
48085     }
48086
48087   }
48088   // repeated string bottom = 2;
48089   total_size += 1 *
48090       ::google::protobuf::internal::FromIntSize(this->bottom_size());
48091   for (int i = 0; i < this->bottom_size(); i++) {
48092     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
48093       this->bottom(i));
48094   }
48095
48096   // repeated string top = 3;
48097   total_size += 1 *
48098       ::google::protobuf::internal::FromIntSize(this->top_size());
48099   for (int i = 0; i < this->top_size(); i++) {
48100     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
48101       this->top(i));
48102   }
48103
48104   // repeated .opencv_caffe.NetStateRule include = 32;
48105   {
48106     unsigned int count = this->include_size();
48107     total_size += 2UL * count;
48108     for (unsigned int i = 0; i < count; i++) {
48109       total_size +=
48110         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48111           this->include(i));
48112     }
48113   }
48114
48115   // repeated .opencv_caffe.NetStateRule exclude = 33;
48116   {
48117     unsigned int count = this->exclude_size();
48118     total_size += 2UL * count;
48119     for (unsigned int i = 0; i < count; i++) {
48120       total_size +=
48121         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48122           this->exclude(i));
48123     }
48124   }
48125
48126   // repeated .opencv_caffe.BlobProto blobs = 6;
48127   {
48128     unsigned int count = this->blobs_size();
48129     total_size += 1UL * count;
48130     for (unsigned int i = 0; i < count; i++) {
48131       total_size +=
48132         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
48133           this->blobs(i));
48134     }
48135   }
48136
48137   // repeated string param = 1001;
48138   total_size += 2 *
48139       ::google::protobuf::internal::FromIntSize(this->param_size());
48140   for (int i = 0; i < this->param_size(); i++) {
48141     total_size += ::google::protobuf::internal::WireFormatLite::StringSize(
48142       this->param(i));
48143   }
48144
48145   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
48146   {
48147     size_t data_size = 0;
48148     unsigned int count = this->blob_share_mode_size();for (unsigned int i = 0; i < count; i++) {
48149       data_size += ::google::protobuf::internal::WireFormatLite::EnumSize(
48150         this->blob_share_mode(i));
48151     }
48152     total_size += (2UL * count) + data_size;
48153   }
48154
48155   // repeated float blobs_lr = 7;
48156   {
48157     size_t data_size = 0;
48158     unsigned int count = this->blobs_lr_size();
48159     data_size = 4UL * count;
48160     total_size += 1 *
48161                   ::google::protobuf::internal::FromIntSize(this->blobs_lr_size());
48162     total_size += data_size;
48163   }
48164
48165   // repeated float weight_decay = 8;
48166   {
48167     size_t data_size = 0;
48168     unsigned int count = this->weight_decay_size();
48169     data_size = 4UL * count;
48170     total_size += 1 *
48171                   ::google::protobuf::internal::FromIntSize(this->weight_decay_size());
48172     total_size += data_size;
48173   }
48174
48175   // repeated float loss_weight = 35;
48176   {
48177     size_t data_size = 0;
48178     unsigned int count = this->loss_weight_size();
48179     data_size = 4UL * count;
48180     total_size += 2 *
48181                   ::google::protobuf::internal::FromIntSize(this->loss_weight_size());
48182     total_size += data_size;
48183   }
48184
48185   if (_internal_metadata_.have_unknown_fields()) {
48186     total_size +=
48187       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
48188         unknown_fields());
48189   }
48190   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
48191   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
48192   _cached_size_ = cached_size;
48193   GOOGLE_SAFE_CONCURRENT_WRITES_END();
48194   return total_size;
48195 }
48196
48197 void V1LayerParameter::MergeFrom(const ::google::protobuf::Message& from) {
48198 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.V1LayerParameter)
48199   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
48200   const V1LayerParameter* source =
48201       ::google::protobuf::internal::DynamicCastToGenerated<const V1LayerParameter>(
48202           &from);
48203   if (source == NULL) {
48204   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.V1LayerParameter)
48205     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
48206   } else {
48207   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.V1LayerParameter)
48208     UnsafeMergeFrom(*source);
48209   }
48210 }
48211
48212 void V1LayerParameter::MergeFrom(const V1LayerParameter& from) {
48213 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.V1LayerParameter)
48214   if (GOOGLE_PREDICT_TRUE(&from != this)) {
48215     UnsafeMergeFrom(from);
48216   } else {
48217     MergeFromFail(__LINE__);
48218   }
48219 }
48220
48221 void V1LayerParameter::UnsafeMergeFrom(const V1LayerParameter& from) {
48222   GOOGLE_DCHECK(&from != this);
48223   bottom_.UnsafeMergeFrom(from.bottom_);
48224   top_.UnsafeMergeFrom(from.top_);
48225   include_.MergeFrom(from.include_);
48226   exclude_.MergeFrom(from.exclude_);
48227   blobs_.MergeFrom(from.blobs_);
48228   param_.UnsafeMergeFrom(from.param_);
48229   blob_share_mode_.UnsafeMergeFrom(from.blob_share_mode_);
48230   blobs_lr_.UnsafeMergeFrom(from.blobs_lr_);
48231   weight_decay_.UnsafeMergeFrom(from.weight_decay_);
48232   loss_weight_.UnsafeMergeFrom(from.loss_weight_);
48233   if (from._has_bits_[2 / 32] & (0xffu << (2 % 32))) {
48234     if (from.has_name()) {
48235       set_has_name();
48236       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
48237     }
48238     if (from.has_type()) {
48239       set_type(from.type());
48240     }
48241   }
48242   if (from._has_bits_[12 / 32] & (0xffu << (12 % 32))) {
48243     if (from.has_accuracy_param()) {
48244       mutable_accuracy_param()->::opencv_caffe::AccuracyParameter::MergeFrom(from.accuracy_param());
48245     }
48246     if (from.has_argmax_param()) {
48247       mutable_argmax_param()->::opencv_caffe::ArgMaxParameter::MergeFrom(from.argmax_param());
48248     }
48249     if (from.has_concat_param()) {
48250       mutable_concat_param()->::opencv_caffe::ConcatParameter::MergeFrom(from.concat_param());
48251     }
48252     if (from.has_contrastive_loss_param()) {
48253       mutable_contrastive_loss_param()->::opencv_caffe::ContrastiveLossParameter::MergeFrom(from.contrastive_loss_param());
48254     }
48255   }
48256   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
48257     if (from.has_convolution_param()) {
48258       mutable_convolution_param()->::opencv_caffe::ConvolutionParameter::MergeFrom(from.convolution_param());
48259     }
48260     if (from.has_data_param()) {
48261       mutable_data_param()->::opencv_caffe::DataParameter::MergeFrom(from.data_param());
48262     }
48263     if (from.has_dropout_param()) {
48264       mutable_dropout_param()->::opencv_caffe::DropoutParameter::MergeFrom(from.dropout_param());
48265     }
48266     if (from.has_dummy_data_param()) {
48267       mutable_dummy_data_param()->::opencv_caffe::DummyDataParameter::MergeFrom(from.dummy_data_param());
48268     }
48269     if (from.has_eltwise_param()) {
48270       mutable_eltwise_param()->::opencv_caffe::EltwiseParameter::MergeFrom(from.eltwise_param());
48271     }
48272     if (from.has_exp_param()) {
48273       mutable_exp_param()->::opencv_caffe::ExpParameter::MergeFrom(from.exp_param());
48274     }
48275     if (from.has_hdf5_data_param()) {
48276       mutable_hdf5_data_param()->::opencv_caffe::HDF5DataParameter::MergeFrom(from.hdf5_data_param());
48277     }
48278     if (from.has_hdf5_output_param()) {
48279       mutable_hdf5_output_param()->::opencv_caffe::HDF5OutputParameter::MergeFrom(from.hdf5_output_param());
48280     }
48281   }
48282   if (from._has_bits_[24 / 32] & (0xffu << (24 % 32))) {
48283     if (from.has_hinge_loss_param()) {
48284       mutable_hinge_loss_param()->::opencv_caffe::HingeLossParameter::MergeFrom(from.hinge_loss_param());
48285     }
48286     if (from.has_image_data_param()) {
48287       mutable_image_data_param()->::opencv_caffe::ImageDataParameter::MergeFrom(from.image_data_param());
48288     }
48289     if (from.has_infogain_loss_param()) {
48290       mutable_infogain_loss_param()->::opencv_caffe::InfogainLossParameter::MergeFrom(from.infogain_loss_param());
48291     }
48292     if (from.has_inner_product_param()) {
48293       mutable_inner_product_param()->::opencv_caffe::InnerProductParameter::MergeFrom(from.inner_product_param());
48294     }
48295     if (from.has_lrn_param()) {
48296       mutable_lrn_param()->::opencv_caffe::LRNParameter::MergeFrom(from.lrn_param());
48297     }
48298     if (from.has_memory_data_param()) {
48299       mutable_memory_data_param()->::opencv_caffe::MemoryDataParameter::MergeFrom(from.memory_data_param());
48300     }
48301     if (from.has_mvn_param()) {
48302       mutable_mvn_param()->::opencv_caffe::MVNParameter::MergeFrom(from.mvn_param());
48303     }
48304     if (from.has_pooling_param()) {
48305       mutable_pooling_param()->::opencv_caffe::PoolingParameter::MergeFrom(from.pooling_param());
48306     }
48307   }
48308   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
48309     if (from.has_power_param()) {
48310       mutable_power_param()->::opencv_caffe::PowerParameter::MergeFrom(from.power_param());
48311     }
48312     if (from.has_relu_param()) {
48313       mutable_relu_param()->::opencv_caffe::ReLUParameter::MergeFrom(from.relu_param());
48314     }
48315     if (from.has_sigmoid_param()) {
48316       mutable_sigmoid_param()->::opencv_caffe::SigmoidParameter::MergeFrom(from.sigmoid_param());
48317     }
48318     if (from.has_softmax_param()) {
48319       mutable_softmax_param()->::opencv_caffe::SoftmaxParameter::MergeFrom(from.softmax_param());
48320     }
48321     if (from.has_slice_param()) {
48322       mutable_slice_param()->::opencv_caffe::SliceParameter::MergeFrom(from.slice_param());
48323     }
48324     if (from.has_tanh_param()) {
48325       mutable_tanh_param()->::opencv_caffe::TanHParameter::MergeFrom(from.tanh_param());
48326     }
48327     if (from.has_threshold_param()) {
48328       mutable_threshold_param()->::opencv_caffe::ThresholdParameter::MergeFrom(from.threshold_param());
48329     }
48330     if (from.has_window_data_param()) {
48331       mutable_window_data_param()->::opencv_caffe::WindowDataParameter::MergeFrom(from.window_data_param());
48332     }
48333   }
48334   if (from._has_bits_[40 / 32] & (0xffu << (40 % 32))) {
48335     if (from.has_transform_param()) {
48336       mutable_transform_param()->::opencv_caffe::TransformationParameter::MergeFrom(from.transform_param());
48337     }
48338     if (from.has_loss_param()) {
48339       mutable_loss_param()->::opencv_caffe::LossParameter::MergeFrom(from.loss_param());
48340     }
48341     if (from.has_layer()) {
48342       mutable_layer()->::opencv_caffe::V0LayerParameter::MergeFrom(from.layer());
48343     }
48344   }
48345   if (from._internal_metadata_.have_unknown_fields()) {
48346     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
48347       from.unknown_fields(), &_internal_metadata_);
48348   }
48349 }
48350
48351 void V1LayerParameter::CopyFrom(const ::google::protobuf::Message& from) {
48352 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.V1LayerParameter)
48353   if (&from == this) return;
48354   Clear();
48355   MergeFrom(from);
48356 }
48357
48358 void V1LayerParameter::CopyFrom(const V1LayerParameter& from) {
48359 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.V1LayerParameter)
48360   if (&from == this) return;
48361   Clear();
48362   UnsafeMergeFrom(from);
48363 }
48364
48365 bool V1LayerParameter::IsInitialized() const {
48366
48367   return true;
48368 }
48369
48370 void V1LayerParameter::Swap(V1LayerParameter* other) {
48371   if (other == this) return;
48372   InternalSwap(other);
48373 }
48374 void V1LayerParameter::InternalSwap(V1LayerParameter* other) {
48375   bottom_.UnsafeArenaSwap(&other->bottom_);
48376   top_.UnsafeArenaSwap(&other->top_);
48377   name_.Swap(&other->name_);
48378   include_.UnsafeArenaSwap(&other->include_);
48379   exclude_.UnsafeArenaSwap(&other->exclude_);
48380   std::swap(type_, other->type_);
48381   blobs_.UnsafeArenaSwap(&other->blobs_);
48382   param_.UnsafeArenaSwap(&other->param_);
48383   blob_share_mode_.UnsafeArenaSwap(&other->blob_share_mode_);
48384   blobs_lr_.UnsafeArenaSwap(&other->blobs_lr_);
48385   weight_decay_.UnsafeArenaSwap(&other->weight_decay_);
48386   loss_weight_.UnsafeArenaSwap(&other->loss_weight_);
48387   std::swap(accuracy_param_, other->accuracy_param_);
48388   std::swap(argmax_param_, other->argmax_param_);
48389   std::swap(concat_param_, other->concat_param_);
48390   std::swap(contrastive_loss_param_, other->contrastive_loss_param_);
48391   std::swap(convolution_param_, other->convolution_param_);
48392   std::swap(data_param_, other->data_param_);
48393   std::swap(dropout_param_, other->dropout_param_);
48394   std::swap(dummy_data_param_, other->dummy_data_param_);
48395   std::swap(eltwise_param_, other->eltwise_param_);
48396   std::swap(exp_param_, other->exp_param_);
48397   std::swap(hdf5_data_param_, other->hdf5_data_param_);
48398   std::swap(hdf5_output_param_, other->hdf5_output_param_);
48399   std::swap(hinge_loss_param_, other->hinge_loss_param_);
48400   std::swap(image_data_param_, other->image_data_param_);
48401   std::swap(infogain_loss_param_, other->infogain_loss_param_);
48402   std::swap(inner_product_param_, other->inner_product_param_);
48403   std::swap(lrn_param_, other->lrn_param_);
48404   std::swap(memory_data_param_, other->memory_data_param_);
48405   std::swap(mvn_param_, other->mvn_param_);
48406   std::swap(pooling_param_, other->pooling_param_);
48407   std::swap(power_param_, other->power_param_);
48408   std::swap(relu_param_, other->relu_param_);
48409   std::swap(sigmoid_param_, other->sigmoid_param_);
48410   std::swap(softmax_param_, other->softmax_param_);
48411   std::swap(slice_param_, other->slice_param_);
48412   std::swap(tanh_param_, other->tanh_param_);
48413   std::swap(threshold_param_, other->threshold_param_);
48414   std::swap(window_data_param_, other->window_data_param_);
48415   std::swap(transform_param_, other->transform_param_);
48416   std::swap(loss_param_, other->loss_param_);
48417   std::swap(layer_, other->layer_);
48418   std::swap(_has_bits_[0], other->_has_bits_[0]);
48419   std::swap(_has_bits_[1], other->_has_bits_[1]);
48420   _internal_metadata_.Swap(&other->_internal_metadata_);
48421   std::swap(_cached_size_, other->_cached_size_);
48422 }
48423
48424 ::google::protobuf::Metadata V1LayerParameter::GetMetadata() const {
48425   protobuf_AssignDescriptorsOnce();
48426   ::google::protobuf::Metadata metadata;
48427   metadata.descriptor = V1LayerParameter_descriptor_;
48428   metadata.reflection = V1LayerParameter_reflection_;
48429   return metadata;
48430 }
48431
48432 #if PROTOBUF_INLINE_NOT_IN_HEADERS
48433 // V1LayerParameter
48434
48435 // repeated string bottom = 2;
48436 int V1LayerParameter::bottom_size() const {
48437   return bottom_.size();
48438 }
48439 void V1LayerParameter::clear_bottom() {
48440   bottom_.Clear();
48441 }
48442 const ::std::string& V1LayerParameter::bottom(int index) const {
48443   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.bottom)
48444   return bottom_.Get(index);
48445 }
48446 ::std::string* V1LayerParameter::mutable_bottom(int index) {
48447   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.bottom)
48448   return bottom_.Mutable(index);
48449 }
48450 void V1LayerParameter::set_bottom(int index, const ::std::string& value) {
48451   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.bottom)
48452   bottom_.Mutable(index)->assign(value);
48453 }
48454 void V1LayerParameter::set_bottom(int index, const char* value) {
48455   bottom_.Mutable(index)->assign(value);
48456   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.bottom)
48457 }
48458 void V1LayerParameter::set_bottom(int index, const char* value, size_t size) {
48459   bottom_.Mutable(index)->assign(
48460     reinterpret_cast<const char*>(value), size);
48461   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.bottom)
48462 }
48463 ::std::string* V1LayerParameter::add_bottom() {
48464   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.bottom)
48465   return bottom_.Add();
48466 }
48467 void V1LayerParameter::add_bottom(const ::std::string& value) {
48468   bottom_.Add()->assign(value);
48469   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.bottom)
48470 }
48471 void V1LayerParameter::add_bottom(const char* value) {
48472   bottom_.Add()->assign(value);
48473   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.bottom)
48474 }
48475 void V1LayerParameter::add_bottom(const char* value, size_t size) {
48476   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
48477   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.bottom)
48478 }
48479 const ::google::protobuf::RepeatedPtrField< ::std::string>&
48480 V1LayerParameter::bottom() const {
48481   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.bottom)
48482   return bottom_;
48483 }
48484 ::google::protobuf::RepeatedPtrField< ::std::string>*
48485 V1LayerParameter::mutable_bottom() {
48486   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.bottom)
48487   return &bottom_;
48488 }
48489
48490 // repeated string top = 3;
48491 int V1LayerParameter::top_size() const {
48492   return top_.size();
48493 }
48494 void V1LayerParameter::clear_top() {
48495   top_.Clear();
48496 }
48497 const ::std::string& V1LayerParameter::top(int index) const {
48498   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.top)
48499   return top_.Get(index);
48500 }
48501 ::std::string* V1LayerParameter::mutable_top(int index) {
48502   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.top)
48503   return top_.Mutable(index);
48504 }
48505 void V1LayerParameter::set_top(int index, const ::std::string& value) {
48506   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.top)
48507   top_.Mutable(index)->assign(value);
48508 }
48509 void V1LayerParameter::set_top(int index, const char* value) {
48510   top_.Mutable(index)->assign(value);
48511   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.top)
48512 }
48513 void V1LayerParameter::set_top(int index, const char* value, size_t size) {
48514   top_.Mutable(index)->assign(
48515     reinterpret_cast<const char*>(value), size);
48516   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.top)
48517 }
48518 ::std::string* V1LayerParameter::add_top() {
48519   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.top)
48520   return top_.Add();
48521 }
48522 void V1LayerParameter::add_top(const ::std::string& value) {
48523   top_.Add()->assign(value);
48524   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.top)
48525 }
48526 void V1LayerParameter::add_top(const char* value) {
48527   top_.Add()->assign(value);
48528   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.top)
48529 }
48530 void V1LayerParameter::add_top(const char* value, size_t size) {
48531   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
48532   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.top)
48533 }
48534 const ::google::protobuf::RepeatedPtrField< ::std::string>&
48535 V1LayerParameter::top() const {
48536   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.top)
48537   return top_;
48538 }
48539 ::google::protobuf::RepeatedPtrField< ::std::string>*
48540 V1LayerParameter::mutable_top() {
48541   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.top)
48542   return &top_;
48543 }
48544
48545 // optional string name = 4;
48546 bool V1LayerParameter::has_name() const {
48547   return (_has_bits_[0] & 0x00000004u) != 0;
48548 }
48549 void V1LayerParameter::set_has_name() {
48550   _has_bits_[0] |= 0x00000004u;
48551 }
48552 void V1LayerParameter::clear_has_name() {
48553   _has_bits_[0] &= ~0x00000004u;
48554 }
48555 void V1LayerParameter::clear_name() {
48556   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48557   clear_has_name();
48558 }
48559 const ::std::string& V1LayerParameter::name() const {
48560   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.name)
48561   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48562 }
48563 void V1LayerParameter::set_name(const ::std::string& value) {
48564   set_has_name();
48565   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
48566   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.name)
48567 }
48568 void V1LayerParameter::set_name(const char* value) {
48569   set_has_name();
48570   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
48571   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.name)
48572 }
48573 void V1LayerParameter::set_name(const char* value, size_t size) {
48574   set_has_name();
48575   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
48576       ::std::string(reinterpret_cast<const char*>(value), size));
48577   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.name)
48578 }
48579 ::std::string* V1LayerParameter::mutable_name() {
48580   set_has_name();
48581   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.name)
48582   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48583 }
48584 ::std::string* V1LayerParameter::release_name() {
48585   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.name)
48586   clear_has_name();
48587   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
48588 }
48589 void V1LayerParameter::set_allocated_name(::std::string* name) {
48590   if (name != NULL) {
48591     set_has_name();
48592   } else {
48593     clear_has_name();
48594   }
48595   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
48596   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.name)
48597 }
48598
48599 // repeated .opencv_caffe.NetStateRule include = 32;
48600 int V1LayerParameter::include_size() const {
48601   return include_.size();
48602 }
48603 void V1LayerParameter::clear_include() {
48604   include_.Clear();
48605 }
48606 const ::opencv_caffe::NetStateRule& V1LayerParameter::include(int index) const {
48607   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.include)
48608   return include_.Get(index);
48609 }
48610 ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_include(int index) {
48611   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.include)
48612   return include_.Mutable(index);
48613 }
48614 ::opencv_caffe::NetStateRule* V1LayerParameter::add_include() {
48615   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.include)
48616   return include_.Add();
48617 }
48618 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
48619 V1LayerParameter::mutable_include() {
48620   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.include)
48621   return &include_;
48622 }
48623 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
48624 V1LayerParameter::include() const {
48625   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.include)
48626   return include_;
48627 }
48628
48629 // repeated .opencv_caffe.NetStateRule exclude = 33;
48630 int V1LayerParameter::exclude_size() const {
48631   return exclude_.size();
48632 }
48633 void V1LayerParameter::clear_exclude() {
48634   exclude_.Clear();
48635 }
48636 const ::opencv_caffe::NetStateRule& V1LayerParameter::exclude(int index) const {
48637   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exclude)
48638   return exclude_.Get(index);
48639 }
48640 ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_exclude(int index) {
48641   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exclude)
48642   return exclude_.Mutable(index);
48643 }
48644 ::opencv_caffe::NetStateRule* V1LayerParameter::add_exclude() {
48645   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.exclude)
48646   return exclude_.Add();
48647 }
48648 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
48649 V1LayerParameter::mutable_exclude() {
48650   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.exclude)
48651   return &exclude_;
48652 }
48653 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
48654 V1LayerParameter::exclude() const {
48655   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.exclude)
48656   return exclude_;
48657 }
48658
48659 // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
48660 bool V1LayerParameter::has_type() const {
48661   return (_has_bits_[0] & 0x00000020u) != 0;
48662 }
48663 void V1LayerParameter::set_has_type() {
48664   _has_bits_[0] |= 0x00000020u;
48665 }
48666 void V1LayerParameter::clear_has_type() {
48667   _has_bits_[0] &= ~0x00000020u;
48668 }
48669 void V1LayerParameter::clear_type() {
48670   type_ = 0;
48671   clear_has_type();
48672 }
48673 ::opencv_caffe::V1LayerParameter_LayerType V1LayerParameter::type() const {
48674   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.type)
48675   return static_cast< ::opencv_caffe::V1LayerParameter_LayerType >(type_);
48676 }
48677 void V1LayerParameter::set_type(::opencv_caffe::V1LayerParameter_LayerType value) {
48678   assert(::opencv_caffe::V1LayerParameter_LayerType_IsValid(value));
48679   set_has_type();
48680   type_ = value;
48681   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.type)
48682 }
48683
48684 // repeated .opencv_caffe.BlobProto blobs = 6;
48685 int V1LayerParameter::blobs_size() const {
48686   return blobs_.size();
48687 }
48688 void V1LayerParameter::clear_blobs() {
48689   blobs_.Clear();
48690 }
48691 const ::opencv_caffe::BlobProto& V1LayerParameter::blobs(int index) const {
48692   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs)
48693   return blobs_.Get(index);
48694 }
48695 ::opencv_caffe::BlobProto* V1LayerParameter::mutable_blobs(int index) {
48696   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.blobs)
48697   return blobs_.Mutable(index);
48698 }
48699 ::opencv_caffe::BlobProto* V1LayerParameter::add_blobs() {
48700   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs)
48701   return blobs_.Add();
48702 }
48703 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
48704 V1LayerParameter::mutable_blobs() {
48705   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs)
48706   return &blobs_;
48707 }
48708 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
48709 V1LayerParameter::blobs() const {
48710   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs)
48711   return blobs_;
48712 }
48713
48714 // repeated string param = 1001;
48715 int V1LayerParameter::param_size() const {
48716   return param_.size();
48717 }
48718 void V1LayerParameter::clear_param() {
48719   param_.Clear();
48720 }
48721 const ::std::string& V1LayerParameter::param(int index) const {
48722   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.param)
48723   return param_.Get(index);
48724 }
48725 ::std::string* V1LayerParameter::mutable_param(int index) {
48726   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.param)
48727   return param_.Mutable(index);
48728 }
48729 void V1LayerParameter::set_param(int index, const ::std::string& value) {
48730   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.param)
48731   param_.Mutable(index)->assign(value);
48732 }
48733 void V1LayerParameter::set_param(int index, const char* value) {
48734   param_.Mutable(index)->assign(value);
48735   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.param)
48736 }
48737 void V1LayerParameter::set_param(int index, const char* value, size_t size) {
48738   param_.Mutable(index)->assign(
48739     reinterpret_cast<const char*>(value), size);
48740   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.param)
48741 }
48742 ::std::string* V1LayerParameter::add_param() {
48743   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.param)
48744   return param_.Add();
48745 }
48746 void V1LayerParameter::add_param(const ::std::string& value) {
48747   param_.Add()->assign(value);
48748   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.param)
48749 }
48750 void V1LayerParameter::add_param(const char* value) {
48751   param_.Add()->assign(value);
48752   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.param)
48753 }
48754 void V1LayerParameter::add_param(const char* value, size_t size) {
48755   param_.Add()->assign(reinterpret_cast<const char*>(value), size);
48756   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.param)
48757 }
48758 const ::google::protobuf::RepeatedPtrField< ::std::string>&
48759 V1LayerParameter::param() const {
48760   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.param)
48761   return param_;
48762 }
48763 ::google::protobuf::RepeatedPtrField< ::std::string>*
48764 V1LayerParameter::mutable_param() {
48765   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.param)
48766   return &param_;
48767 }
48768
48769 // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
48770 int V1LayerParameter::blob_share_mode_size() const {
48771   return blob_share_mode_.size();
48772 }
48773 void V1LayerParameter::clear_blob_share_mode() {
48774   blob_share_mode_.Clear();
48775 }
48776 ::opencv_caffe::V1LayerParameter_DimCheckMode V1LayerParameter::blob_share_mode(int index) const {
48777   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blob_share_mode)
48778   return static_cast< ::opencv_caffe::V1LayerParameter_DimCheckMode >(blob_share_mode_.Get(index));
48779 }
48780 void V1LayerParameter::set_blob_share_mode(int index, ::opencv_caffe::V1LayerParameter_DimCheckMode value) {
48781   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
48782   blob_share_mode_.Set(index, value);
48783   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blob_share_mode)
48784 }
48785 void V1LayerParameter::add_blob_share_mode(::opencv_caffe::V1LayerParameter_DimCheckMode value) {
48786   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
48787   blob_share_mode_.Add(value);
48788   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blob_share_mode)
48789 }
48790 const ::google::protobuf::RepeatedField<int>&
48791 V1LayerParameter::blob_share_mode() const {
48792   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blob_share_mode)
48793   return blob_share_mode_;
48794 }
48795 ::google::protobuf::RepeatedField<int>*
48796 V1LayerParameter::mutable_blob_share_mode() {
48797   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blob_share_mode)
48798   return &blob_share_mode_;
48799 }
48800
48801 // repeated float blobs_lr = 7;
48802 int V1LayerParameter::blobs_lr_size() const {
48803   return blobs_lr_.size();
48804 }
48805 void V1LayerParameter::clear_blobs_lr() {
48806   blobs_lr_.Clear();
48807 }
48808 float V1LayerParameter::blobs_lr(int index) const {
48809   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs_lr)
48810   return blobs_lr_.Get(index);
48811 }
48812 void V1LayerParameter::set_blobs_lr(int index, float value) {
48813   blobs_lr_.Set(index, value);
48814   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blobs_lr)
48815 }
48816 void V1LayerParameter::add_blobs_lr(float value) {
48817   blobs_lr_.Add(value);
48818   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs_lr)
48819 }
48820 const ::google::protobuf::RepeatedField< float >&
48821 V1LayerParameter::blobs_lr() const {
48822   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs_lr)
48823   return blobs_lr_;
48824 }
48825 ::google::protobuf::RepeatedField< float >*
48826 V1LayerParameter::mutable_blobs_lr() {
48827   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs_lr)
48828   return &blobs_lr_;
48829 }
48830
48831 // repeated float weight_decay = 8;
48832 int V1LayerParameter::weight_decay_size() const {
48833   return weight_decay_.size();
48834 }
48835 void V1LayerParameter::clear_weight_decay() {
48836   weight_decay_.Clear();
48837 }
48838 float V1LayerParameter::weight_decay(int index) const {
48839   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.weight_decay)
48840   return weight_decay_.Get(index);
48841 }
48842 void V1LayerParameter::set_weight_decay(int index, float value) {
48843   weight_decay_.Set(index, value);
48844   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.weight_decay)
48845 }
48846 void V1LayerParameter::add_weight_decay(float value) {
48847   weight_decay_.Add(value);
48848   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.weight_decay)
48849 }
48850 const ::google::protobuf::RepeatedField< float >&
48851 V1LayerParameter::weight_decay() const {
48852   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.weight_decay)
48853   return weight_decay_;
48854 }
48855 ::google::protobuf::RepeatedField< float >*
48856 V1LayerParameter::mutable_weight_decay() {
48857   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.weight_decay)
48858   return &weight_decay_;
48859 }
48860
48861 // repeated float loss_weight = 35;
48862 int V1LayerParameter::loss_weight_size() const {
48863   return loss_weight_.size();
48864 }
48865 void V1LayerParameter::clear_loss_weight() {
48866   loss_weight_.Clear();
48867 }
48868 float V1LayerParameter::loss_weight(int index) const {
48869   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_weight)
48870   return loss_weight_.Get(index);
48871 }
48872 void V1LayerParameter::set_loss_weight(int index, float value) {
48873   loss_weight_.Set(index, value);
48874   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.loss_weight)
48875 }
48876 void V1LayerParameter::add_loss_weight(float value) {
48877   loss_weight_.Add(value);
48878   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.loss_weight)
48879 }
48880 const ::google::protobuf::RepeatedField< float >&
48881 V1LayerParameter::loss_weight() const {
48882   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.loss_weight)
48883   return loss_weight_;
48884 }
48885 ::google::protobuf::RepeatedField< float >*
48886 V1LayerParameter::mutable_loss_weight() {
48887   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.loss_weight)
48888   return &loss_weight_;
48889 }
48890
48891 // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
48892 bool V1LayerParameter::has_accuracy_param() const {
48893   return (_has_bits_[0] & 0x00001000u) != 0;
48894 }
48895 void V1LayerParameter::set_has_accuracy_param() {
48896   _has_bits_[0] |= 0x00001000u;
48897 }
48898 void V1LayerParameter::clear_has_accuracy_param() {
48899   _has_bits_[0] &= ~0x00001000u;
48900 }
48901 void V1LayerParameter::clear_accuracy_param() {
48902   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
48903   clear_has_accuracy_param();
48904 }
48905 const ::opencv_caffe::AccuracyParameter& V1LayerParameter::accuracy_param() const {
48906   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.accuracy_param)
48907   return accuracy_param_ != NULL ? *accuracy_param_
48908                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
48909 }
48910 ::opencv_caffe::AccuracyParameter* V1LayerParameter::mutable_accuracy_param() {
48911   set_has_accuracy_param();
48912   if (accuracy_param_ == NULL) {
48913     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
48914   }
48915   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.accuracy_param)
48916   return accuracy_param_;
48917 }
48918 ::opencv_caffe::AccuracyParameter* V1LayerParameter::release_accuracy_param() {
48919   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.accuracy_param)
48920   clear_has_accuracy_param();
48921   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
48922   accuracy_param_ = NULL;
48923   return temp;
48924 }
48925 void V1LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
48926   delete accuracy_param_;
48927   accuracy_param_ = accuracy_param;
48928   if (accuracy_param) {
48929     set_has_accuracy_param();
48930   } else {
48931     clear_has_accuracy_param();
48932   }
48933   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.accuracy_param)
48934 }
48935
48936 // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
48937 bool V1LayerParameter::has_argmax_param() const {
48938   return (_has_bits_[0] & 0x00002000u) != 0;
48939 }
48940 void V1LayerParameter::set_has_argmax_param() {
48941   _has_bits_[0] |= 0x00002000u;
48942 }
48943 void V1LayerParameter::clear_has_argmax_param() {
48944   _has_bits_[0] &= ~0x00002000u;
48945 }
48946 void V1LayerParameter::clear_argmax_param() {
48947   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
48948   clear_has_argmax_param();
48949 }
48950 const ::opencv_caffe::ArgMaxParameter& V1LayerParameter::argmax_param() const {
48951   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.argmax_param)
48952   return argmax_param_ != NULL ? *argmax_param_
48953                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
48954 }
48955 ::opencv_caffe::ArgMaxParameter* V1LayerParameter::mutable_argmax_param() {
48956   set_has_argmax_param();
48957   if (argmax_param_ == NULL) {
48958     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
48959   }
48960   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.argmax_param)
48961   return argmax_param_;
48962 }
48963 ::opencv_caffe::ArgMaxParameter* V1LayerParameter::release_argmax_param() {
48964   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.argmax_param)
48965   clear_has_argmax_param();
48966   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
48967   argmax_param_ = NULL;
48968   return temp;
48969 }
48970 void V1LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
48971   delete argmax_param_;
48972   argmax_param_ = argmax_param;
48973   if (argmax_param) {
48974     set_has_argmax_param();
48975   } else {
48976     clear_has_argmax_param();
48977   }
48978   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.argmax_param)
48979 }
48980
48981 // optional .opencv_caffe.ConcatParameter concat_param = 9;
48982 bool V1LayerParameter::has_concat_param() const {
48983   return (_has_bits_[0] & 0x00004000u) != 0;
48984 }
48985 void V1LayerParameter::set_has_concat_param() {
48986   _has_bits_[0] |= 0x00004000u;
48987 }
48988 void V1LayerParameter::clear_has_concat_param() {
48989   _has_bits_[0] &= ~0x00004000u;
48990 }
48991 void V1LayerParameter::clear_concat_param() {
48992   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
48993   clear_has_concat_param();
48994 }
48995 const ::opencv_caffe::ConcatParameter& V1LayerParameter::concat_param() const {
48996   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.concat_param)
48997   return concat_param_ != NULL ? *concat_param_
48998                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
48999 }
49000 ::opencv_caffe::ConcatParameter* V1LayerParameter::mutable_concat_param() {
49001   set_has_concat_param();
49002   if (concat_param_ == NULL) {
49003     concat_param_ = new ::opencv_caffe::ConcatParameter;
49004   }
49005   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.concat_param)
49006   return concat_param_;
49007 }
49008 ::opencv_caffe::ConcatParameter* V1LayerParameter::release_concat_param() {
49009   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.concat_param)
49010   clear_has_concat_param();
49011   ::opencv_caffe::ConcatParameter* temp = concat_param_;
49012   concat_param_ = NULL;
49013   return temp;
49014 }
49015 void V1LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
49016   delete concat_param_;
49017   concat_param_ = concat_param;
49018   if (concat_param) {
49019     set_has_concat_param();
49020   } else {
49021     clear_has_concat_param();
49022   }
49023   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.concat_param)
49024 }
49025
49026 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
49027 bool V1LayerParameter::has_contrastive_loss_param() const {
49028   return (_has_bits_[0] & 0x00008000u) != 0;
49029 }
49030 void V1LayerParameter::set_has_contrastive_loss_param() {
49031   _has_bits_[0] |= 0x00008000u;
49032 }
49033 void V1LayerParameter::clear_has_contrastive_loss_param() {
49034   _has_bits_[0] &= ~0x00008000u;
49035 }
49036 void V1LayerParameter::clear_contrastive_loss_param() {
49037   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
49038   clear_has_contrastive_loss_param();
49039 }
49040 const ::opencv_caffe::ContrastiveLossParameter& V1LayerParameter::contrastive_loss_param() const {
49041   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49042   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
49043                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
49044 }
49045 ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::mutable_contrastive_loss_param() {
49046   set_has_contrastive_loss_param();
49047   if (contrastive_loss_param_ == NULL) {
49048     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
49049   }
49050   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49051   return contrastive_loss_param_;
49052 }
49053 ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::release_contrastive_loss_param() {
49054   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49055   clear_has_contrastive_loss_param();
49056   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
49057   contrastive_loss_param_ = NULL;
49058   return temp;
49059 }
49060 void V1LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
49061   delete contrastive_loss_param_;
49062   contrastive_loss_param_ = contrastive_loss_param;
49063   if (contrastive_loss_param) {
49064     set_has_contrastive_loss_param();
49065   } else {
49066     clear_has_contrastive_loss_param();
49067   }
49068   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.contrastive_loss_param)
49069 }
49070
49071 // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
49072 bool V1LayerParameter::has_convolution_param() const {
49073   return (_has_bits_[0] & 0x00010000u) != 0;
49074 }
49075 void V1LayerParameter::set_has_convolution_param() {
49076   _has_bits_[0] |= 0x00010000u;
49077 }
49078 void V1LayerParameter::clear_has_convolution_param() {
49079   _has_bits_[0] &= ~0x00010000u;
49080 }
49081 void V1LayerParameter::clear_convolution_param() {
49082   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
49083   clear_has_convolution_param();
49084 }
49085 const ::opencv_caffe::ConvolutionParameter& V1LayerParameter::convolution_param() const {
49086   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.convolution_param)
49087   return convolution_param_ != NULL ? *convolution_param_
49088                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
49089 }
49090 ::opencv_caffe::ConvolutionParameter* V1LayerParameter::mutable_convolution_param() {
49091   set_has_convolution_param();
49092   if (convolution_param_ == NULL) {
49093     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
49094   }
49095   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.convolution_param)
49096   return convolution_param_;
49097 }
49098 ::opencv_caffe::ConvolutionParameter* V1LayerParameter::release_convolution_param() {
49099   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.convolution_param)
49100   clear_has_convolution_param();
49101   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
49102   convolution_param_ = NULL;
49103   return temp;
49104 }
49105 void V1LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
49106   delete convolution_param_;
49107   convolution_param_ = convolution_param;
49108   if (convolution_param) {
49109     set_has_convolution_param();
49110   } else {
49111     clear_has_convolution_param();
49112   }
49113   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.convolution_param)
49114 }
49115
49116 // optional .opencv_caffe.DataParameter data_param = 11;
49117 bool V1LayerParameter::has_data_param() const {
49118   return (_has_bits_[0] & 0x00020000u) != 0;
49119 }
49120 void V1LayerParameter::set_has_data_param() {
49121   _has_bits_[0] |= 0x00020000u;
49122 }
49123 void V1LayerParameter::clear_has_data_param() {
49124   _has_bits_[0] &= ~0x00020000u;
49125 }
49126 void V1LayerParameter::clear_data_param() {
49127   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
49128   clear_has_data_param();
49129 }
49130 const ::opencv_caffe::DataParameter& V1LayerParameter::data_param() const {
49131   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.data_param)
49132   return data_param_ != NULL ? *data_param_
49133                          : *::opencv_caffe::DataParameter::internal_default_instance();
49134 }
49135 ::opencv_caffe::DataParameter* V1LayerParameter::mutable_data_param() {
49136   set_has_data_param();
49137   if (data_param_ == NULL) {
49138     data_param_ = new ::opencv_caffe::DataParameter;
49139   }
49140   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.data_param)
49141   return data_param_;
49142 }
49143 ::opencv_caffe::DataParameter* V1LayerParameter::release_data_param() {
49144   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.data_param)
49145   clear_has_data_param();
49146   ::opencv_caffe::DataParameter* temp = data_param_;
49147   data_param_ = NULL;
49148   return temp;
49149 }
49150 void V1LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
49151   delete data_param_;
49152   data_param_ = data_param;
49153   if (data_param) {
49154     set_has_data_param();
49155   } else {
49156     clear_has_data_param();
49157   }
49158   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.data_param)
49159 }
49160
49161 // optional .opencv_caffe.DropoutParameter dropout_param = 12;
49162 bool V1LayerParameter::has_dropout_param() const {
49163   return (_has_bits_[0] & 0x00040000u) != 0;
49164 }
49165 void V1LayerParameter::set_has_dropout_param() {
49166   _has_bits_[0] |= 0x00040000u;
49167 }
49168 void V1LayerParameter::clear_has_dropout_param() {
49169   _has_bits_[0] &= ~0x00040000u;
49170 }
49171 void V1LayerParameter::clear_dropout_param() {
49172   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
49173   clear_has_dropout_param();
49174 }
49175 const ::opencv_caffe::DropoutParameter& V1LayerParameter::dropout_param() const {
49176   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dropout_param)
49177   return dropout_param_ != NULL ? *dropout_param_
49178                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
49179 }
49180 ::opencv_caffe::DropoutParameter* V1LayerParameter::mutable_dropout_param() {
49181   set_has_dropout_param();
49182   if (dropout_param_ == NULL) {
49183     dropout_param_ = new ::opencv_caffe::DropoutParameter;
49184   }
49185   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dropout_param)
49186   return dropout_param_;
49187 }
49188 ::opencv_caffe::DropoutParameter* V1LayerParameter::release_dropout_param() {
49189   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dropout_param)
49190   clear_has_dropout_param();
49191   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
49192   dropout_param_ = NULL;
49193   return temp;
49194 }
49195 void V1LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
49196   delete dropout_param_;
49197   dropout_param_ = dropout_param;
49198   if (dropout_param) {
49199     set_has_dropout_param();
49200   } else {
49201     clear_has_dropout_param();
49202   }
49203   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dropout_param)
49204 }
49205
49206 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
49207 bool V1LayerParameter::has_dummy_data_param() const {
49208   return (_has_bits_[0] & 0x00080000u) != 0;
49209 }
49210 void V1LayerParameter::set_has_dummy_data_param() {
49211   _has_bits_[0] |= 0x00080000u;
49212 }
49213 void V1LayerParameter::clear_has_dummy_data_param() {
49214   _has_bits_[0] &= ~0x00080000u;
49215 }
49216 void V1LayerParameter::clear_dummy_data_param() {
49217   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
49218   clear_has_dummy_data_param();
49219 }
49220 const ::opencv_caffe::DummyDataParameter& V1LayerParameter::dummy_data_param() const {
49221   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dummy_data_param)
49222   return dummy_data_param_ != NULL ? *dummy_data_param_
49223                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
49224 }
49225 ::opencv_caffe::DummyDataParameter* V1LayerParameter::mutable_dummy_data_param() {
49226   set_has_dummy_data_param();
49227   if (dummy_data_param_ == NULL) {
49228     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
49229   }
49230   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dummy_data_param)
49231   return dummy_data_param_;
49232 }
49233 ::opencv_caffe::DummyDataParameter* V1LayerParameter::release_dummy_data_param() {
49234   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dummy_data_param)
49235   clear_has_dummy_data_param();
49236   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
49237   dummy_data_param_ = NULL;
49238   return temp;
49239 }
49240 void V1LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
49241   delete dummy_data_param_;
49242   dummy_data_param_ = dummy_data_param;
49243   if (dummy_data_param) {
49244     set_has_dummy_data_param();
49245   } else {
49246     clear_has_dummy_data_param();
49247   }
49248   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dummy_data_param)
49249 }
49250
49251 // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
49252 bool V1LayerParameter::has_eltwise_param() const {
49253   return (_has_bits_[0] & 0x00100000u) != 0;
49254 }
49255 void V1LayerParameter::set_has_eltwise_param() {
49256   _has_bits_[0] |= 0x00100000u;
49257 }
49258 void V1LayerParameter::clear_has_eltwise_param() {
49259   _has_bits_[0] &= ~0x00100000u;
49260 }
49261 void V1LayerParameter::clear_eltwise_param() {
49262   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
49263   clear_has_eltwise_param();
49264 }
49265 const ::opencv_caffe::EltwiseParameter& V1LayerParameter::eltwise_param() const {
49266   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.eltwise_param)
49267   return eltwise_param_ != NULL ? *eltwise_param_
49268                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
49269 }
49270 ::opencv_caffe::EltwiseParameter* V1LayerParameter::mutable_eltwise_param() {
49271   set_has_eltwise_param();
49272   if (eltwise_param_ == NULL) {
49273     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
49274   }
49275   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.eltwise_param)
49276   return eltwise_param_;
49277 }
49278 ::opencv_caffe::EltwiseParameter* V1LayerParameter::release_eltwise_param() {
49279   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.eltwise_param)
49280   clear_has_eltwise_param();
49281   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
49282   eltwise_param_ = NULL;
49283   return temp;
49284 }
49285 void V1LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
49286   delete eltwise_param_;
49287   eltwise_param_ = eltwise_param;
49288   if (eltwise_param) {
49289     set_has_eltwise_param();
49290   } else {
49291     clear_has_eltwise_param();
49292   }
49293   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.eltwise_param)
49294 }
49295
49296 // optional .opencv_caffe.ExpParameter exp_param = 41;
49297 bool V1LayerParameter::has_exp_param() const {
49298   return (_has_bits_[0] & 0x00200000u) != 0;
49299 }
49300 void V1LayerParameter::set_has_exp_param() {
49301   _has_bits_[0] |= 0x00200000u;
49302 }
49303 void V1LayerParameter::clear_has_exp_param() {
49304   _has_bits_[0] &= ~0x00200000u;
49305 }
49306 void V1LayerParameter::clear_exp_param() {
49307   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
49308   clear_has_exp_param();
49309 }
49310 const ::opencv_caffe::ExpParameter& V1LayerParameter::exp_param() const {
49311   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exp_param)
49312   return exp_param_ != NULL ? *exp_param_
49313                          : *::opencv_caffe::ExpParameter::internal_default_instance();
49314 }
49315 ::opencv_caffe::ExpParameter* V1LayerParameter::mutable_exp_param() {
49316   set_has_exp_param();
49317   if (exp_param_ == NULL) {
49318     exp_param_ = new ::opencv_caffe::ExpParameter;
49319   }
49320   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exp_param)
49321   return exp_param_;
49322 }
49323 ::opencv_caffe::ExpParameter* V1LayerParameter::release_exp_param() {
49324   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.exp_param)
49325   clear_has_exp_param();
49326   ::opencv_caffe::ExpParameter* temp = exp_param_;
49327   exp_param_ = NULL;
49328   return temp;
49329 }
49330 void V1LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
49331   delete exp_param_;
49332   exp_param_ = exp_param;
49333   if (exp_param) {
49334     set_has_exp_param();
49335   } else {
49336     clear_has_exp_param();
49337   }
49338   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.exp_param)
49339 }
49340
49341 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
49342 bool V1LayerParameter::has_hdf5_data_param() const {
49343   return (_has_bits_[0] & 0x00400000u) != 0;
49344 }
49345 void V1LayerParameter::set_has_hdf5_data_param() {
49346   _has_bits_[0] |= 0x00400000u;
49347 }
49348 void V1LayerParameter::clear_has_hdf5_data_param() {
49349   _has_bits_[0] &= ~0x00400000u;
49350 }
49351 void V1LayerParameter::clear_hdf5_data_param() {
49352   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
49353   clear_has_hdf5_data_param();
49354 }
49355 const ::opencv_caffe::HDF5DataParameter& V1LayerParameter::hdf5_data_param() const {
49356   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_data_param)
49357   return hdf5_data_param_ != NULL ? *hdf5_data_param_
49358                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
49359 }
49360 ::opencv_caffe::HDF5DataParameter* V1LayerParameter::mutable_hdf5_data_param() {
49361   set_has_hdf5_data_param();
49362   if (hdf5_data_param_ == NULL) {
49363     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
49364   }
49365   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_data_param)
49366   return hdf5_data_param_;
49367 }
49368 ::opencv_caffe::HDF5DataParameter* V1LayerParameter::release_hdf5_data_param() {
49369   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_data_param)
49370   clear_has_hdf5_data_param();
49371   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
49372   hdf5_data_param_ = NULL;
49373   return temp;
49374 }
49375 void V1LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
49376   delete hdf5_data_param_;
49377   hdf5_data_param_ = hdf5_data_param;
49378   if (hdf5_data_param) {
49379     set_has_hdf5_data_param();
49380   } else {
49381     clear_has_hdf5_data_param();
49382   }
49383   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_data_param)
49384 }
49385
49386 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
49387 bool V1LayerParameter::has_hdf5_output_param() const {
49388   return (_has_bits_[0] & 0x00800000u) != 0;
49389 }
49390 void V1LayerParameter::set_has_hdf5_output_param() {
49391   _has_bits_[0] |= 0x00800000u;
49392 }
49393 void V1LayerParameter::clear_has_hdf5_output_param() {
49394   _has_bits_[0] &= ~0x00800000u;
49395 }
49396 void V1LayerParameter::clear_hdf5_output_param() {
49397   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
49398   clear_has_hdf5_output_param();
49399 }
49400 const ::opencv_caffe::HDF5OutputParameter& V1LayerParameter::hdf5_output_param() const {
49401   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_output_param)
49402   return hdf5_output_param_ != NULL ? *hdf5_output_param_
49403                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
49404 }
49405 ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::mutable_hdf5_output_param() {
49406   set_has_hdf5_output_param();
49407   if (hdf5_output_param_ == NULL) {
49408     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
49409   }
49410   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_output_param)
49411   return hdf5_output_param_;
49412 }
49413 ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::release_hdf5_output_param() {
49414   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_output_param)
49415   clear_has_hdf5_output_param();
49416   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
49417   hdf5_output_param_ = NULL;
49418   return temp;
49419 }
49420 void V1LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
49421   delete hdf5_output_param_;
49422   hdf5_output_param_ = hdf5_output_param;
49423   if (hdf5_output_param) {
49424     set_has_hdf5_output_param();
49425   } else {
49426     clear_has_hdf5_output_param();
49427   }
49428   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_output_param)
49429 }
49430
49431 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
49432 bool V1LayerParameter::has_hinge_loss_param() const {
49433   return (_has_bits_[0] & 0x01000000u) != 0;
49434 }
49435 void V1LayerParameter::set_has_hinge_loss_param() {
49436   _has_bits_[0] |= 0x01000000u;
49437 }
49438 void V1LayerParameter::clear_has_hinge_loss_param() {
49439   _has_bits_[0] &= ~0x01000000u;
49440 }
49441 void V1LayerParameter::clear_hinge_loss_param() {
49442   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
49443   clear_has_hinge_loss_param();
49444 }
49445 const ::opencv_caffe::HingeLossParameter& V1LayerParameter::hinge_loss_param() const {
49446   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hinge_loss_param)
49447   return hinge_loss_param_ != NULL ? *hinge_loss_param_
49448                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
49449 }
49450 ::opencv_caffe::HingeLossParameter* V1LayerParameter::mutable_hinge_loss_param() {
49451   set_has_hinge_loss_param();
49452   if (hinge_loss_param_ == NULL) {
49453     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
49454   }
49455   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hinge_loss_param)
49456   return hinge_loss_param_;
49457 }
49458 ::opencv_caffe::HingeLossParameter* V1LayerParameter::release_hinge_loss_param() {
49459   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hinge_loss_param)
49460   clear_has_hinge_loss_param();
49461   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
49462   hinge_loss_param_ = NULL;
49463   return temp;
49464 }
49465 void V1LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
49466   delete hinge_loss_param_;
49467   hinge_loss_param_ = hinge_loss_param;
49468   if (hinge_loss_param) {
49469     set_has_hinge_loss_param();
49470   } else {
49471     clear_has_hinge_loss_param();
49472   }
49473   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hinge_loss_param)
49474 }
49475
49476 // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
49477 bool V1LayerParameter::has_image_data_param() const {
49478   return (_has_bits_[0] & 0x02000000u) != 0;
49479 }
49480 void V1LayerParameter::set_has_image_data_param() {
49481   _has_bits_[0] |= 0x02000000u;
49482 }
49483 void V1LayerParameter::clear_has_image_data_param() {
49484   _has_bits_[0] &= ~0x02000000u;
49485 }
49486 void V1LayerParameter::clear_image_data_param() {
49487   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
49488   clear_has_image_data_param();
49489 }
49490 const ::opencv_caffe::ImageDataParameter& V1LayerParameter::image_data_param() const {
49491   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.image_data_param)
49492   return image_data_param_ != NULL ? *image_data_param_
49493                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
49494 }
49495 ::opencv_caffe::ImageDataParameter* V1LayerParameter::mutable_image_data_param() {
49496   set_has_image_data_param();
49497   if (image_data_param_ == NULL) {
49498     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
49499   }
49500   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.image_data_param)
49501   return image_data_param_;
49502 }
49503 ::opencv_caffe::ImageDataParameter* V1LayerParameter::release_image_data_param() {
49504   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.image_data_param)
49505   clear_has_image_data_param();
49506   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
49507   image_data_param_ = NULL;
49508   return temp;
49509 }
49510 void V1LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
49511   delete image_data_param_;
49512   image_data_param_ = image_data_param;
49513   if (image_data_param) {
49514     set_has_image_data_param();
49515   } else {
49516     clear_has_image_data_param();
49517   }
49518   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.image_data_param)
49519 }
49520
49521 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
49522 bool V1LayerParameter::has_infogain_loss_param() const {
49523   return (_has_bits_[0] & 0x04000000u) != 0;
49524 }
49525 void V1LayerParameter::set_has_infogain_loss_param() {
49526   _has_bits_[0] |= 0x04000000u;
49527 }
49528 void V1LayerParameter::clear_has_infogain_loss_param() {
49529   _has_bits_[0] &= ~0x04000000u;
49530 }
49531 void V1LayerParameter::clear_infogain_loss_param() {
49532   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
49533   clear_has_infogain_loss_param();
49534 }
49535 const ::opencv_caffe::InfogainLossParameter& V1LayerParameter::infogain_loss_param() const {
49536   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.infogain_loss_param)
49537   return infogain_loss_param_ != NULL ? *infogain_loss_param_
49538                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
49539 }
49540 ::opencv_caffe::InfogainLossParameter* V1LayerParameter::mutable_infogain_loss_param() {
49541   set_has_infogain_loss_param();
49542   if (infogain_loss_param_ == NULL) {
49543     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
49544   }
49545   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.infogain_loss_param)
49546   return infogain_loss_param_;
49547 }
49548 ::opencv_caffe::InfogainLossParameter* V1LayerParameter::release_infogain_loss_param() {
49549   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.infogain_loss_param)
49550   clear_has_infogain_loss_param();
49551   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
49552   infogain_loss_param_ = NULL;
49553   return temp;
49554 }
49555 void V1LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
49556   delete infogain_loss_param_;
49557   infogain_loss_param_ = infogain_loss_param;
49558   if (infogain_loss_param) {
49559     set_has_infogain_loss_param();
49560   } else {
49561     clear_has_infogain_loss_param();
49562   }
49563   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.infogain_loss_param)
49564 }
49565
49566 // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
49567 bool V1LayerParameter::has_inner_product_param() const {
49568   return (_has_bits_[0] & 0x08000000u) != 0;
49569 }
49570 void V1LayerParameter::set_has_inner_product_param() {
49571   _has_bits_[0] |= 0x08000000u;
49572 }
49573 void V1LayerParameter::clear_has_inner_product_param() {
49574   _has_bits_[0] &= ~0x08000000u;
49575 }
49576 void V1LayerParameter::clear_inner_product_param() {
49577   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
49578   clear_has_inner_product_param();
49579 }
49580 const ::opencv_caffe::InnerProductParameter& V1LayerParameter::inner_product_param() const {
49581   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.inner_product_param)
49582   return inner_product_param_ != NULL ? *inner_product_param_
49583                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
49584 }
49585 ::opencv_caffe::InnerProductParameter* V1LayerParameter::mutable_inner_product_param() {
49586   set_has_inner_product_param();
49587   if (inner_product_param_ == NULL) {
49588     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
49589   }
49590   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.inner_product_param)
49591   return inner_product_param_;
49592 }
49593 ::opencv_caffe::InnerProductParameter* V1LayerParameter::release_inner_product_param() {
49594   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.inner_product_param)
49595   clear_has_inner_product_param();
49596   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
49597   inner_product_param_ = NULL;
49598   return temp;
49599 }
49600 void V1LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
49601   delete inner_product_param_;
49602   inner_product_param_ = inner_product_param;
49603   if (inner_product_param) {
49604     set_has_inner_product_param();
49605   } else {
49606     clear_has_inner_product_param();
49607   }
49608   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.inner_product_param)
49609 }
49610
49611 // optional .opencv_caffe.LRNParameter lrn_param = 18;
49612 bool V1LayerParameter::has_lrn_param() const {
49613   return (_has_bits_[0] & 0x10000000u) != 0;
49614 }
49615 void V1LayerParameter::set_has_lrn_param() {
49616   _has_bits_[0] |= 0x10000000u;
49617 }
49618 void V1LayerParameter::clear_has_lrn_param() {
49619   _has_bits_[0] &= ~0x10000000u;
49620 }
49621 void V1LayerParameter::clear_lrn_param() {
49622   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
49623   clear_has_lrn_param();
49624 }
49625 const ::opencv_caffe::LRNParameter& V1LayerParameter::lrn_param() const {
49626   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.lrn_param)
49627   return lrn_param_ != NULL ? *lrn_param_
49628                          : *::opencv_caffe::LRNParameter::internal_default_instance();
49629 }
49630 ::opencv_caffe::LRNParameter* V1LayerParameter::mutable_lrn_param() {
49631   set_has_lrn_param();
49632   if (lrn_param_ == NULL) {
49633     lrn_param_ = new ::opencv_caffe::LRNParameter;
49634   }
49635   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.lrn_param)
49636   return lrn_param_;
49637 }
49638 ::opencv_caffe::LRNParameter* V1LayerParameter::release_lrn_param() {
49639   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.lrn_param)
49640   clear_has_lrn_param();
49641   ::opencv_caffe::LRNParameter* temp = lrn_param_;
49642   lrn_param_ = NULL;
49643   return temp;
49644 }
49645 void V1LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
49646   delete lrn_param_;
49647   lrn_param_ = lrn_param;
49648   if (lrn_param) {
49649     set_has_lrn_param();
49650   } else {
49651     clear_has_lrn_param();
49652   }
49653   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.lrn_param)
49654 }
49655
49656 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
49657 bool V1LayerParameter::has_memory_data_param() const {
49658   return (_has_bits_[0] & 0x20000000u) != 0;
49659 }
49660 void V1LayerParameter::set_has_memory_data_param() {
49661   _has_bits_[0] |= 0x20000000u;
49662 }
49663 void V1LayerParameter::clear_has_memory_data_param() {
49664   _has_bits_[0] &= ~0x20000000u;
49665 }
49666 void V1LayerParameter::clear_memory_data_param() {
49667   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
49668   clear_has_memory_data_param();
49669 }
49670 const ::opencv_caffe::MemoryDataParameter& V1LayerParameter::memory_data_param() const {
49671   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.memory_data_param)
49672   return memory_data_param_ != NULL ? *memory_data_param_
49673                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
49674 }
49675 ::opencv_caffe::MemoryDataParameter* V1LayerParameter::mutable_memory_data_param() {
49676   set_has_memory_data_param();
49677   if (memory_data_param_ == NULL) {
49678     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
49679   }
49680   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.memory_data_param)
49681   return memory_data_param_;
49682 }
49683 ::opencv_caffe::MemoryDataParameter* V1LayerParameter::release_memory_data_param() {
49684   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.memory_data_param)
49685   clear_has_memory_data_param();
49686   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
49687   memory_data_param_ = NULL;
49688   return temp;
49689 }
49690 void V1LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
49691   delete memory_data_param_;
49692   memory_data_param_ = memory_data_param;
49693   if (memory_data_param) {
49694     set_has_memory_data_param();
49695   } else {
49696     clear_has_memory_data_param();
49697   }
49698   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.memory_data_param)
49699 }
49700
49701 // optional .opencv_caffe.MVNParameter mvn_param = 34;
49702 bool V1LayerParameter::has_mvn_param() const {
49703   return (_has_bits_[0] & 0x40000000u) != 0;
49704 }
49705 void V1LayerParameter::set_has_mvn_param() {
49706   _has_bits_[0] |= 0x40000000u;
49707 }
49708 void V1LayerParameter::clear_has_mvn_param() {
49709   _has_bits_[0] &= ~0x40000000u;
49710 }
49711 void V1LayerParameter::clear_mvn_param() {
49712   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
49713   clear_has_mvn_param();
49714 }
49715 const ::opencv_caffe::MVNParameter& V1LayerParameter::mvn_param() const {
49716   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.mvn_param)
49717   return mvn_param_ != NULL ? *mvn_param_
49718                          : *::opencv_caffe::MVNParameter::internal_default_instance();
49719 }
49720 ::opencv_caffe::MVNParameter* V1LayerParameter::mutable_mvn_param() {
49721   set_has_mvn_param();
49722   if (mvn_param_ == NULL) {
49723     mvn_param_ = new ::opencv_caffe::MVNParameter;
49724   }
49725   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.mvn_param)
49726   return mvn_param_;
49727 }
49728 ::opencv_caffe::MVNParameter* V1LayerParameter::release_mvn_param() {
49729   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.mvn_param)
49730   clear_has_mvn_param();
49731   ::opencv_caffe::MVNParameter* temp = mvn_param_;
49732   mvn_param_ = NULL;
49733   return temp;
49734 }
49735 void V1LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
49736   delete mvn_param_;
49737   mvn_param_ = mvn_param;
49738   if (mvn_param) {
49739     set_has_mvn_param();
49740   } else {
49741     clear_has_mvn_param();
49742   }
49743   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.mvn_param)
49744 }
49745
49746 // optional .opencv_caffe.PoolingParameter pooling_param = 19;
49747 bool V1LayerParameter::has_pooling_param() const {
49748   return (_has_bits_[0] & 0x80000000u) != 0;
49749 }
49750 void V1LayerParameter::set_has_pooling_param() {
49751   _has_bits_[0] |= 0x80000000u;
49752 }
49753 void V1LayerParameter::clear_has_pooling_param() {
49754   _has_bits_[0] &= ~0x80000000u;
49755 }
49756 void V1LayerParameter::clear_pooling_param() {
49757   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
49758   clear_has_pooling_param();
49759 }
49760 const ::opencv_caffe::PoolingParameter& V1LayerParameter::pooling_param() const {
49761   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.pooling_param)
49762   return pooling_param_ != NULL ? *pooling_param_
49763                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
49764 }
49765 ::opencv_caffe::PoolingParameter* V1LayerParameter::mutable_pooling_param() {
49766   set_has_pooling_param();
49767   if (pooling_param_ == NULL) {
49768     pooling_param_ = new ::opencv_caffe::PoolingParameter;
49769   }
49770   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.pooling_param)
49771   return pooling_param_;
49772 }
49773 ::opencv_caffe::PoolingParameter* V1LayerParameter::release_pooling_param() {
49774   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.pooling_param)
49775   clear_has_pooling_param();
49776   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
49777   pooling_param_ = NULL;
49778   return temp;
49779 }
49780 void V1LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
49781   delete pooling_param_;
49782   pooling_param_ = pooling_param;
49783   if (pooling_param) {
49784     set_has_pooling_param();
49785   } else {
49786     clear_has_pooling_param();
49787   }
49788   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.pooling_param)
49789 }
49790
49791 // optional .opencv_caffe.PowerParameter power_param = 21;
49792 bool V1LayerParameter::has_power_param() const {
49793   return (_has_bits_[1] & 0x00000001u) != 0;
49794 }
49795 void V1LayerParameter::set_has_power_param() {
49796   _has_bits_[1] |= 0x00000001u;
49797 }
49798 void V1LayerParameter::clear_has_power_param() {
49799   _has_bits_[1] &= ~0x00000001u;
49800 }
49801 void V1LayerParameter::clear_power_param() {
49802   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
49803   clear_has_power_param();
49804 }
49805 const ::opencv_caffe::PowerParameter& V1LayerParameter::power_param() const {
49806   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.power_param)
49807   return power_param_ != NULL ? *power_param_
49808                          : *::opencv_caffe::PowerParameter::internal_default_instance();
49809 }
49810 ::opencv_caffe::PowerParameter* V1LayerParameter::mutable_power_param() {
49811   set_has_power_param();
49812   if (power_param_ == NULL) {
49813     power_param_ = new ::opencv_caffe::PowerParameter;
49814   }
49815   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.power_param)
49816   return power_param_;
49817 }
49818 ::opencv_caffe::PowerParameter* V1LayerParameter::release_power_param() {
49819   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.power_param)
49820   clear_has_power_param();
49821   ::opencv_caffe::PowerParameter* temp = power_param_;
49822   power_param_ = NULL;
49823   return temp;
49824 }
49825 void V1LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
49826   delete power_param_;
49827   power_param_ = power_param;
49828   if (power_param) {
49829     set_has_power_param();
49830   } else {
49831     clear_has_power_param();
49832   }
49833   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.power_param)
49834 }
49835
49836 // optional .opencv_caffe.ReLUParameter relu_param = 30;
49837 bool V1LayerParameter::has_relu_param() const {
49838   return (_has_bits_[1] & 0x00000002u) != 0;
49839 }
49840 void V1LayerParameter::set_has_relu_param() {
49841   _has_bits_[1] |= 0x00000002u;
49842 }
49843 void V1LayerParameter::clear_has_relu_param() {
49844   _has_bits_[1] &= ~0x00000002u;
49845 }
49846 void V1LayerParameter::clear_relu_param() {
49847   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
49848   clear_has_relu_param();
49849 }
49850 const ::opencv_caffe::ReLUParameter& V1LayerParameter::relu_param() const {
49851   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.relu_param)
49852   return relu_param_ != NULL ? *relu_param_
49853                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
49854 }
49855 ::opencv_caffe::ReLUParameter* V1LayerParameter::mutable_relu_param() {
49856   set_has_relu_param();
49857   if (relu_param_ == NULL) {
49858     relu_param_ = new ::opencv_caffe::ReLUParameter;
49859   }
49860   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.relu_param)
49861   return relu_param_;
49862 }
49863 ::opencv_caffe::ReLUParameter* V1LayerParameter::release_relu_param() {
49864   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.relu_param)
49865   clear_has_relu_param();
49866   ::opencv_caffe::ReLUParameter* temp = relu_param_;
49867   relu_param_ = NULL;
49868   return temp;
49869 }
49870 void V1LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
49871   delete relu_param_;
49872   relu_param_ = relu_param;
49873   if (relu_param) {
49874     set_has_relu_param();
49875   } else {
49876     clear_has_relu_param();
49877   }
49878   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.relu_param)
49879 }
49880
49881 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
49882 bool V1LayerParameter::has_sigmoid_param() const {
49883   return (_has_bits_[1] & 0x00000004u) != 0;
49884 }
49885 void V1LayerParameter::set_has_sigmoid_param() {
49886   _has_bits_[1] |= 0x00000004u;
49887 }
49888 void V1LayerParameter::clear_has_sigmoid_param() {
49889   _has_bits_[1] &= ~0x00000004u;
49890 }
49891 void V1LayerParameter::clear_sigmoid_param() {
49892   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
49893   clear_has_sigmoid_param();
49894 }
49895 const ::opencv_caffe::SigmoidParameter& V1LayerParameter::sigmoid_param() const {
49896   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.sigmoid_param)
49897   return sigmoid_param_ != NULL ? *sigmoid_param_
49898                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
49899 }
49900 ::opencv_caffe::SigmoidParameter* V1LayerParameter::mutable_sigmoid_param() {
49901   set_has_sigmoid_param();
49902   if (sigmoid_param_ == NULL) {
49903     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
49904   }
49905   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.sigmoid_param)
49906   return sigmoid_param_;
49907 }
49908 ::opencv_caffe::SigmoidParameter* V1LayerParameter::release_sigmoid_param() {
49909   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.sigmoid_param)
49910   clear_has_sigmoid_param();
49911   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
49912   sigmoid_param_ = NULL;
49913   return temp;
49914 }
49915 void V1LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
49916   delete sigmoid_param_;
49917   sigmoid_param_ = sigmoid_param;
49918   if (sigmoid_param) {
49919     set_has_sigmoid_param();
49920   } else {
49921     clear_has_sigmoid_param();
49922   }
49923   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.sigmoid_param)
49924 }
49925
49926 // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
49927 bool V1LayerParameter::has_softmax_param() const {
49928   return (_has_bits_[1] & 0x00000008u) != 0;
49929 }
49930 void V1LayerParameter::set_has_softmax_param() {
49931   _has_bits_[1] |= 0x00000008u;
49932 }
49933 void V1LayerParameter::clear_has_softmax_param() {
49934   _has_bits_[1] &= ~0x00000008u;
49935 }
49936 void V1LayerParameter::clear_softmax_param() {
49937   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
49938   clear_has_softmax_param();
49939 }
49940 const ::opencv_caffe::SoftmaxParameter& V1LayerParameter::softmax_param() const {
49941   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.softmax_param)
49942   return softmax_param_ != NULL ? *softmax_param_
49943                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
49944 }
49945 ::opencv_caffe::SoftmaxParameter* V1LayerParameter::mutable_softmax_param() {
49946   set_has_softmax_param();
49947   if (softmax_param_ == NULL) {
49948     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
49949   }
49950   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.softmax_param)
49951   return softmax_param_;
49952 }
49953 ::opencv_caffe::SoftmaxParameter* V1LayerParameter::release_softmax_param() {
49954   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.softmax_param)
49955   clear_has_softmax_param();
49956   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
49957   softmax_param_ = NULL;
49958   return temp;
49959 }
49960 void V1LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
49961   delete softmax_param_;
49962   softmax_param_ = softmax_param;
49963   if (softmax_param) {
49964     set_has_softmax_param();
49965   } else {
49966     clear_has_softmax_param();
49967   }
49968   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.softmax_param)
49969 }
49970
49971 // optional .opencv_caffe.SliceParameter slice_param = 31;
49972 bool V1LayerParameter::has_slice_param() const {
49973   return (_has_bits_[1] & 0x00000010u) != 0;
49974 }
49975 void V1LayerParameter::set_has_slice_param() {
49976   _has_bits_[1] |= 0x00000010u;
49977 }
49978 void V1LayerParameter::clear_has_slice_param() {
49979   _has_bits_[1] &= ~0x00000010u;
49980 }
49981 void V1LayerParameter::clear_slice_param() {
49982   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
49983   clear_has_slice_param();
49984 }
49985 const ::opencv_caffe::SliceParameter& V1LayerParameter::slice_param() const {
49986   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.slice_param)
49987   return slice_param_ != NULL ? *slice_param_
49988                          : *::opencv_caffe::SliceParameter::internal_default_instance();
49989 }
49990 ::opencv_caffe::SliceParameter* V1LayerParameter::mutable_slice_param() {
49991   set_has_slice_param();
49992   if (slice_param_ == NULL) {
49993     slice_param_ = new ::opencv_caffe::SliceParameter;
49994   }
49995   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.slice_param)
49996   return slice_param_;
49997 }
49998 ::opencv_caffe::SliceParameter* V1LayerParameter::release_slice_param() {
49999   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.slice_param)
50000   clear_has_slice_param();
50001   ::opencv_caffe::SliceParameter* temp = slice_param_;
50002   slice_param_ = NULL;
50003   return temp;
50004 }
50005 void V1LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
50006   delete slice_param_;
50007   slice_param_ = slice_param;
50008   if (slice_param) {
50009     set_has_slice_param();
50010   } else {
50011     clear_has_slice_param();
50012   }
50013   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.slice_param)
50014 }
50015
50016 // optional .opencv_caffe.TanHParameter tanh_param = 37;
50017 bool V1LayerParameter::has_tanh_param() const {
50018   return (_has_bits_[1] & 0x00000020u) != 0;
50019 }
50020 void V1LayerParameter::set_has_tanh_param() {
50021   _has_bits_[1] |= 0x00000020u;
50022 }
50023 void V1LayerParameter::clear_has_tanh_param() {
50024   _has_bits_[1] &= ~0x00000020u;
50025 }
50026 void V1LayerParameter::clear_tanh_param() {
50027   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
50028   clear_has_tanh_param();
50029 }
50030 const ::opencv_caffe::TanHParameter& V1LayerParameter::tanh_param() const {
50031   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.tanh_param)
50032   return tanh_param_ != NULL ? *tanh_param_
50033                          : *::opencv_caffe::TanHParameter::internal_default_instance();
50034 }
50035 ::opencv_caffe::TanHParameter* V1LayerParameter::mutable_tanh_param() {
50036   set_has_tanh_param();
50037   if (tanh_param_ == NULL) {
50038     tanh_param_ = new ::opencv_caffe::TanHParameter;
50039   }
50040   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.tanh_param)
50041   return tanh_param_;
50042 }
50043 ::opencv_caffe::TanHParameter* V1LayerParameter::release_tanh_param() {
50044   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.tanh_param)
50045   clear_has_tanh_param();
50046   ::opencv_caffe::TanHParameter* temp = tanh_param_;
50047   tanh_param_ = NULL;
50048   return temp;
50049 }
50050 void V1LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
50051   delete tanh_param_;
50052   tanh_param_ = tanh_param;
50053   if (tanh_param) {
50054     set_has_tanh_param();
50055   } else {
50056     clear_has_tanh_param();
50057   }
50058   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.tanh_param)
50059 }
50060
50061 // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
50062 bool V1LayerParameter::has_threshold_param() const {
50063   return (_has_bits_[1] & 0x00000040u) != 0;
50064 }
50065 void V1LayerParameter::set_has_threshold_param() {
50066   _has_bits_[1] |= 0x00000040u;
50067 }
50068 void V1LayerParameter::clear_has_threshold_param() {
50069   _has_bits_[1] &= ~0x00000040u;
50070 }
50071 void V1LayerParameter::clear_threshold_param() {
50072   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
50073   clear_has_threshold_param();
50074 }
50075 const ::opencv_caffe::ThresholdParameter& V1LayerParameter::threshold_param() const {
50076   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.threshold_param)
50077   return threshold_param_ != NULL ? *threshold_param_
50078                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
50079 }
50080 ::opencv_caffe::ThresholdParameter* V1LayerParameter::mutable_threshold_param() {
50081   set_has_threshold_param();
50082   if (threshold_param_ == NULL) {
50083     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
50084   }
50085   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.threshold_param)
50086   return threshold_param_;
50087 }
50088 ::opencv_caffe::ThresholdParameter* V1LayerParameter::release_threshold_param() {
50089   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.threshold_param)
50090   clear_has_threshold_param();
50091   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
50092   threshold_param_ = NULL;
50093   return temp;
50094 }
50095 void V1LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
50096   delete threshold_param_;
50097   threshold_param_ = threshold_param;
50098   if (threshold_param) {
50099     set_has_threshold_param();
50100   } else {
50101     clear_has_threshold_param();
50102   }
50103   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.threshold_param)
50104 }
50105
50106 // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
50107 bool V1LayerParameter::has_window_data_param() const {
50108   return (_has_bits_[1] & 0x00000080u) != 0;
50109 }
50110 void V1LayerParameter::set_has_window_data_param() {
50111   _has_bits_[1] |= 0x00000080u;
50112 }
50113 void V1LayerParameter::clear_has_window_data_param() {
50114   _has_bits_[1] &= ~0x00000080u;
50115 }
50116 void V1LayerParameter::clear_window_data_param() {
50117   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
50118   clear_has_window_data_param();
50119 }
50120 const ::opencv_caffe::WindowDataParameter& V1LayerParameter::window_data_param() const {
50121   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.window_data_param)
50122   return window_data_param_ != NULL ? *window_data_param_
50123                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
50124 }
50125 ::opencv_caffe::WindowDataParameter* V1LayerParameter::mutable_window_data_param() {
50126   set_has_window_data_param();
50127   if (window_data_param_ == NULL) {
50128     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
50129   }
50130   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.window_data_param)
50131   return window_data_param_;
50132 }
50133 ::opencv_caffe::WindowDataParameter* V1LayerParameter::release_window_data_param() {
50134   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.window_data_param)
50135   clear_has_window_data_param();
50136   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
50137   window_data_param_ = NULL;
50138   return temp;
50139 }
50140 void V1LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
50141   delete window_data_param_;
50142   window_data_param_ = window_data_param;
50143   if (window_data_param) {
50144     set_has_window_data_param();
50145   } else {
50146     clear_has_window_data_param();
50147   }
50148   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.window_data_param)
50149 }
50150
50151 // optional .opencv_caffe.TransformationParameter transform_param = 36;
50152 bool V1LayerParameter::has_transform_param() const {
50153   return (_has_bits_[1] & 0x00000100u) != 0;
50154 }
50155 void V1LayerParameter::set_has_transform_param() {
50156   _has_bits_[1] |= 0x00000100u;
50157 }
50158 void V1LayerParameter::clear_has_transform_param() {
50159   _has_bits_[1] &= ~0x00000100u;
50160 }
50161 void V1LayerParameter::clear_transform_param() {
50162   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
50163   clear_has_transform_param();
50164 }
50165 const ::opencv_caffe::TransformationParameter& V1LayerParameter::transform_param() const {
50166   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.transform_param)
50167   return transform_param_ != NULL ? *transform_param_
50168                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
50169 }
50170 ::opencv_caffe::TransformationParameter* V1LayerParameter::mutable_transform_param() {
50171   set_has_transform_param();
50172   if (transform_param_ == NULL) {
50173     transform_param_ = new ::opencv_caffe::TransformationParameter;
50174   }
50175   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.transform_param)
50176   return transform_param_;
50177 }
50178 ::opencv_caffe::TransformationParameter* V1LayerParameter::release_transform_param() {
50179   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.transform_param)
50180   clear_has_transform_param();
50181   ::opencv_caffe::TransformationParameter* temp = transform_param_;
50182   transform_param_ = NULL;
50183   return temp;
50184 }
50185 void V1LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
50186   delete transform_param_;
50187   transform_param_ = transform_param;
50188   if (transform_param) {
50189     set_has_transform_param();
50190   } else {
50191     clear_has_transform_param();
50192   }
50193   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.transform_param)
50194 }
50195
50196 // optional .opencv_caffe.LossParameter loss_param = 42;
50197 bool V1LayerParameter::has_loss_param() const {
50198   return (_has_bits_[1] & 0x00000200u) != 0;
50199 }
50200 void V1LayerParameter::set_has_loss_param() {
50201   _has_bits_[1] |= 0x00000200u;
50202 }
50203 void V1LayerParameter::clear_has_loss_param() {
50204   _has_bits_[1] &= ~0x00000200u;
50205 }
50206 void V1LayerParameter::clear_loss_param() {
50207   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
50208   clear_has_loss_param();
50209 }
50210 const ::opencv_caffe::LossParameter& V1LayerParameter::loss_param() const {
50211   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_param)
50212   return loss_param_ != NULL ? *loss_param_
50213                          : *::opencv_caffe::LossParameter::internal_default_instance();
50214 }
50215 ::opencv_caffe::LossParameter* V1LayerParameter::mutable_loss_param() {
50216   set_has_loss_param();
50217   if (loss_param_ == NULL) {
50218     loss_param_ = new ::opencv_caffe::LossParameter;
50219   }
50220   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.loss_param)
50221   return loss_param_;
50222 }
50223 ::opencv_caffe::LossParameter* V1LayerParameter::release_loss_param() {
50224   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.loss_param)
50225   clear_has_loss_param();
50226   ::opencv_caffe::LossParameter* temp = loss_param_;
50227   loss_param_ = NULL;
50228   return temp;
50229 }
50230 void V1LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
50231   delete loss_param_;
50232   loss_param_ = loss_param;
50233   if (loss_param) {
50234     set_has_loss_param();
50235   } else {
50236     clear_has_loss_param();
50237   }
50238   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.loss_param)
50239 }
50240
50241 // optional .opencv_caffe.V0LayerParameter layer = 1;
50242 bool V1LayerParameter::has_layer() const {
50243   return (_has_bits_[1] & 0x00000400u) != 0;
50244 }
50245 void V1LayerParameter::set_has_layer() {
50246   _has_bits_[1] |= 0x00000400u;
50247 }
50248 void V1LayerParameter::clear_has_layer() {
50249   _has_bits_[1] &= ~0x00000400u;
50250 }
50251 void V1LayerParameter::clear_layer() {
50252   if (layer_ != NULL) layer_->::opencv_caffe::V0LayerParameter::Clear();
50253   clear_has_layer();
50254 }
50255 const ::opencv_caffe::V0LayerParameter& V1LayerParameter::layer() const {
50256   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.layer)
50257   return layer_ != NULL ? *layer_
50258                          : *::opencv_caffe::V0LayerParameter::internal_default_instance();
50259 }
50260 ::opencv_caffe::V0LayerParameter* V1LayerParameter::mutable_layer() {
50261   set_has_layer();
50262   if (layer_ == NULL) {
50263     layer_ = new ::opencv_caffe::V0LayerParameter;
50264   }
50265   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.layer)
50266   return layer_;
50267 }
50268 ::opencv_caffe::V0LayerParameter* V1LayerParameter::release_layer() {
50269   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.layer)
50270   clear_has_layer();
50271   ::opencv_caffe::V0LayerParameter* temp = layer_;
50272   layer_ = NULL;
50273   return temp;
50274 }
50275 void V1LayerParameter::set_allocated_layer(::opencv_caffe::V0LayerParameter* layer) {
50276   delete layer_;
50277   layer_ = layer;
50278   if (layer) {
50279     set_has_layer();
50280   } else {
50281     clear_has_layer();
50282   }
50283   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.layer)
50284 }
50285
50286 inline const V1LayerParameter* V1LayerParameter::internal_default_instance() {
50287   return &V1LayerParameter_default_instance_.get();
50288 }
50289 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
50290
50291 // ===================================================================
50292
50293 const ::google::protobuf::EnumDescriptor* V0LayerParameter_PoolMethod_descriptor() {
50294   protobuf_AssignDescriptorsOnce();
50295   return V0LayerParameter_PoolMethod_descriptor_;
50296 }
50297 bool V0LayerParameter_PoolMethod_IsValid(int value) {
50298   switch (value) {
50299     case 0:
50300     case 1:
50301     case 2:
50302       return true;
50303     default:
50304       return false;
50305   }
50306 }
50307
50308 #if !defined(_MSC_VER) || _MSC_VER >= 1900
50309 const V0LayerParameter_PoolMethod V0LayerParameter::MAX;
50310 const V0LayerParameter_PoolMethod V0LayerParameter::AVE;
50311 const V0LayerParameter_PoolMethod V0LayerParameter::STOCHASTIC;
50312 const V0LayerParameter_PoolMethod V0LayerParameter::PoolMethod_MIN;
50313 const V0LayerParameter_PoolMethod V0LayerParameter::PoolMethod_MAX;
50314 const int V0LayerParameter::PoolMethod_ARRAYSIZE;
50315 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
50316 ::std::string* V0LayerParameter::_default_det_crop_mode_ = NULL;
50317 #if !defined(_MSC_VER) || _MSC_VER >= 1900
50318 const int V0LayerParameter::kNameFieldNumber;
50319 const int V0LayerParameter::kTypeFieldNumber;
50320 const int V0LayerParameter::kNumOutputFieldNumber;
50321 const int V0LayerParameter::kBiastermFieldNumber;
50322 const int V0LayerParameter::kWeightFillerFieldNumber;
50323 const int V0LayerParameter::kBiasFillerFieldNumber;
50324 const int V0LayerParameter::kPadFieldNumber;
50325 const int V0LayerParameter::kKernelsizeFieldNumber;
50326 const int V0LayerParameter::kGroupFieldNumber;
50327 const int V0LayerParameter::kStrideFieldNumber;
50328 const int V0LayerParameter::kPoolFieldNumber;
50329 const int V0LayerParameter::kDropoutRatioFieldNumber;
50330 const int V0LayerParameter::kLocalSizeFieldNumber;
50331 const int V0LayerParameter::kAlphaFieldNumber;
50332 const int V0LayerParameter::kBetaFieldNumber;
50333 const int V0LayerParameter::kKFieldNumber;
50334 const int V0LayerParameter::kSourceFieldNumber;
50335 const int V0LayerParameter::kScaleFieldNumber;
50336 const int V0LayerParameter::kMeanfileFieldNumber;
50337 const int V0LayerParameter::kBatchsizeFieldNumber;
50338 const int V0LayerParameter::kCropsizeFieldNumber;
50339 const int V0LayerParameter::kMirrorFieldNumber;
50340 const int V0LayerParameter::kBlobsFieldNumber;
50341 const int V0LayerParameter::kBlobsLrFieldNumber;
50342 const int V0LayerParameter::kWeightDecayFieldNumber;
50343 const int V0LayerParameter::kRandSkipFieldNumber;
50344 const int V0LayerParameter::kDetFgThresholdFieldNumber;
50345 const int V0LayerParameter::kDetBgThresholdFieldNumber;
50346 const int V0LayerParameter::kDetFgFractionFieldNumber;
50347 const int V0LayerParameter::kDetContextPadFieldNumber;
50348 const int V0LayerParameter::kDetCropModeFieldNumber;
50349 const int V0LayerParameter::kNewNumFieldNumber;
50350 const int V0LayerParameter::kNewChannelsFieldNumber;
50351 const int V0LayerParameter::kNewHeightFieldNumber;
50352 const int V0LayerParameter::kNewWidthFieldNumber;
50353 const int V0LayerParameter::kShuffleImagesFieldNumber;
50354 const int V0LayerParameter::kConcatDimFieldNumber;
50355 const int V0LayerParameter::kHdf5OutputParamFieldNumber;
50356 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
50357
50358 V0LayerParameter::V0LayerParameter()
50359   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
50360   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
50361   SharedCtor();
50362   // @@protoc_insertion_point(constructor:opencv_caffe.V0LayerParameter)
50363 }
50364
50365 void V0LayerParameter::InitAsDefaultInstance() {
50366   weight_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
50367       ::opencv_caffe::FillerParameter::internal_default_instance());
50368   bias_filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
50369       ::opencv_caffe::FillerParameter::internal_default_instance());
50370   hdf5_output_param_ = const_cast< ::opencv_caffe::HDF5OutputParameter*>(
50371       ::opencv_caffe::HDF5OutputParameter::internal_default_instance());
50372 }
50373
50374 V0LayerParameter::V0LayerParameter(const V0LayerParameter& from)
50375   : ::google::protobuf::Message(),
50376     _internal_metadata_(NULL) {
50377   SharedCtor();
50378   UnsafeMergeFrom(from);
50379   // @@protoc_insertion_point(copy_constructor:opencv_caffe.V0LayerParameter)
50380 }
50381
50382 void V0LayerParameter::SharedCtor() {
50383   name_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50384   type_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50385   source_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50386   meanfile_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50387   det_crop_mode_.UnsafeSetDefault(_default_det_crop_mode_);
50388   weight_filler_ = NULL;
50389   bias_filler_ = NULL;
50390   hdf5_output_param_ = NULL;
50391   ::memset(&num_output_, 0, reinterpret_cast<char*>(&new_width_) -
50392     reinterpret_cast<char*>(&num_output_) + sizeof(new_width_));
50393   concat_dim_ = 1u;
50394   biasterm_ = true;
50395   group_ = 1u;
50396   stride_ = 1u;
50397   dropout_ratio_ = 0.5f;
50398   local_size_ = 5u;
50399   alpha_ = 1;
50400   beta_ = 0.75f;
50401   k_ = 1;
50402   scale_ = 1;
50403   det_fg_threshold_ = 0.5f;
50404   det_bg_threshold_ = 0.5f;
50405   det_fg_fraction_ = 0.25f;
50406   _cached_size_ = 0;
50407 }
50408
50409 V0LayerParameter::~V0LayerParameter() {
50410   // @@protoc_insertion_point(destructor:opencv_caffe.V0LayerParameter)
50411   SharedDtor();
50412 }
50413
50414 void V0LayerParameter::SharedDtor() {
50415   name_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50416   type_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50417   source_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50418   meanfile_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50419   det_crop_mode_.DestroyNoArena(_default_det_crop_mode_);
50420   if (this != &V0LayerParameter_default_instance_.get()) {
50421     delete weight_filler_;
50422     delete bias_filler_;
50423     delete hdf5_output_param_;
50424   }
50425 }
50426
50427 void V0LayerParameter::SetCachedSize(int size) const {
50428   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
50429   _cached_size_ = size;
50430   GOOGLE_SAFE_CONCURRENT_WRITES_END();
50431 }
50432 const ::google::protobuf::Descriptor* V0LayerParameter::descriptor() {
50433   protobuf_AssignDescriptorsOnce();
50434   return V0LayerParameter_descriptor_;
50435 }
50436
50437 const V0LayerParameter& V0LayerParameter::default_instance() {
50438   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
50439   return *internal_default_instance();
50440 }
50441
50442 ::google::protobuf::internal::ExplicitlyConstructed<V0LayerParameter> V0LayerParameter_default_instance_;
50443
50444 V0LayerParameter* V0LayerParameter::New(::google::protobuf::Arena* arena) const {
50445   V0LayerParameter* n = new V0LayerParameter;
50446   if (arena != NULL) {
50447     arena->Own(n);
50448   }
50449   return n;
50450 }
50451
50452 void V0LayerParameter::Clear() {
50453 // @@protoc_insertion_point(message_clear_start:opencv_caffe.V0LayerParameter)
50454 #if defined(__clang__)
50455 #define ZR_HELPER_(f) \
50456   _Pragma("clang diagnostic push") \
50457   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
50458   __builtin_offsetof(V0LayerParameter, f) \
50459   _Pragma("clang diagnostic pop")
50460 #else
50461 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
50462   &reinterpret_cast<V0LayerParameter*>(16)->f)
50463 #endif
50464
50465 #define ZR_(first, last) do {\
50466   ::memset(&(first), 0,\
50467            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
50468 } while (0)
50469
50470   if (_has_bits_[0 / 32] & 255u) {
50471     ZR_(num_output_, kernelsize_);
50472     if (has_name()) {
50473       name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50474     }
50475     if (has_type()) {
50476       type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50477     }
50478     biasterm_ = true;
50479     if (has_weight_filler()) {
50480       if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
50481     }
50482     if (has_bias_filler()) {
50483       if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
50484     }
50485   }
50486   if (_has_bits_[8 / 32] & 65280u) {
50487     group_ = 1u;
50488     stride_ = 1u;
50489     pool_ = 0;
50490     dropout_ratio_ = 0.5f;
50491     local_size_ = 5u;
50492     alpha_ = 1;
50493     beta_ = 0.75f;
50494     k_ = 1;
50495   }
50496   if (_has_bits_[16 / 32] & 4128768u) {
50497     ZR_(batchsize_, cropsize_);
50498     if (has_source()) {
50499       source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50500     }
50501     scale_ = 1;
50502     if (has_meanfile()) {
50503       meanfile_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
50504     }
50505     mirror_ = false;
50506   }
50507   if (_has_bits_[24 / 32] & 4261412864u) {
50508     ZR_(det_context_pad_, new_num_);
50509     rand_skip_ = 0u;
50510     det_fg_threshold_ = 0.5f;
50511     det_bg_threshold_ = 0.5f;
50512     det_fg_fraction_ = 0.25f;
50513     if (has_det_crop_mode()) {
50514       det_crop_mode_.ClearToDefaultNoArena(_default_det_crop_mode_);
50515     }
50516   }
50517   if (_has_bits_[32 / 32] & 63u) {
50518     ZR_(new_channels_, new_width_);
50519     shuffle_images_ = false;
50520     concat_dim_ = 1u;
50521     if (has_hdf5_output_param()) {
50522       if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
50523     }
50524   }
50525
50526 #undef ZR_HELPER_
50527 #undef ZR_
50528
50529   blobs_.Clear();
50530   blobs_lr_.Clear();
50531   weight_decay_.Clear();
50532   _has_bits_.Clear();
50533   if (_internal_metadata_.have_unknown_fields()) {
50534     mutable_unknown_fields()->Clear();
50535   }
50536 }
50537
50538 bool V0LayerParameter::MergePartialFromCodedStream(
50539     ::google::protobuf::io::CodedInputStream* input) {
50540 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
50541   ::google::protobuf::uint32 tag;
50542   // @@protoc_insertion_point(parse_start:opencv_caffe.V0LayerParameter)
50543   for (;;) {
50544     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(16383);
50545     tag = p.first;
50546     if (!p.second) goto handle_unusual;
50547     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
50548       // optional string name = 1;
50549       case 1: {
50550         if (tag == 10) {
50551           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
50552                 input, this->mutable_name()));
50553           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
50554             this->name().data(), this->name().length(),
50555             ::google::protobuf::internal::WireFormat::PARSE,
50556             "opencv_caffe.V0LayerParameter.name");
50557         } else {
50558           goto handle_unusual;
50559         }
50560         if (input->ExpectTag(18)) goto parse_type;
50561         break;
50562       }
50563
50564       // optional string type = 2;
50565       case 2: {
50566         if (tag == 18) {
50567          parse_type:
50568           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
50569                 input, this->mutable_type()));
50570           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
50571             this->type().data(), this->type().length(),
50572             ::google::protobuf::internal::WireFormat::PARSE,
50573             "opencv_caffe.V0LayerParameter.type");
50574         } else {
50575           goto handle_unusual;
50576         }
50577         if (input->ExpectTag(24)) goto parse_num_output;
50578         break;
50579       }
50580
50581       // optional uint32 num_output = 3;
50582       case 3: {
50583         if (tag == 24) {
50584          parse_num_output:
50585           set_has_num_output();
50586           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50587                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50588                  input, &num_output_)));
50589         } else {
50590           goto handle_unusual;
50591         }
50592         if (input->ExpectTag(32)) goto parse_biasterm;
50593         break;
50594       }
50595
50596       // optional bool biasterm = 4 [default = true];
50597       case 4: {
50598         if (tag == 32) {
50599          parse_biasterm:
50600           set_has_biasterm();
50601           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50602                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
50603                  input, &biasterm_)));
50604         } else {
50605           goto handle_unusual;
50606         }
50607         if (input->ExpectTag(42)) goto parse_weight_filler;
50608         break;
50609       }
50610
50611       // optional .opencv_caffe.FillerParameter weight_filler = 5;
50612       case 5: {
50613         if (tag == 42) {
50614          parse_weight_filler:
50615           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
50616                input, mutable_weight_filler()));
50617         } else {
50618           goto handle_unusual;
50619         }
50620         if (input->ExpectTag(50)) goto parse_bias_filler;
50621         break;
50622       }
50623
50624       // optional .opencv_caffe.FillerParameter bias_filler = 6;
50625       case 6: {
50626         if (tag == 50) {
50627          parse_bias_filler:
50628           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
50629                input, mutable_bias_filler()));
50630         } else {
50631           goto handle_unusual;
50632         }
50633         if (input->ExpectTag(56)) goto parse_pad;
50634         break;
50635       }
50636
50637       // optional uint32 pad = 7 [default = 0];
50638       case 7: {
50639         if (tag == 56) {
50640          parse_pad:
50641           set_has_pad();
50642           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50643                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50644                  input, &pad_)));
50645         } else {
50646           goto handle_unusual;
50647         }
50648         if (input->ExpectTag(64)) goto parse_kernelsize;
50649         break;
50650       }
50651
50652       // optional uint32 kernelsize = 8;
50653       case 8: {
50654         if (tag == 64) {
50655          parse_kernelsize:
50656           set_has_kernelsize();
50657           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50658                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50659                  input, &kernelsize_)));
50660         } else {
50661           goto handle_unusual;
50662         }
50663         if (input->ExpectTag(72)) goto parse_group;
50664         break;
50665       }
50666
50667       // optional uint32 group = 9 [default = 1];
50668       case 9: {
50669         if (tag == 72) {
50670          parse_group:
50671           set_has_group();
50672           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50673                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50674                  input, &group_)));
50675         } else {
50676           goto handle_unusual;
50677         }
50678         if (input->ExpectTag(80)) goto parse_stride;
50679         break;
50680       }
50681
50682       // optional uint32 stride = 10 [default = 1];
50683       case 10: {
50684         if (tag == 80) {
50685          parse_stride:
50686           set_has_stride();
50687           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50688                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50689                  input, &stride_)));
50690         } else {
50691           goto handle_unusual;
50692         }
50693         if (input->ExpectTag(88)) goto parse_pool;
50694         break;
50695       }
50696
50697       // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
50698       case 11: {
50699         if (tag == 88) {
50700          parse_pool:
50701           int value;
50702           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50703                    int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
50704                  input, &value)));
50705           if (::opencv_caffe::V0LayerParameter_PoolMethod_IsValid(value)) {
50706             set_pool(static_cast< ::opencv_caffe::V0LayerParameter_PoolMethod >(value));
50707           } else {
50708             mutable_unknown_fields()->AddVarint(11, value);
50709           }
50710         } else {
50711           goto handle_unusual;
50712         }
50713         if (input->ExpectTag(101)) goto parse_dropout_ratio;
50714         break;
50715       }
50716
50717       // optional float dropout_ratio = 12 [default = 0.5];
50718       case 12: {
50719         if (tag == 101) {
50720          parse_dropout_ratio:
50721           set_has_dropout_ratio();
50722           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50723                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50724                  input, &dropout_ratio_)));
50725         } else {
50726           goto handle_unusual;
50727         }
50728         if (input->ExpectTag(104)) goto parse_local_size;
50729         break;
50730       }
50731
50732       // optional uint32 local_size = 13 [default = 5];
50733       case 13: {
50734         if (tag == 104) {
50735          parse_local_size:
50736           set_has_local_size();
50737           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50738                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50739                  input, &local_size_)));
50740         } else {
50741           goto handle_unusual;
50742         }
50743         if (input->ExpectTag(117)) goto parse_alpha;
50744         break;
50745       }
50746
50747       // optional float alpha = 14 [default = 1];
50748       case 14: {
50749         if (tag == 117) {
50750          parse_alpha:
50751           set_has_alpha();
50752           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50753                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50754                  input, &alpha_)));
50755         } else {
50756           goto handle_unusual;
50757         }
50758         if (input->ExpectTag(125)) goto parse_beta;
50759         break;
50760       }
50761
50762       // optional float beta = 15 [default = 0.75];
50763       case 15: {
50764         if (tag == 125) {
50765          parse_beta:
50766           set_has_beta();
50767           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50768                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50769                  input, &beta_)));
50770         } else {
50771           goto handle_unusual;
50772         }
50773         if (input->ExpectTag(130)) goto parse_source;
50774         break;
50775       }
50776
50777       // optional string source = 16;
50778       case 16: {
50779         if (tag == 130) {
50780          parse_source:
50781           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
50782                 input, this->mutable_source()));
50783           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
50784             this->source().data(), this->source().length(),
50785             ::google::protobuf::internal::WireFormat::PARSE,
50786             "opencv_caffe.V0LayerParameter.source");
50787         } else {
50788           goto handle_unusual;
50789         }
50790         if (input->ExpectTag(141)) goto parse_scale;
50791         break;
50792       }
50793
50794       // optional float scale = 17 [default = 1];
50795       case 17: {
50796         if (tag == 141) {
50797          parse_scale:
50798           set_has_scale();
50799           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50800                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50801                  input, &scale_)));
50802         } else {
50803           goto handle_unusual;
50804         }
50805         if (input->ExpectTag(146)) goto parse_meanfile;
50806         break;
50807       }
50808
50809       // optional string meanfile = 18;
50810       case 18: {
50811         if (tag == 146) {
50812          parse_meanfile:
50813           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
50814                 input, this->mutable_meanfile()));
50815           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
50816             this->meanfile().data(), this->meanfile().length(),
50817             ::google::protobuf::internal::WireFormat::PARSE,
50818             "opencv_caffe.V0LayerParameter.meanfile");
50819         } else {
50820           goto handle_unusual;
50821         }
50822         if (input->ExpectTag(152)) goto parse_batchsize;
50823         break;
50824       }
50825
50826       // optional uint32 batchsize = 19;
50827       case 19: {
50828         if (tag == 152) {
50829          parse_batchsize:
50830           set_has_batchsize();
50831           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50832                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50833                  input, &batchsize_)));
50834         } else {
50835           goto handle_unusual;
50836         }
50837         if (input->ExpectTag(160)) goto parse_cropsize;
50838         break;
50839       }
50840
50841       // optional uint32 cropsize = 20 [default = 0];
50842       case 20: {
50843         if (tag == 160) {
50844          parse_cropsize:
50845           set_has_cropsize();
50846           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50847                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50848                  input, &cropsize_)));
50849         } else {
50850           goto handle_unusual;
50851         }
50852         if (input->ExpectTag(168)) goto parse_mirror;
50853         break;
50854       }
50855
50856       // optional bool mirror = 21 [default = false];
50857       case 21: {
50858         if (tag == 168) {
50859          parse_mirror:
50860           set_has_mirror();
50861           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50862                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
50863                  input, &mirror_)));
50864         } else {
50865           goto handle_unusual;
50866         }
50867         if (input->ExpectTag(181)) goto parse_k;
50868         break;
50869       }
50870
50871       // optional float k = 22 [default = 1];
50872       case 22: {
50873         if (tag == 181) {
50874          parse_k:
50875           set_has_k();
50876           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50877                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50878                  input, &k_)));
50879         } else {
50880           goto handle_unusual;
50881         }
50882         if (input->ExpectTag(402)) goto parse_blobs;
50883         break;
50884       }
50885
50886       // repeated .opencv_caffe.BlobProto blobs = 50;
50887       case 50: {
50888         if (tag == 402) {
50889          parse_blobs:
50890           DO_(input->IncrementRecursionDepth());
50891          parse_loop_blobs:
50892           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtualNoRecursionDepth(
50893                 input, add_blobs()));
50894         } else {
50895           goto handle_unusual;
50896         }
50897         if (input->ExpectTag(402)) goto parse_loop_blobs;
50898         input->UnsafeDecrementRecursionDepth();
50899         if (input->ExpectTag(413)) goto parse_blobs_lr;
50900         break;
50901       }
50902
50903       // repeated float blobs_lr = 51;
50904       case 51: {
50905         if (tag == 413) {
50906          parse_blobs_lr:
50907           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
50908                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50909                  2, 413, input, this->mutable_blobs_lr())));
50910         } else if (tag == 410) {
50911           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
50912                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50913                  input, this->mutable_blobs_lr())));
50914         } else {
50915           goto handle_unusual;
50916         }
50917         if (input->ExpectTag(413)) goto parse_blobs_lr;
50918         if (input->ExpectTag(421)) goto parse_weight_decay;
50919         break;
50920       }
50921
50922       // repeated float weight_decay = 52;
50923       case 52: {
50924         if (tag == 421) {
50925          parse_weight_decay:
50926           DO_((::google::protobuf::internal::WireFormatLite::ReadRepeatedPrimitive<
50927                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50928                  2, 421, input, this->mutable_weight_decay())));
50929         } else if (tag == 418) {
50930           DO_((::google::protobuf::internal::WireFormatLite::ReadPackedPrimitiveNoInline<
50931                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50932                  input, this->mutable_weight_decay())));
50933         } else {
50934           goto handle_unusual;
50935         }
50936         if (input->ExpectTag(421)) goto parse_weight_decay;
50937         if (input->ExpectTag(424)) goto parse_rand_skip;
50938         break;
50939       }
50940
50941       // optional uint32 rand_skip = 53 [default = 0];
50942       case 53: {
50943         if (tag == 424) {
50944          parse_rand_skip:
50945           set_has_rand_skip();
50946           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50947                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
50948                  input, &rand_skip_)));
50949         } else {
50950           goto handle_unusual;
50951         }
50952         if (input->ExpectTag(437)) goto parse_det_fg_threshold;
50953         break;
50954       }
50955
50956       // optional float det_fg_threshold = 54 [default = 0.5];
50957       case 54: {
50958         if (tag == 437) {
50959          parse_det_fg_threshold:
50960           set_has_det_fg_threshold();
50961           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50962                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50963                  input, &det_fg_threshold_)));
50964         } else {
50965           goto handle_unusual;
50966         }
50967         if (input->ExpectTag(445)) goto parse_det_bg_threshold;
50968         break;
50969       }
50970
50971       // optional float det_bg_threshold = 55 [default = 0.5];
50972       case 55: {
50973         if (tag == 445) {
50974          parse_det_bg_threshold:
50975           set_has_det_bg_threshold();
50976           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50977                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50978                  input, &det_bg_threshold_)));
50979         } else {
50980           goto handle_unusual;
50981         }
50982         if (input->ExpectTag(453)) goto parse_det_fg_fraction;
50983         break;
50984       }
50985
50986       // optional float det_fg_fraction = 56 [default = 0.25];
50987       case 56: {
50988         if (tag == 453) {
50989          parse_det_fg_fraction:
50990           set_has_det_fg_fraction();
50991           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
50992                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
50993                  input, &det_fg_fraction_)));
50994         } else {
50995           goto handle_unusual;
50996         }
50997         if (input->ExpectTag(464)) goto parse_det_context_pad;
50998         break;
50999       }
51000
51001       // optional uint32 det_context_pad = 58 [default = 0];
51002       case 58: {
51003         if (tag == 464) {
51004          parse_det_context_pad:
51005           set_has_det_context_pad();
51006           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51007                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
51008                  input, &det_context_pad_)));
51009         } else {
51010           goto handle_unusual;
51011         }
51012         if (input->ExpectTag(474)) goto parse_det_crop_mode;
51013         break;
51014       }
51015
51016       // optional string det_crop_mode = 59 [default = "warp"];
51017       case 59: {
51018         if (tag == 474) {
51019          parse_det_crop_mode:
51020           DO_(::google::protobuf::internal::WireFormatLite::ReadString(
51021                 input, this->mutable_det_crop_mode()));
51022           ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51023             this->det_crop_mode().data(), this->det_crop_mode().length(),
51024             ::google::protobuf::internal::WireFormat::PARSE,
51025             "opencv_caffe.V0LayerParameter.det_crop_mode");
51026         } else {
51027           goto handle_unusual;
51028         }
51029         if (input->ExpectTag(480)) goto parse_new_num;
51030         break;
51031       }
51032
51033       // optional int32 new_num = 60 [default = 0];
51034       case 60: {
51035         if (tag == 480) {
51036          parse_new_num:
51037           set_has_new_num();
51038           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51039                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51040                  input, &new_num_)));
51041         } else {
51042           goto handle_unusual;
51043         }
51044         if (input->ExpectTag(488)) goto parse_new_channels;
51045         break;
51046       }
51047
51048       // optional int32 new_channels = 61 [default = 0];
51049       case 61: {
51050         if (tag == 488) {
51051          parse_new_channels:
51052           set_has_new_channels();
51053           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51054                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51055                  input, &new_channels_)));
51056         } else {
51057           goto handle_unusual;
51058         }
51059         if (input->ExpectTag(496)) goto parse_new_height;
51060         break;
51061       }
51062
51063       // optional int32 new_height = 62 [default = 0];
51064       case 62: {
51065         if (tag == 496) {
51066          parse_new_height:
51067           set_has_new_height();
51068           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51069                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51070                  input, &new_height_)));
51071         } else {
51072           goto handle_unusual;
51073         }
51074         if (input->ExpectTag(504)) goto parse_new_width;
51075         break;
51076       }
51077
51078       // optional int32 new_width = 63 [default = 0];
51079       case 63: {
51080         if (tag == 504) {
51081          parse_new_width:
51082           set_has_new_width();
51083           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51084                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
51085                  input, &new_width_)));
51086         } else {
51087           goto handle_unusual;
51088         }
51089         if (input->ExpectTag(512)) goto parse_shuffle_images;
51090         break;
51091       }
51092
51093       // optional bool shuffle_images = 64 [default = false];
51094       case 64: {
51095         if (tag == 512) {
51096          parse_shuffle_images:
51097           set_has_shuffle_images();
51098           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51099                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
51100                  input, &shuffle_images_)));
51101         } else {
51102           goto handle_unusual;
51103         }
51104         if (input->ExpectTag(520)) goto parse_concat_dim;
51105         break;
51106       }
51107
51108       // optional uint32 concat_dim = 65 [default = 1];
51109       case 65: {
51110         if (tag == 520) {
51111          parse_concat_dim:
51112           set_has_concat_dim();
51113           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
51114                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
51115                  input, &concat_dim_)));
51116         } else {
51117           goto handle_unusual;
51118         }
51119         if (input->ExpectTag(8010)) goto parse_hdf5_output_param;
51120         break;
51121       }
51122
51123       // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
51124       case 1001: {
51125         if (tag == 8010) {
51126          parse_hdf5_output_param:
51127           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
51128                input, mutable_hdf5_output_param()));
51129         } else {
51130           goto handle_unusual;
51131         }
51132         if (input->ExpectAtEnd()) goto success;
51133         break;
51134       }
51135
51136       default: {
51137       handle_unusual:
51138         if (tag == 0 ||
51139             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
51140             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
51141           goto success;
51142         }
51143         DO_(::google::protobuf::internal::WireFormat::SkipField(
51144               input, tag, mutable_unknown_fields()));
51145         break;
51146       }
51147     }
51148   }
51149 success:
51150   // @@protoc_insertion_point(parse_success:opencv_caffe.V0LayerParameter)
51151   return true;
51152 failure:
51153   // @@protoc_insertion_point(parse_failure:opencv_caffe.V0LayerParameter)
51154   return false;
51155 #undef DO_
51156 }
51157
51158 void V0LayerParameter::SerializeWithCachedSizes(
51159     ::google::protobuf::io::CodedOutputStream* output) const {
51160   // @@protoc_insertion_point(serialize_start:opencv_caffe.V0LayerParameter)
51161   // optional string name = 1;
51162   if (has_name()) {
51163     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51164       this->name().data(), this->name().length(),
51165       ::google::protobuf::internal::WireFormat::SERIALIZE,
51166       "opencv_caffe.V0LayerParameter.name");
51167     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51168       1, this->name(), output);
51169   }
51170
51171   // optional string type = 2;
51172   if (has_type()) {
51173     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51174       this->type().data(), this->type().length(),
51175       ::google::protobuf::internal::WireFormat::SERIALIZE,
51176       "opencv_caffe.V0LayerParameter.type");
51177     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51178       2, this->type(), output);
51179   }
51180
51181   // optional uint32 num_output = 3;
51182   if (has_num_output()) {
51183     ::google::protobuf::internal::WireFormatLite::WriteUInt32(3, this->num_output(), output);
51184   }
51185
51186   // optional bool biasterm = 4 [default = true];
51187   if (has_biasterm()) {
51188     ::google::protobuf::internal::WireFormatLite::WriteBool(4, this->biasterm(), output);
51189   }
51190
51191   // optional .opencv_caffe.FillerParameter weight_filler = 5;
51192   if (has_weight_filler()) {
51193     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51194       5, *this->weight_filler_, output);
51195   }
51196
51197   // optional .opencv_caffe.FillerParameter bias_filler = 6;
51198   if (has_bias_filler()) {
51199     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51200       6, *this->bias_filler_, output);
51201   }
51202
51203   // optional uint32 pad = 7 [default = 0];
51204   if (has_pad()) {
51205     ::google::protobuf::internal::WireFormatLite::WriteUInt32(7, this->pad(), output);
51206   }
51207
51208   // optional uint32 kernelsize = 8;
51209   if (has_kernelsize()) {
51210     ::google::protobuf::internal::WireFormatLite::WriteUInt32(8, this->kernelsize(), output);
51211   }
51212
51213   // optional uint32 group = 9 [default = 1];
51214   if (has_group()) {
51215     ::google::protobuf::internal::WireFormatLite::WriteUInt32(9, this->group(), output);
51216   }
51217
51218   // optional uint32 stride = 10 [default = 1];
51219   if (has_stride()) {
51220     ::google::protobuf::internal::WireFormatLite::WriteUInt32(10, this->stride(), output);
51221   }
51222
51223   // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
51224   if (has_pool()) {
51225     ::google::protobuf::internal::WireFormatLite::WriteEnum(
51226       11, this->pool(), output);
51227   }
51228
51229   // optional float dropout_ratio = 12 [default = 0.5];
51230   if (has_dropout_ratio()) {
51231     ::google::protobuf::internal::WireFormatLite::WriteFloat(12, this->dropout_ratio(), output);
51232   }
51233
51234   // optional uint32 local_size = 13 [default = 5];
51235   if (has_local_size()) {
51236     ::google::protobuf::internal::WireFormatLite::WriteUInt32(13, this->local_size(), output);
51237   }
51238
51239   // optional float alpha = 14 [default = 1];
51240   if (has_alpha()) {
51241     ::google::protobuf::internal::WireFormatLite::WriteFloat(14, this->alpha(), output);
51242   }
51243
51244   // optional float beta = 15 [default = 0.75];
51245   if (has_beta()) {
51246     ::google::protobuf::internal::WireFormatLite::WriteFloat(15, this->beta(), output);
51247   }
51248
51249   // optional string source = 16;
51250   if (has_source()) {
51251     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51252       this->source().data(), this->source().length(),
51253       ::google::protobuf::internal::WireFormat::SERIALIZE,
51254       "opencv_caffe.V0LayerParameter.source");
51255     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51256       16, this->source(), output);
51257   }
51258
51259   // optional float scale = 17 [default = 1];
51260   if (has_scale()) {
51261     ::google::protobuf::internal::WireFormatLite::WriteFloat(17, this->scale(), output);
51262   }
51263
51264   // optional string meanfile = 18;
51265   if (has_meanfile()) {
51266     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51267       this->meanfile().data(), this->meanfile().length(),
51268       ::google::protobuf::internal::WireFormat::SERIALIZE,
51269       "opencv_caffe.V0LayerParameter.meanfile");
51270     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51271       18, this->meanfile(), output);
51272   }
51273
51274   // optional uint32 batchsize = 19;
51275   if (has_batchsize()) {
51276     ::google::protobuf::internal::WireFormatLite::WriteUInt32(19, this->batchsize(), output);
51277   }
51278
51279   // optional uint32 cropsize = 20 [default = 0];
51280   if (has_cropsize()) {
51281     ::google::protobuf::internal::WireFormatLite::WriteUInt32(20, this->cropsize(), output);
51282   }
51283
51284   // optional bool mirror = 21 [default = false];
51285   if (has_mirror()) {
51286     ::google::protobuf::internal::WireFormatLite::WriteBool(21, this->mirror(), output);
51287   }
51288
51289   // optional float k = 22 [default = 1];
51290   if (has_k()) {
51291     ::google::protobuf::internal::WireFormatLite::WriteFloat(22, this->k(), output);
51292   }
51293
51294   // repeated .opencv_caffe.BlobProto blobs = 50;
51295   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
51296     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51297       50, this->blobs(i), output);
51298   }
51299
51300   // repeated float blobs_lr = 51;
51301   for (int i = 0; i < this->blobs_lr_size(); i++) {
51302     ::google::protobuf::internal::WireFormatLite::WriteFloat(
51303       51, this->blobs_lr(i), output);
51304   }
51305
51306   // repeated float weight_decay = 52;
51307   for (int i = 0; i < this->weight_decay_size(); i++) {
51308     ::google::protobuf::internal::WireFormatLite::WriteFloat(
51309       52, this->weight_decay(i), output);
51310   }
51311
51312   // optional uint32 rand_skip = 53 [default = 0];
51313   if (has_rand_skip()) {
51314     ::google::protobuf::internal::WireFormatLite::WriteUInt32(53, this->rand_skip(), output);
51315   }
51316
51317   // optional float det_fg_threshold = 54 [default = 0.5];
51318   if (has_det_fg_threshold()) {
51319     ::google::protobuf::internal::WireFormatLite::WriteFloat(54, this->det_fg_threshold(), output);
51320   }
51321
51322   // optional float det_bg_threshold = 55 [default = 0.5];
51323   if (has_det_bg_threshold()) {
51324     ::google::protobuf::internal::WireFormatLite::WriteFloat(55, this->det_bg_threshold(), output);
51325   }
51326
51327   // optional float det_fg_fraction = 56 [default = 0.25];
51328   if (has_det_fg_fraction()) {
51329     ::google::protobuf::internal::WireFormatLite::WriteFloat(56, this->det_fg_fraction(), output);
51330   }
51331
51332   // optional uint32 det_context_pad = 58 [default = 0];
51333   if (has_det_context_pad()) {
51334     ::google::protobuf::internal::WireFormatLite::WriteUInt32(58, this->det_context_pad(), output);
51335   }
51336
51337   // optional string det_crop_mode = 59 [default = "warp"];
51338   if (has_det_crop_mode()) {
51339     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51340       this->det_crop_mode().data(), this->det_crop_mode().length(),
51341       ::google::protobuf::internal::WireFormat::SERIALIZE,
51342       "opencv_caffe.V0LayerParameter.det_crop_mode");
51343     ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
51344       59, this->det_crop_mode(), output);
51345   }
51346
51347   // optional int32 new_num = 60 [default = 0];
51348   if (has_new_num()) {
51349     ::google::protobuf::internal::WireFormatLite::WriteInt32(60, this->new_num(), output);
51350   }
51351
51352   // optional int32 new_channels = 61 [default = 0];
51353   if (has_new_channels()) {
51354     ::google::protobuf::internal::WireFormatLite::WriteInt32(61, this->new_channels(), output);
51355   }
51356
51357   // optional int32 new_height = 62 [default = 0];
51358   if (has_new_height()) {
51359     ::google::protobuf::internal::WireFormatLite::WriteInt32(62, this->new_height(), output);
51360   }
51361
51362   // optional int32 new_width = 63 [default = 0];
51363   if (has_new_width()) {
51364     ::google::protobuf::internal::WireFormatLite::WriteInt32(63, this->new_width(), output);
51365   }
51366
51367   // optional bool shuffle_images = 64 [default = false];
51368   if (has_shuffle_images()) {
51369     ::google::protobuf::internal::WireFormatLite::WriteBool(64, this->shuffle_images(), output);
51370   }
51371
51372   // optional uint32 concat_dim = 65 [default = 1];
51373   if (has_concat_dim()) {
51374     ::google::protobuf::internal::WireFormatLite::WriteUInt32(65, this->concat_dim(), output);
51375   }
51376
51377   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
51378   if (has_hdf5_output_param()) {
51379     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
51380       1001, *this->hdf5_output_param_, output);
51381   }
51382
51383   if (_internal_metadata_.have_unknown_fields()) {
51384     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
51385         unknown_fields(), output);
51386   }
51387   // @@protoc_insertion_point(serialize_end:opencv_caffe.V0LayerParameter)
51388 }
51389
51390 ::google::protobuf::uint8* V0LayerParameter::InternalSerializeWithCachedSizesToArray(
51391     bool deterministic, ::google::protobuf::uint8* target) const {
51392   (void)deterministic; // Unused
51393   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.V0LayerParameter)
51394   // optional string name = 1;
51395   if (has_name()) {
51396     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51397       this->name().data(), this->name().length(),
51398       ::google::protobuf::internal::WireFormat::SERIALIZE,
51399       "opencv_caffe.V0LayerParameter.name");
51400     target =
51401       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51402         1, this->name(), target);
51403   }
51404
51405   // optional string type = 2;
51406   if (has_type()) {
51407     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51408       this->type().data(), this->type().length(),
51409       ::google::protobuf::internal::WireFormat::SERIALIZE,
51410       "opencv_caffe.V0LayerParameter.type");
51411     target =
51412       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51413         2, this->type(), target);
51414   }
51415
51416   // optional uint32 num_output = 3;
51417   if (has_num_output()) {
51418     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(3, this->num_output(), target);
51419   }
51420
51421   // optional bool biasterm = 4 [default = true];
51422   if (has_biasterm()) {
51423     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(4, this->biasterm(), target);
51424   }
51425
51426   // optional .opencv_caffe.FillerParameter weight_filler = 5;
51427   if (has_weight_filler()) {
51428     target = ::google::protobuf::internal::WireFormatLite::
51429       InternalWriteMessageNoVirtualToArray(
51430         5, *this->weight_filler_, false, target);
51431   }
51432
51433   // optional .opencv_caffe.FillerParameter bias_filler = 6;
51434   if (has_bias_filler()) {
51435     target = ::google::protobuf::internal::WireFormatLite::
51436       InternalWriteMessageNoVirtualToArray(
51437         6, *this->bias_filler_, false, target);
51438   }
51439
51440   // optional uint32 pad = 7 [default = 0];
51441   if (has_pad()) {
51442     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(7, this->pad(), target);
51443   }
51444
51445   // optional uint32 kernelsize = 8;
51446   if (has_kernelsize()) {
51447     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(8, this->kernelsize(), target);
51448   }
51449
51450   // optional uint32 group = 9 [default = 1];
51451   if (has_group()) {
51452     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(9, this->group(), target);
51453   }
51454
51455   // optional uint32 stride = 10 [default = 1];
51456   if (has_stride()) {
51457     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(10, this->stride(), target);
51458   }
51459
51460   // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
51461   if (has_pool()) {
51462     target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
51463       11, this->pool(), target);
51464   }
51465
51466   // optional float dropout_ratio = 12 [default = 0.5];
51467   if (has_dropout_ratio()) {
51468     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(12, this->dropout_ratio(), target);
51469   }
51470
51471   // optional uint32 local_size = 13 [default = 5];
51472   if (has_local_size()) {
51473     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(13, this->local_size(), target);
51474   }
51475
51476   // optional float alpha = 14 [default = 1];
51477   if (has_alpha()) {
51478     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(14, this->alpha(), target);
51479   }
51480
51481   // optional float beta = 15 [default = 0.75];
51482   if (has_beta()) {
51483     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(15, this->beta(), target);
51484   }
51485
51486   // optional string source = 16;
51487   if (has_source()) {
51488     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51489       this->source().data(), this->source().length(),
51490       ::google::protobuf::internal::WireFormat::SERIALIZE,
51491       "opencv_caffe.V0LayerParameter.source");
51492     target =
51493       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51494         16, this->source(), target);
51495   }
51496
51497   // optional float scale = 17 [default = 1];
51498   if (has_scale()) {
51499     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(17, this->scale(), target);
51500   }
51501
51502   // optional string meanfile = 18;
51503   if (has_meanfile()) {
51504     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51505       this->meanfile().data(), this->meanfile().length(),
51506       ::google::protobuf::internal::WireFormat::SERIALIZE,
51507       "opencv_caffe.V0LayerParameter.meanfile");
51508     target =
51509       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51510         18, this->meanfile(), target);
51511   }
51512
51513   // optional uint32 batchsize = 19;
51514   if (has_batchsize()) {
51515     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(19, this->batchsize(), target);
51516   }
51517
51518   // optional uint32 cropsize = 20 [default = 0];
51519   if (has_cropsize()) {
51520     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(20, this->cropsize(), target);
51521   }
51522
51523   // optional bool mirror = 21 [default = false];
51524   if (has_mirror()) {
51525     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(21, this->mirror(), target);
51526   }
51527
51528   // optional float k = 22 [default = 1];
51529   if (has_k()) {
51530     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(22, this->k(), target);
51531   }
51532
51533   // repeated .opencv_caffe.BlobProto blobs = 50;
51534   for (unsigned int i = 0, n = this->blobs_size(); i < n; i++) {
51535     target = ::google::protobuf::internal::WireFormatLite::
51536       InternalWriteMessageNoVirtualToArray(
51537         50, this->blobs(i), false, target);
51538   }
51539
51540   // repeated float blobs_lr = 51;
51541   for (int i = 0; i < this->blobs_lr_size(); i++) {
51542     target = ::google::protobuf::internal::WireFormatLite::
51543       WriteFloatToArray(51, this->blobs_lr(i), target);
51544   }
51545
51546   // repeated float weight_decay = 52;
51547   for (int i = 0; i < this->weight_decay_size(); i++) {
51548     target = ::google::protobuf::internal::WireFormatLite::
51549       WriteFloatToArray(52, this->weight_decay(i), target);
51550   }
51551
51552   // optional uint32 rand_skip = 53 [default = 0];
51553   if (has_rand_skip()) {
51554     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(53, this->rand_skip(), target);
51555   }
51556
51557   // optional float det_fg_threshold = 54 [default = 0.5];
51558   if (has_det_fg_threshold()) {
51559     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(54, this->det_fg_threshold(), target);
51560   }
51561
51562   // optional float det_bg_threshold = 55 [default = 0.5];
51563   if (has_det_bg_threshold()) {
51564     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(55, this->det_bg_threshold(), target);
51565   }
51566
51567   // optional float det_fg_fraction = 56 [default = 0.25];
51568   if (has_det_fg_fraction()) {
51569     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(56, this->det_fg_fraction(), target);
51570   }
51571
51572   // optional uint32 det_context_pad = 58 [default = 0];
51573   if (has_det_context_pad()) {
51574     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(58, this->det_context_pad(), target);
51575   }
51576
51577   // optional string det_crop_mode = 59 [default = "warp"];
51578   if (has_det_crop_mode()) {
51579     ::google::protobuf::internal::WireFormat::VerifyUTF8StringNamedField(
51580       this->det_crop_mode().data(), this->det_crop_mode().length(),
51581       ::google::protobuf::internal::WireFormat::SERIALIZE,
51582       "opencv_caffe.V0LayerParameter.det_crop_mode");
51583     target =
51584       ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
51585         59, this->det_crop_mode(), target);
51586   }
51587
51588   // optional int32 new_num = 60 [default = 0];
51589   if (has_new_num()) {
51590     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(60, this->new_num(), target);
51591   }
51592
51593   // optional int32 new_channels = 61 [default = 0];
51594   if (has_new_channels()) {
51595     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(61, this->new_channels(), target);
51596   }
51597
51598   // optional int32 new_height = 62 [default = 0];
51599   if (has_new_height()) {
51600     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(62, this->new_height(), target);
51601   }
51602
51603   // optional int32 new_width = 63 [default = 0];
51604   if (has_new_width()) {
51605     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(63, this->new_width(), target);
51606   }
51607
51608   // optional bool shuffle_images = 64 [default = false];
51609   if (has_shuffle_images()) {
51610     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(64, this->shuffle_images(), target);
51611   }
51612
51613   // optional uint32 concat_dim = 65 [default = 1];
51614   if (has_concat_dim()) {
51615     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(65, this->concat_dim(), target);
51616   }
51617
51618   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
51619   if (has_hdf5_output_param()) {
51620     target = ::google::protobuf::internal::WireFormatLite::
51621       InternalWriteMessageNoVirtualToArray(
51622         1001, *this->hdf5_output_param_, false, target);
51623   }
51624
51625   if (_internal_metadata_.have_unknown_fields()) {
51626     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
51627         unknown_fields(), target);
51628   }
51629   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.V0LayerParameter)
51630   return target;
51631 }
51632
51633 size_t V0LayerParameter::ByteSizeLong() const {
51634 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.V0LayerParameter)
51635   size_t total_size = 0;
51636
51637   if (_has_bits_[0 / 32] & 255u) {
51638     // optional string name = 1;
51639     if (has_name()) {
51640       total_size += 1 +
51641         ::google::protobuf::internal::WireFormatLite::StringSize(
51642           this->name());
51643     }
51644
51645     // optional string type = 2;
51646     if (has_type()) {
51647       total_size += 1 +
51648         ::google::protobuf::internal::WireFormatLite::StringSize(
51649           this->type());
51650     }
51651
51652     // optional uint32 num_output = 3;
51653     if (has_num_output()) {
51654       total_size += 1 +
51655         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51656           this->num_output());
51657     }
51658
51659     // optional bool biasterm = 4 [default = true];
51660     if (has_biasterm()) {
51661       total_size += 1 + 1;
51662     }
51663
51664     // optional .opencv_caffe.FillerParameter weight_filler = 5;
51665     if (has_weight_filler()) {
51666       total_size += 1 +
51667         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
51668           *this->weight_filler_);
51669     }
51670
51671     // optional .opencv_caffe.FillerParameter bias_filler = 6;
51672     if (has_bias_filler()) {
51673       total_size += 1 +
51674         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
51675           *this->bias_filler_);
51676     }
51677
51678     // optional uint32 pad = 7 [default = 0];
51679     if (has_pad()) {
51680       total_size += 1 +
51681         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51682           this->pad());
51683     }
51684
51685     // optional uint32 kernelsize = 8;
51686     if (has_kernelsize()) {
51687       total_size += 1 +
51688         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51689           this->kernelsize());
51690     }
51691
51692   }
51693   if (_has_bits_[8 / 32] & 65280u) {
51694     // optional uint32 group = 9 [default = 1];
51695     if (has_group()) {
51696       total_size += 1 +
51697         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51698           this->group());
51699     }
51700
51701     // optional uint32 stride = 10 [default = 1];
51702     if (has_stride()) {
51703       total_size += 1 +
51704         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51705           this->stride());
51706     }
51707
51708     // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
51709     if (has_pool()) {
51710       total_size += 1 +
51711         ::google::protobuf::internal::WireFormatLite::EnumSize(this->pool());
51712     }
51713
51714     // optional float dropout_ratio = 12 [default = 0.5];
51715     if (has_dropout_ratio()) {
51716       total_size += 1 + 4;
51717     }
51718
51719     // optional uint32 local_size = 13 [default = 5];
51720     if (has_local_size()) {
51721       total_size += 1 +
51722         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51723           this->local_size());
51724     }
51725
51726     // optional float alpha = 14 [default = 1];
51727     if (has_alpha()) {
51728       total_size += 1 + 4;
51729     }
51730
51731     // optional float beta = 15 [default = 0.75];
51732     if (has_beta()) {
51733       total_size += 1 + 4;
51734     }
51735
51736     // optional float k = 22 [default = 1];
51737     if (has_k()) {
51738       total_size += 2 + 4;
51739     }
51740
51741   }
51742   if (_has_bits_[16 / 32] & 4128768u) {
51743     // optional string source = 16;
51744     if (has_source()) {
51745       total_size += 2 +
51746         ::google::protobuf::internal::WireFormatLite::StringSize(
51747           this->source());
51748     }
51749
51750     // optional float scale = 17 [default = 1];
51751     if (has_scale()) {
51752       total_size += 2 + 4;
51753     }
51754
51755     // optional string meanfile = 18;
51756     if (has_meanfile()) {
51757       total_size += 2 +
51758         ::google::protobuf::internal::WireFormatLite::StringSize(
51759           this->meanfile());
51760     }
51761
51762     // optional uint32 batchsize = 19;
51763     if (has_batchsize()) {
51764       total_size += 2 +
51765         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51766           this->batchsize());
51767     }
51768
51769     // optional uint32 cropsize = 20 [default = 0];
51770     if (has_cropsize()) {
51771       total_size += 2 +
51772         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51773           this->cropsize());
51774     }
51775
51776     // optional bool mirror = 21 [default = false];
51777     if (has_mirror()) {
51778       total_size += 2 + 1;
51779     }
51780
51781   }
51782   if (_has_bits_[25 / 32] & 4261412864u) {
51783     // optional uint32 rand_skip = 53 [default = 0];
51784     if (has_rand_skip()) {
51785       total_size += 2 +
51786         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51787           this->rand_skip());
51788     }
51789
51790     // optional float det_fg_threshold = 54 [default = 0.5];
51791     if (has_det_fg_threshold()) {
51792       total_size += 2 + 4;
51793     }
51794
51795     // optional float det_bg_threshold = 55 [default = 0.5];
51796     if (has_det_bg_threshold()) {
51797       total_size += 2 + 4;
51798     }
51799
51800     // optional float det_fg_fraction = 56 [default = 0.25];
51801     if (has_det_fg_fraction()) {
51802       total_size += 2 + 4;
51803     }
51804
51805     // optional uint32 det_context_pad = 58 [default = 0];
51806     if (has_det_context_pad()) {
51807       total_size += 2 +
51808         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51809           this->det_context_pad());
51810     }
51811
51812     // optional string det_crop_mode = 59 [default = "warp"];
51813     if (has_det_crop_mode()) {
51814       total_size += 2 +
51815         ::google::protobuf::internal::WireFormatLite::StringSize(
51816           this->det_crop_mode());
51817     }
51818
51819     // optional int32 new_num = 60 [default = 0];
51820     if (has_new_num()) {
51821       total_size += 2 +
51822         ::google::protobuf::internal::WireFormatLite::Int32Size(
51823           this->new_num());
51824     }
51825
51826   }
51827   if (_has_bits_[32 / 32] & 63u) {
51828     // optional int32 new_channels = 61 [default = 0];
51829     if (has_new_channels()) {
51830       total_size += 2 +
51831         ::google::protobuf::internal::WireFormatLite::Int32Size(
51832           this->new_channels());
51833     }
51834
51835     // optional int32 new_height = 62 [default = 0];
51836     if (has_new_height()) {
51837       total_size += 2 +
51838         ::google::protobuf::internal::WireFormatLite::Int32Size(
51839           this->new_height());
51840     }
51841
51842     // optional int32 new_width = 63 [default = 0];
51843     if (has_new_width()) {
51844       total_size += 2 +
51845         ::google::protobuf::internal::WireFormatLite::Int32Size(
51846           this->new_width());
51847     }
51848
51849     // optional bool shuffle_images = 64 [default = false];
51850     if (has_shuffle_images()) {
51851       total_size += 2 + 1;
51852     }
51853
51854     // optional uint32 concat_dim = 65 [default = 1];
51855     if (has_concat_dim()) {
51856       total_size += 2 +
51857         ::google::protobuf::internal::WireFormatLite::UInt32Size(
51858           this->concat_dim());
51859     }
51860
51861     // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
51862     if (has_hdf5_output_param()) {
51863       total_size += 2 +
51864         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
51865           *this->hdf5_output_param_);
51866     }
51867
51868   }
51869   // repeated .opencv_caffe.BlobProto blobs = 50;
51870   {
51871     unsigned int count = this->blobs_size();
51872     total_size += 2UL * count;
51873     for (unsigned int i = 0; i < count; i++) {
51874       total_size +=
51875         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
51876           this->blobs(i));
51877     }
51878   }
51879
51880   // repeated float blobs_lr = 51;
51881   {
51882     size_t data_size = 0;
51883     unsigned int count = this->blobs_lr_size();
51884     data_size = 4UL * count;
51885     total_size += 2 *
51886                   ::google::protobuf::internal::FromIntSize(this->blobs_lr_size());
51887     total_size += data_size;
51888   }
51889
51890   // repeated float weight_decay = 52;
51891   {
51892     size_t data_size = 0;
51893     unsigned int count = this->weight_decay_size();
51894     data_size = 4UL * count;
51895     total_size += 2 *
51896                   ::google::protobuf::internal::FromIntSize(this->weight_decay_size());
51897     total_size += data_size;
51898   }
51899
51900   if (_internal_metadata_.have_unknown_fields()) {
51901     total_size +=
51902       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
51903         unknown_fields());
51904   }
51905   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
51906   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
51907   _cached_size_ = cached_size;
51908   GOOGLE_SAFE_CONCURRENT_WRITES_END();
51909   return total_size;
51910 }
51911
51912 void V0LayerParameter::MergeFrom(const ::google::protobuf::Message& from) {
51913 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.V0LayerParameter)
51914   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
51915   const V0LayerParameter* source =
51916       ::google::protobuf::internal::DynamicCastToGenerated<const V0LayerParameter>(
51917           &from);
51918   if (source == NULL) {
51919   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.V0LayerParameter)
51920     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
51921   } else {
51922   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.V0LayerParameter)
51923     UnsafeMergeFrom(*source);
51924   }
51925 }
51926
51927 void V0LayerParameter::MergeFrom(const V0LayerParameter& from) {
51928 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.V0LayerParameter)
51929   if (GOOGLE_PREDICT_TRUE(&from != this)) {
51930     UnsafeMergeFrom(from);
51931   } else {
51932     MergeFromFail(__LINE__);
51933   }
51934 }
51935
51936 void V0LayerParameter::UnsafeMergeFrom(const V0LayerParameter& from) {
51937   GOOGLE_DCHECK(&from != this);
51938   blobs_.MergeFrom(from.blobs_);
51939   blobs_lr_.UnsafeMergeFrom(from.blobs_lr_);
51940   weight_decay_.UnsafeMergeFrom(from.weight_decay_);
51941   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
51942     if (from.has_name()) {
51943       set_has_name();
51944       name_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.name_);
51945     }
51946     if (from.has_type()) {
51947       set_has_type();
51948       type_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.type_);
51949     }
51950     if (from.has_num_output()) {
51951       set_num_output(from.num_output());
51952     }
51953     if (from.has_biasterm()) {
51954       set_biasterm(from.biasterm());
51955     }
51956     if (from.has_weight_filler()) {
51957       mutable_weight_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.weight_filler());
51958     }
51959     if (from.has_bias_filler()) {
51960       mutable_bias_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.bias_filler());
51961     }
51962     if (from.has_pad()) {
51963       set_pad(from.pad());
51964     }
51965     if (from.has_kernelsize()) {
51966       set_kernelsize(from.kernelsize());
51967     }
51968   }
51969   if (from._has_bits_[8 / 32] & (0xffu << (8 % 32))) {
51970     if (from.has_group()) {
51971       set_group(from.group());
51972     }
51973     if (from.has_stride()) {
51974       set_stride(from.stride());
51975     }
51976     if (from.has_pool()) {
51977       set_pool(from.pool());
51978     }
51979     if (from.has_dropout_ratio()) {
51980       set_dropout_ratio(from.dropout_ratio());
51981     }
51982     if (from.has_local_size()) {
51983       set_local_size(from.local_size());
51984     }
51985     if (from.has_alpha()) {
51986       set_alpha(from.alpha());
51987     }
51988     if (from.has_beta()) {
51989       set_beta(from.beta());
51990     }
51991     if (from.has_k()) {
51992       set_k(from.k());
51993     }
51994   }
51995   if (from._has_bits_[16 / 32] & (0xffu << (16 % 32))) {
51996     if (from.has_source()) {
51997       set_has_source();
51998       source_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.source_);
51999     }
52000     if (from.has_scale()) {
52001       set_scale(from.scale());
52002     }
52003     if (from.has_meanfile()) {
52004       set_has_meanfile();
52005       meanfile_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.meanfile_);
52006     }
52007     if (from.has_batchsize()) {
52008       set_batchsize(from.batchsize());
52009     }
52010     if (from.has_cropsize()) {
52011       set_cropsize(from.cropsize());
52012     }
52013     if (from.has_mirror()) {
52014       set_mirror(from.mirror());
52015     }
52016   }
52017   if (from._has_bits_[25 / 32] & (0xffu << (25 % 32))) {
52018     if (from.has_rand_skip()) {
52019       set_rand_skip(from.rand_skip());
52020     }
52021     if (from.has_det_fg_threshold()) {
52022       set_det_fg_threshold(from.det_fg_threshold());
52023     }
52024     if (from.has_det_bg_threshold()) {
52025       set_det_bg_threshold(from.det_bg_threshold());
52026     }
52027     if (from.has_det_fg_fraction()) {
52028       set_det_fg_fraction(from.det_fg_fraction());
52029     }
52030     if (from.has_det_context_pad()) {
52031       set_det_context_pad(from.det_context_pad());
52032     }
52033     if (from.has_det_crop_mode()) {
52034       set_has_det_crop_mode();
52035       det_crop_mode_.AssignWithDefault(_default_det_crop_mode_, from.det_crop_mode_);
52036     }
52037     if (from.has_new_num()) {
52038       set_new_num(from.new_num());
52039     }
52040   }
52041   if (from._has_bits_[32 / 32] & (0xffu << (32 % 32))) {
52042     if (from.has_new_channels()) {
52043       set_new_channels(from.new_channels());
52044     }
52045     if (from.has_new_height()) {
52046       set_new_height(from.new_height());
52047     }
52048     if (from.has_new_width()) {
52049       set_new_width(from.new_width());
52050     }
52051     if (from.has_shuffle_images()) {
52052       set_shuffle_images(from.shuffle_images());
52053     }
52054     if (from.has_concat_dim()) {
52055       set_concat_dim(from.concat_dim());
52056     }
52057     if (from.has_hdf5_output_param()) {
52058       mutable_hdf5_output_param()->::opencv_caffe::HDF5OutputParameter::MergeFrom(from.hdf5_output_param());
52059     }
52060   }
52061   if (from._internal_metadata_.have_unknown_fields()) {
52062     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
52063       from.unknown_fields(), &_internal_metadata_);
52064   }
52065 }
52066
52067 void V0LayerParameter::CopyFrom(const ::google::protobuf::Message& from) {
52068 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.V0LayerParameter)
52069   if (&from == this) return;
52070   Clear();
52071   MergeFrom(from);
52072 }
52073
52074 void V0LayerParameter::CopyFrom(const V0LayerParameter& from) {
52075 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.V0LayerParameter)
52076   if (&from == this) return;
52077   Clear();
52078   UnsafeMergeFrom(from);
52079 }
52080
52081 bool V0LayerParameter::IsInitialized() const {
52082
52083   return true;
52084 }
52085
52086 void V0LayerParameter::Swap(V0LayerParameter* other) {
52087   if (other == this) return;
52088   InternalSwap(other);
52089 }
52090 void V0LayerParameter::InternalSwap(V0LayerParameter* other) {
52091   name_.Swap(&other->name_);
52092   type_.Swap(&other->type_);
52093   std::swap(num_output_, other->num_output_);
52094   std::swap(biasterm_, other->biasterm_);
52095   std::swap(weight_filler_, other->weight_filler_);
52096   std::swap(bias_filler_, other->bias_filler_);
52097   std::swap(pad_, other->pad_);
52098   std::swap(kernelsize_, other->kernelsize_);
52099   std::swap(group_, other->group_);
52100   std::swap(stride_, other->stride_);
52101   std::swap(pool_, other->pool_);
52102   std::swap(dropout_ratio_, other->dropout_ratio_);
52103   std::swap(local_size_, other->local_size_);
52104   std::swap(alpha_, other->alpha_);
52105   std::swap(beta_, other->beta_);
52106   std::swap(k_, other->k_);
52107   source_.Swap(&other->source_);
52108   std::swap(scale_, other->scale_);
52109   meanfile_.Swap(&other->meanfile_);
52110   std::swap(batchsize_, other->batchsize_);
52111   std::swap(cropsize_, other->cropsize_);
52112   std::swap(mirror_, other->mirror_);
52113   blobs_.UnsafeArenaSwap(&other->blobs_);
52114   blobs_lr_.UnsafeArenaSwap(&other->blobs_lr_);
52115   weight_decay_.UnsafeArenaSwap(&other->weight_decay_);
52116   std::swap(rand_skip_, other->rand_skip_);
52117   std::swap(det_fg_threshold_, other->det_fg_threshold_);
52118   std::swap(det_bg_threshold_, other->det_bg_threshold_);
52119   std::swap(det_fg_fraction_, other->det_fg_fraction_);
52120   std::swap(det_context_pad_, other->det_context_pad_);
52121   det_crop_mode_.Swap(&other->det_crop_mode_);
52122   std::swap(new_num_, other->new_num_);
52123   std::swap(new_channels_, other->new_channels_);
52124   std::swap(new_height_, other->new_height_);
52125   std::swap(new_width_, other->new_width_);
52126   std::swap(shuffle_images_, other->shuffle_images_);
52127   std::swap(concat_dim_, other->concat_dim_);
52128   std::swap(hdf5_output_param_, other->hdf5_output_param_);
52129   std::swap(_has_bits_[0], other->_has_bits_[0]);
52130   std::swap(_has_bits_[1], other->_has_bits_[1]);
52131   _internal_metadata_.Swap(&other->_internal_metadata_);
52132   std::swap(_cached_size_, other->_cached_size_);
52133 }
52134
52135 ::google::protobuf::Metadata V0LayerParameter::GetMetadata() const {
52136   protobuf_AssignDescriptorsOnce();
52137   ::google::protobuf::Metadata metadata;
52138   metadata.descriptor = V0LayerParameter_descriptor_;
52139   metadata.reflection = V0LayerParameter_reflection_;
52140   return metadata;
52141 }
52142
52143 #if PROTOBUF_INLINE_NOT_IN_HEADERS
52144 // V0LayerParameter
52145
52146 // optional string name = 1;
52147 bool V0LayerParameter::has_name() const {
52148   return (_has_bits_[0] & 0x00000001u) != 0;
52149 }
52150 void V0LayerParameter::set_has_name() {
52151   _has_bits_[0] |= 0x00000001u;
52152 }
52153 void V0LayerParameter::clear_has_name() {
52154   _has_bits_[0] &= ~0x00000001u;
52155 }
52156 void V0LayerParameter::clear_name() {
52157   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52158   clear_has_name();
52159 }
52160 const ::std::string& V0LayerParameter::name() const {
52161   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.name)
52162   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52163 }
52164 void V0LayerParameter::set_name(const ::std::string& value) {
52165   set_has_name();
52166   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52167   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.name)
52168 }
52169 void V0LayerParameter::set_name(const char* value) {
52170   set_has_name();
52171   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52172   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.name)
52173 }
52174 void V0LayerParameter::set_name(const char* value, size_t size) {
52175   set_has_name();
52176   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52177       ::std::string(reinterpret_cast<const char*>(value), size));
52178   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.name)
52179 }
52180 ::std::string* V0LayerParameter::mutable_name() {
52181   set_has_name();
52182   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.name)
52183   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52184 }
52185 ::std::string* V0LayerParameter::release_name() {
52186   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.name)
52187   clear_has_name();
52188   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52189 }
52190 void V0LayerParameter::set_allocated_name(::std::string* name) {
52191   if (name != NULL) {
52192     set_has_name();
52193   } else {
52194     clear_has_name();
52195   }
52196   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
52197   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.name)
52198 }
52199
52200 // optional string type = 2;
52201 bool V0LayerParameter::has_type() const {
52202   return (_has_bits_[0] & 0x00000002u) != 0;
52203 }
52204 void V0LayerParameter::set_has_type() {
52205   _has_bits_[0] |= 0x00000002u;
52206 }
52207 void V0LayerParameter::clear_has_type() {
52208   _has_bits_[0] &= ~0x00000002u;
52209 }
52210 void V0LayerParameter::clear_type() {
52211   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52212   clear_has_type();
52213 }
52214 const ::std::string& V0LayerParameter::type() const {
52215   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.type)
52216   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52217 }
52218 void V0LayerParameter::set_type(const ::std::string& value) {
52219   set_has_type();
52220   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52221   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.type)
52222 }
52223 void V0LayerParameter::set_type(const char* value) {
52224   set_has_type();
52225   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52226   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.type)
52227 }
52228 void V0LayerParameter::set_type(const char* value, size_t size) {
52229   set_has_type();
52230   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52231       ::std::string(reinterpret_cast<const char*>(value), size));
52232   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.type)
52233 }
52234 ::std::string* V0LayerParameter::mutable_type() {
52235   set_has_type();
52236   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.type)
52237   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52238 }
52239 ::std::string* V0LayerParameter::release_type() {
52240   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.type)
52241   clear_has_type();
52242   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52243 }
52244 void V0LayerParameter::set_allocated_type(::std::string* type) {
52245   if (type != NULL) {
52246     set_has_type();
52247   } else {
52248     clear_has_type();
52249   }
52250   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
52251   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.type)
52252 }
52253
52254 // optional uint32 num_output = 3;
52255 bool V0LayerParameter::has_num_output() const {
52256   return (_has_bits_[0] & 0x00000004u) != 0;
52257 }
52258 void V0LayerParameter::set_has_num_output() {
52259   _has_bits_[0] |= 0x00000004u;
52260 }
52261 void V0LayerParameter::clear_has_num_output() {
52262   _has_bits_[0] &= ~0x00000004u;
52263 }
52264 void V0LayerParameter::clear_num_output() {
52265   num_output_ = 0u;
52266   clear_has_num_output();
52267 }
52268 ::google::protobuf::uint32 V0LayerParameter::num_output() const {
52269   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.num_output)
52270   return num_output_;
52271 }
52272 void V0LayerParameter::set_num_output(::google::protobuf::uint32 value) {
52273   set_has_num_output();
52274   num_output_ = value;
52275   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.num_output)
52276 }
52277
52278 // optional bool biasterm = 4 [default = true];
52279 bool V0LayerParameter::has_biasterm() const {
52280   return (_has_bits_[0] & 0x00000008u) != 0;
52281 }
52282 void V0LayerParameter::set_has_biasterm() {
52283   _has_bits_[0] |= 0x00000008u;
52284 }
52285 void V0LayerParameter::clear_has_biasterm() {
52286   _has_bits_[0] &= ~0x00000008u;
52287 }
52288 void V0LayerParameter::clear_biasterm() {
52289   biasterm_ = true;
52290   clear_has_biasterm();
52291 }
52292 bool V0LayerParameter::biasterm() const {
52293   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.biasterm)
52294   return biasterm_;
52295 }
52296 void V0LayerParameter::set_biasterm(bool value) {
52297   set_has_biasterm();
52298   biasterm_ = value;
52299   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.biasterm)
52300 }
52301
52302 // optional .opencv_caffe.FillerParameter weight_filler = 5;
52303 bool V0LayerParameter::has_weight_filler() const {
52304   return (_has_bits_[0] & 0x00000010u) != 0;
52305 }
52306 void V0LayerParameter::set_has_weight_filler() {
52307   _has_bits_[0] |= 0x00000010u;
52308 }
52309 void V0LayerParameter::clear_has_weight_filler() {
52310   _has_bits_[0] &= ~0x00000010u;
52311 }
52312 void V0LayerParameter::clear_weight_filler() {
52313   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
52314   clear_has_weight_filler();
52315 }
52316 const ::opencv_caffe::FillerParameter& V0LayerParameter::weight_filler() const {
52317   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_filler)
52318   return weight_filler_ != NULL ? *weight_filler_
52319                          : *::opencv_caffe::FillerParameter::internal_default_instance();
52320 }
52321 ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_weight_filler() {
52322   set_has_weight_filler();
52323   if (weight_filler_ == NULL) {
52324     weight_filler_ = new ::opencv_caffe::FillerParameter;
52325   }
52326   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.weight_filler)
52327   return weight_filler_;
52328 }
52329 ::opencv_caffe::FillerParameter* V0LayerParameter::release_weight_filler() {
52330   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.weight_filler)
52331   clear_has_weight_filler();
52332   ::opencv_caffe::FillerParameter* temp = weight_filler_;
52333   weight_filler_ = NULL;
52334   return temp;
52335 }
52336 void V0LayerParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
52337   delete weight_filler_;
52338   weight_filler_ = weight_filler;
52339   if (weight_filler) {
52340     set_has_weight_filler();
52341   } else {
52342     clear_has_weight_filler();
52343   }
52344   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.weight_filler)
52345 }
52346
52347 // optional .opencv_caffe.FillerParameter bias_filler = 6;
52348 bool V0LayerParameter::has_bias_filler() const {
52349   return (_has_bits_[0] & 0x00000020u) != 0;
52350 }
52351 void V0LayerParameter::set_has_bias_filler() {
52352   _has_bits_[0] |= 0x00000020u;
52353 }
52354 void V0LayerParameter::clear_has_bias_filler() {
52355   _has_bits_[0] &= ~0x00000020u;
52356 }
52357 void V0LayerParameter::clear_bias_filler() {
52358   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
52359   clear_has_bias_filler();
52360 }
52361 const ::opencv_caffe::FillerParameter& V0LayerParameter::bias_filler() const {
52362   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.bias_filler)
52363   return bias_filler_ != NULL ? *bias_filler_
52364                          : *::opencv_caffe::FillerParameter::internal_default_instance();
52365 }
52366 ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_bias_filler() {
52367   set_has_bias_filler();
52368   if (bias_filler_ == NULL) {
52369     bias_filler_ = new ::opencv_caffe::FillerParameter;
52370   }
52371   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.bias_filler)
52372   return bias_filler_;
52373 }
52374 ::opencv_caffe::FillerParameter* V0LayerParameter::release_bias_filler() {
52375   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.bias_filler)
52376   clear_has_bias_filler();
52377   ::opencv_caffe::FillerParameter* temp = bias_filler_;
52378   bias_filler_ = NULL;
52379   return temp;
52380 }
52381 void V0LayerParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
52382   delete bias_filler_;
52383   bias_filler_ = bias_filler;
52384   if (bias_filler) {
52385     set_has_bias_filler();
52386   } else {
52387     clear_has_bias_filler();
52388   }
52389   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.bias_filler)
52390 }
52391
52392 // optional uint32 pad = 7 [default = 0];
52393 bool V0LayerParameter::has_pad() const {
52394   return (_has_bits_[0] & 0x00000040u) != 0;
52395 }
52396 void V0LayerParameter::set_has_pad() {
52397   _has_bits_[0] |= 0x00000040u;
52398 }
52399 void V0LayerParameter::clear_has_pad() {
52400   _has_bits_[0] &= ~0x00000040u;
52401 }
52402 void V0LayerParameter::clear_pad() {
52403   pad_ = 0u;
52404   clear_has_pad();
52405 }
52406 ::google::protobuf::uint32 V0LayerParameter::pad() const {
52407   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pad)
52408   return pad_;
52409 }
52410 void V0LayerParameter::set_pad(::google::protobuf::uint32 value) {
52411   set_has_pad();
52412   pad_ = value;
52413   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pad)
52414 }
52415
52416 // optional uint32 kernelsize = 8;
52417 bool V0LayerParameter::has_kernelsize() const {
52418   return (_has_bits_[0] & 0x00000080u) != 0;
52419 }
52420 void V0LayerParameter::set_has_kernelsize() {
52421   _has_bits_[0] |= 0x00000080u;
52422 }
52423 void V0LayerParameter::clear_has_kernelsize() {
52424   _has_bits_[0] &= ~0x00000080u;
52425 }
52426 void V0LayerParameter::clear_kernelsize() {
52427   kernelsize_ = 0u;
52428   clear_has_kernelsize();
52429 }
52430 ::google::protobuf::uint32 V0LayerParameter::kernelsize() const {
52431   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.kernelsize)
52432   return kernelsize_;
52433 }
52434 void V0LayerParameter::set_kernelsize(::google::protobuf::uint32 value) {
52435   set_has_kernelsize();
52436   kernelsize_ = value;
52437   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.kernelsize)
52438 }
52439
52440 // optional uint32 group = 9 [default = 1];
52441 bool V0LayerParameter::has_group() const {
52442   return (_has_bits_[0] & 0x00000100u) != 0;
52443 }
52444 void V0LayerParameter::set_has_group() {
52445   _has_bits_[0] |= 0x00000100u;
52446 }
52447 void V0LayerParameter::clear_has_group() {
52448   _has_bits_[0] &= ~0x00000100u;
52449 }
52450 void V0LayerParameter::clear_group() {
52451   group_ = 1u;
52452   clear_has_group();
52453 }
52454 ::google::protobuf::uint32 V0LayerParameter::group() const {
52455   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.group)
52456   return group_;
52457 }
52458 void V0LayerParameter::set_group(::google::protobuf::uint32 value) {
52459   set_has_group();
52460   group_ = value;
52461   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.group)
52462 }
52463
52464 // optional uint32 stride = 10 [default = 1];
52465 bool V0LayerParameter::has_stride() const {
52466   return (_has_bits_[0] & 0x00000200u) != 0;
52467 }
52468 void V0LayerParameter::set_has_stride() {
52469   _has_bits_[0] |= 0x00000200u;
52470 }
52471 void V0LayerParameter::clear_has_stride() {
52472   _has_bits_[0] &= ~0x00000200u;
52473 }
52474 void V0LayerParameter::clear_stride() {
52475   stride_ = 1u;
52476   clear_has_stride();
52477 }
52478 ::google::protobuf::uint32 V0LayerParameter::stride() const {
52479   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.stride)
52480   return stride_;
52481 }
52482 void V0LayerParameter::set_stride(::google::protobuf::uint32 value) {
52483   set_has_stride();
52484   stride_ = value;
52485   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.stride)
52486 }
52487
52488 // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
52489 bool V0LayerParameter::has_pool() const {
52490   return (_has_bits_[0] & 0x00000400u) != 0;
52491 }
52492 void V0LayerParameter::set_has_pool() {
52493   _has_bits_[0] |= 0x00000400u;
52494 }
52495 void V0LayerParameter::clear_has_pool() {
52496   _has_bits_[0] &= ~0x00000400u;
52497 }
52498 void V0LayerParameter::clear_pool() {
52499   pool_ = 0;
52500   clear_has_pool();
52501 }
52502 ::opencv_caffe::V0LayerParameter_PoolMethod V0LayerParameter::pool() const {
52503   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pool)
52504   return static_cast< ::opencv_caffe::V0LayerParameter_PoolMethod >(pool_);
52505 }
52506 void V0LayerParameter::set_pool(::opencv_caffe::V0LayerParameter_PoolMethod value) {
52507   assert(::opencv_caffe::V0LayerParameter_PoolMethod_IsValid(value));
52508   set_has_pool();
52509   pool_ = value;
52510   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pool)
52511 }
52512
52513 // optional float dropout_ratio = 12 [default = 0.5];
52514 bool V0LayerParameter::has_dropout_ratio() const {
52515   return (_has_bits_[0] & 0x00000800u) != 0;
52516 }
52517 void V0LayerParameter::set_has_dropout_ratio() {
52518   _has_bits_[0] |= 0x00000800u;
52519 }
52520 void V0LayerParameter::clear_has_dropout_ratio() {
52521   _has_bits_[0] &= ~0x00000800u;
52522 }
52523 void V0LayerParameter::clear_dropout_ratio() {
52524   dropout_ratio_ = 0.5f;
52525   clear_has_dropout_ratio();
52526 }
52527 float V0LayerParameter::dropout_ratio() const {
52528   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.dropout_ratio)
52529   return dropout_ratio_;
52530 }
52531 void V0LayerParameter::set_dropout_ratio(float value) {
52532   set_has_dropout_ratio();
52533   dropout_ratio_ = value;
52534   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.dropout_ratio)
52535 }
52536
52537 // optional uint32 local_size = 13 [default = 5];
52538 bool V0LayerParameter::has_local_size() const {
52539   return (_has_bits_[0] & 0x00001000u) != 0;
52540 }
52541 void V0LayerParameter::set_has_local_size() {
52542   _has_bits_[0] |= 0x00001000u;
52543 }
52544 void V0LayerParameter::clear_has_local_size() {
52545   _has_bits_[0] &= ~0x00001000u;
52546 }
52547 void V0LayerParameter::clear_local_size() {
52548   local_size_ = 5u;
52549   clear_has_local_size();
52550 }
52551 ::google::protobuf::uint32 V0LayerParameter::local_size() const {
52552   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.local_size)
52553   return local_size_;
52554 }
52555 void V0LayerParameter::set_local_size(::google::protobuf::uint32 value) {
52556   set_has_local_size();
52557   local_size_ = value;
52558   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.local_size)
52559 }
52560
52561 // optional float alpha = 14 [default = 1];
52562 bool V0LayerParameter::has_alpha() const {
52563   return (_has_bits_[0] & 0x00002000u) != 0;
52564 }
52565 void V0LayerParameter::set_has_alpha() {
52566   _has_bits_[0] |= 0x00002000u;
52567 }
52568 void V0LayerParameter::clear_has_alpha() {
52569   _has_bits_[0] &= ~0x00002000u;
52570 }
52571 void V0LayerParameter::clear_alpha() {
52572   alpha_ = 1;
52573   clear_has_alpha();
52574 }
52575 float V0LayerParameter::alpha() const {
52576   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.alpha)
52577   return alpha_;
52578 }
52579 void V0LayerParameter::set_alpha(float value) {
52580   set_has_alpha();
52581   alpha_ = value;
52582   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.alpha)
52583 }
52584
52585 // optional float beta = 15 [default = 0.75];
52586 bool V0LayerParameter::has_beta() const {
52587   return (_has_bits_[0] & 0x00004000u) != 0;
52588 }
52589 void V0LayerParameter::set_has_beta() {
52590   _has_bits_[0] |= 0x00004000u;
52591 }
52592 void V0LayerParameter::clear_has_beta() {
52593   _has_bits_[0] &= ~0x00004000u;
52594 }
52595 void V0LayerParameter::clear_beta() {
52596   beta_ = 0.75f;
52597   clear_has_beta();
52598 }
52599 float V0LayerParameter::beta() const {
52600   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.beta)
52601   return beta_;
52602 }
52603 void V0LayerParameter::set_beta(float value) {
52604   set_has_beta();
52605   beta_ = value;
52606   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.beta)
52607 }
52608
52609 // optional float k = 22 [default = 1];
52610 bool V0LayerParameter::has_k() const {
52611   return (_has_bits_[0] & 0x00008000u) != 0;
52612 }
52613 void V0LayerParameter::set_has_k() {
52614   _has_bits_[0] |= 0x00008000u;
52615 }
52616 void V0LayerParameter::clear_has_k() {
52617   _has_bits_[0] &= ~0x00008000u;
52618 }
52619 void V0LayerParameter::clear_k() {
52620   k_ = 1;
52621   clear_has_k();
52622 }
52623 float V0LayerParameter::k() const {
52624   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.k)
52625   return k_;
52626 }
52627 void V0LayerParameter::set_k(float value) {
52628   set_has_k();
52629   k_ = value;
52630   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.k)
52631 }
52632
52633 // optional string source = 16;
52634 bool V0LayerParameter::has_source() const {
52635   return (_has_bits_[0] & 0x00010000u) != 0;
52636 }
52637 void V0LayerParameter::set_has_source() {
52638   _has_bits_[0] |= 0x00010000u;
52639 }
52640 void V0LayerParameter::clear_has_source() {
52641   _has_bits_[0] &= ~0x00010000u;
52642 }
52643 void V0LayerParameter::clear_source() {
52644   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52645   clear_has_source();
52646 }
52647 const ::std::string& V0LayerParameter::source() const {
52648   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.source)
52649   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52650 }
52651 void V0LayerParameter::set_source(const ::std::string& value) {
52652   set_has_source();
52653   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52654   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.source)
52655 }
52656 void V0LayerParameter::set_source(const char* value) {
52657   set_has_source();
52658   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52659   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.source)
52660 }
52661 void V0LayerParameter::set_source(const char* value, size_t size) {
52662   set_has_source();
52663   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52664       ::std::string(reinterpret_cast<const char*>(value), size));
52665   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.source)
52666 }
52667 ::std::string* V0LayerParameter::mutable_source() {
52668   set_has_source();
52669   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.source)
52670   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52671 }
52672 ::std::string* V0LayerParameter::release_source() {
52673   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.source)
52674   clear_has_source();
52675   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52676 }
52677 void V0LayerParameter::set_allocated_source(::std::string* source) {
52678   if (source != NULL) {
52679     set_has_source();
52680   } else {
52681     clear_has_source();
52682   }
52683   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
52684   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.source)
52685 }
52686
52687 // optional float scale = 17 [default = 1];
52688 bool V0LayerParameter::has_scale() const {
52689   return (_has_bits_[0] & 0x00020000u) != 0;
52690 }
52691 void V0LayerParameter::set_has_scale() {
52692   _has_bits_[0] |= 0x00020000u;
52693 }
52694 void V0LayerParameter::clear_has_scale() {
52695   _has_bits_[0] &= ~0x00020000u;
52696 }
52697 void V0LayerParameter::clear_scale() {
52698   scale_ = 1;
52699   clear_has_scale();
52700 }
52701 float V0LayerParameter::scale() const {
52702   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.scale)
52703   return scale_;
52704 }
52705 void V0LayerParameter::set_scale(float value) {
52706   set_has_scale();
52707   scale_ = value;
52708   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.scale)
52709 }
52710
52711 // optional string meanfile = 18;
52712 bool V0LayerParameter::has_meanfile() const {
52713   return (_has_bits_[0] & 0x00040000u) != 0;
52714 }
52715 void V0LayerParameter::set_has_meanfile() {
52716   _has_bits_[0] |= 0x00040000u;
52717 }
52718 void V0LayerParameter::clear_has_meanfile() {
52719   _has_bits_[0] &= ~0x00040000u;
52720 }
52721 void V0LayerParameter::clear_meanfile() {
52722   meanfile_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52723   clear_has_meanfile();
52724 }
52725 const ::std::string& V0LayerParameter::meanfile() const {
52726   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.meanfile)
52727   return meanfile_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52728 }
52729 void V0LayerParameter::set_meanfile(const ::std::string& value) {
52730   set_has_meanfile();
52731   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
52732   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.meanfile)
52733 }
52734 void V0LayerParameter::set_meanfile(const char* value) {
52735   set_has_meanfile();
52736   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
52737   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.meanfile)
52738 }
52739 void V0LayerParameter::set_meanfile(const char* value, size_t size) {
52740   set_has_meanfile();
52741   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
52742       ::std::string(reinterpret_cast<const char*>(value), size));
52743   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.meanfile)
52744 }
52745 ::std::string* V0LayerParameter::mutable_meanfile() {
52746   set_has_meanfile();
52747   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.meanfile)
52748   return meanfile_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52749 }
52750 ::std::string* V0LayerParameter::release_meanfile() {
52751   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.meanfile)
52752   clear_has_meanfile();
52753   return meanfile_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
52754 }
52755 void V0LayerParameter::set_allocated_meanfile(::std::string* meanfile) {
52756   if (meanfile != NULL) {
52757     set_has_meanfile();
52758   } else {
52759     clear_has_meanfile();
52760   }
52761   meanfile_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), meanfile);
52762   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.meanfile)
52763 }
52764
52765 // optional uint32 batchsize = 19;
52766 bool V0LayerParameter::has_batchsize() const {
52767   return (_has_bits_[0] & 0x00080000u) != 0;
52768 }
52769 void V0LayerParameter::set_has_batchsize() {
52770   _has_bits_[0] |= 0x00080000u;
52771 }
52772 void V0LayerParameter::clear_has_batchsize() {
52773   _has_bits_[0] &= ~0x00080000u;
52774 }
52775 void V0LayerParameter::clear_batchsize() {
52776   batchsize_ = 0u;
52777   clear_has_batchsize();
52778 }
52779 ::google::protobuf::uint32 V0LayerParameter::batchsize() const {
52780   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.batchsize)
52781   return batchsize_;
52782 }
52783 void V0LayerParameter::set_batchsize(::google::protobuf::uint32 value) {
52784   set_has_batchsize();
52785   batchsize_ = value;
52786   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.batchsize)
52787 }
52788
52789 // optional uint32 cropsize = 20 [default = 0];
52790 bool V0LayerParameter::has_cropsize() const {
52791   return (_has_bits_[0] & 0x00100000u) != 0;
52792 }
52793 void V0LayerParameter::set_has_cropsize() {
52794   _has_bits_[0] |= 0x00100000u;
52795 }
52796 void V0LayerParameter::clear_has_cropsize() {
52797   _has_bits_[0] &= ~0x00100000u;
52798 }
52799 void V0LayerParameter::clear_cropsize() {
52800   cropsize_ = 0u;
52801   clear_has_cropsize();
52802 }
52803 ::google::protobuf::uint32 V0LayerParameter::cropsize() const {
52804   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.cropsize)
52805   return cropsize_;
52806 }
52807 void V0LayerParameter::set_cropsize(::google::protobuf::uint32 value) {
52808   set_has_cropsize();
52809   cropsize_ = value;
52810   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.cropsize)
52811 }
52812
52813 // optional bool mirror = 21 [default = false];
52814 bool V0LayerParameter::has_mirror() const {
52815   return (_has_bits_[0] & 0x00200000u) != 0;
52816 }
52817 void V0LayerParameter::set_has_mirror() {
52818   _has_bits_[0] |= 0x00200000u;
52819 }
52820 void V0LayerParameter::clear_has_mirror() {
52821   _has_bits_[0] &= ~0x00200000u;
52822 }
52823 void V0LayerParameter::clear_mirror() {
52824   mirror_ = false;
52825   clear_has_mirror();
52826 }
52827 bool V0LayerParameter::mirror() const {
52828   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.mirror)
52829   return mirror_;
52830 }
52831 void V0LayerParameter::set_mirror(bool value) {
52832   set_has_mirror();
52833   mirror_ = value;
52834   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.mirror)
52835 }
52836
52837 // repeated .opencv_caffe.BlobProto blobs = 50;
52838 int V0LayerParameter::blobs_size() const {
52839   return blobs_.size();
52840 }
52841 void V0LayerParameter::clear_blobs() {
52842   blobs_.Clear();
52843 }
52844 const ::opencv_caffe::BlobProto& V0LayerParameter::blobs(int index) const {
52845   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs)
52846   return blobs_.Get(index);
52847 }
52848 ::opencv_caffe::BlobProto* V0LayerParameter::mutable_blobs(int index) {
52849   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.blobs)
52850   return blobs_.Mutable(index);
52851 }
52852 ::opencv_caffe::BlobProto* V0LayerParameter::add_blobs() {
52853   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs)
52854   return blobs_.Add();
52855 }
52856 ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
52857 V0LayerParameter::mutable_blobs() {
52858   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs)
52859   return &blobs_;
52860 }
52861 const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
52862 V0LayerParameter::blobs() const {
52863   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs)
52864   return blobs_;
52865 }
52866
52867 // repeated float blobs_lr = 51;
52868 int V0LayerParameter::blobs_lr_size() const {
52869   return blobs_lr_.size();
52870 }
52871 void V0LayerParameter::clear_blobs_lr() {
52872   blobs_lr_.Clear();
52873 }
52874 float V0LayerParameter::blobs_lr(int index) const {
52875   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs_lr)
52876   return blobs_lr_.Get(index);
52877 }
52878 void V0LayerParameter::set_blobs_lr(int index, float value) {
52879   blobs_lr_.Set(index, value);
52880   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.blobs_lr)
52881 }
52882 void V0LayerParameter::add_blobs_lr(float value) {
52883   blobs_lr_.Add(value);
52884   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs_lr)
52885 }
52886 const ::google::protobuf::RepeatedField< float >&
52887 V0LayerParameter::blobs_lr() const {
52888   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs_lr)
52889   return blobs_lr_;
52890 }
52891 ::google::protobuf::RepeatedField< float >*
52892 V0LayerParameter::mutable_blobs_lr() {
52893   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs_lr)
52894   return &blobs_lr_;
52895 }
52896
52897 // repeated float weight_decay = 52;
52898 int V0LayerParameter::weight_decay_size() const {
52899   return weight_decay_.size();
52900 }
52901 void V0LayerParameter::clear_weight_decay() {
52902   weight_decay_.Clear();
52903 }
52904 float V0LayerParameter::weight_decay(int index) const {
52905   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_decay)
52906   return weight_decay_.Get(index);
52907 }
52908 void V0LayerParameter::set_weight_decay(int index, float value) {
52909   weight_decay_.Set(index, value);
52910   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.weight_decay)
52911 }
52912 void V0LayerParameter::add_weight_decay(float value) {
52913   weight_decay_.Add(value);
52914   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.weight_decay)
52915 }
52916 const ::google::protobuf::RepeatedField< float >&
52917 V0LayerParameter::weight_decay() const {
52918   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.weight_decay)
52919   return weight_decay_;
52920 }
52921 ::google::protobuf::RepeatedField< float >*
52922 V0LayerParameter::mutable_weight_decay() {
52923   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.weight_decay)
52924   return &weight_decay_;
52925 }
52926
52927 // optional uint32 rand_skip = 53 [default = 0];
52928 bool V0LayerParameter::has_rand_skip() const {
52929   return (_has_bits_[0] & 0x02000000u) != 0;
52930 }
52931 void V0LayerParameter::set_has_rand_skip() {
52932   _has_bits_[0] |= 0x02000000u;
52933 }
52934 void V0LayerParameter::clear_has_rand_skip() {
52935   _has_bits_[0] &= ~0x02000000u;
52936 }
52937 void V0LayerParameter::clear_rand_skip() {
52938   rand_skip_ = 0u;
52939   clear_has_rand_skip();
52940 }
52941 ::google::protobuf::uint32 V0LayerParameter::rand_skip() const {
52942   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.rand_skip)
52943   return rand_skip_;
52944 }
52945 void V0LayerParameter::set_rand_skip(::google::protobuf::uint32 value) {
52946   set_has_rand_skip();
52947   rand_skip_ = value;
52948   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.rand_skip)
52949 }
52950
52951 // optional float det_fg_threshold = 54 [default = 0.5];
52952 bool V0LayerParameter::has_det_fg_threshold() const {
52953   return (_has_bits_[0] & 0x04000000u) != 0;
52954 }
52955 void V0LayerParameter::set_has_det_fg_threshold() {
52956   _has_bits_[0] |= 0x04000000u;
52957 }
52958 void V0LayerParameter::clear_has_det_fg_threshold() {
52959   _has_bits_[0] &= ~0x04000000u;
52960 }
52961 void V0LayerParameter::clear_det_fg_threshold() {
52962   det_fg_threshold_ = 0.5f;
52963   clear_has_det_fg_threshold();
52964 }
52965 float V0LayerParameter::det_fg_threshold() const {
52966   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_threshold)
52967   return det_fg_threshold_;
52968 }
52969 void V0LayerParameter::set_det_fg_threshold(float value) {
52970   set_has_det_fg_threshold();
52971   det_fg_threshold_ = value;
52972   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_threshold)
52973 }
52974
52975 // optional float det_bg_threshold = 55 [default = 0.5];
52976 bool V0LayerParameter::has_det_bg_threshold() const {
52977   return (_has_bits_[0] & 0x08000000u) != 0;
52978 }
52979 void V0LayerParameter::set_has_det_bg_threshold() {
52980   _has_bits_[0] |= 0x08000000u;
52981 }
52982 void V0LayerParameter::clear_has_det_bg_threshold() {
52983   _has_bits_[0] &= ~0x08000000u;
52984 }
52985 void V0LayerParameter::clear_det_bg_threshold() {
52986   det_bg_threshold_ = 0.5f;
52987   clear_has_det_bg_threshold();
52988 }
52989 float V0LayerParameter::det_bg_threshold() const {
52990   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_bg_threshold)
52991   return det_bg_threshold_;
52992 }
52993 void V0LayerParameter::set_det_bg_threshold(float value) {
52994   set_has_det_bg_threshold();
52995   det_bg_threshold_ = value;
52996   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_bg_threshold)
52997 }
52998
52999 // optional float det_fg_fraction = 56 [default = 0.25];
53000 bool V0LayerParameter::has_det_fg_fraction() const {
53001   return (_has_bits_[0] & 0x10000000u) != 0;
53002 }
53003 void V0LayerParameter::set_has_det_fg_fraction() {
53004   _has_bits_[0] |= 0x10000000u;
53005 }
53006 void V0LayerParameter::clear_has_det_fg_fraction() {
53007   _has_bits_[0] &= ~0x10000000u;
53008 }
53009 void V0LayerParameter::clear_det_fg_fraction() {
53010   det_fg_fraction_ = 0.25f;
53011   clear_has_det_fg_fraction();
53012 }
53013 float V0LayerParameter::det_fg_fraction() const {
53014   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_fraction)
53015   return det_fg_fraction_;
53016 }
53017 void V0LayerParameter::set_det_fg_fraction(float value) {
53018   set_has_det_fg_fraction();
53019   det_fg_fraction_ = value;
53020   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_fraction)
53021 }
53022
53023 // optional uint32 det_context_pad = 58 [default = 0];
53024 bool V0LayerParameter::has_det_context_pad() const {
53025   return (_has_bits_[0] & 0x20000000u) != 0;
53026 }
53027 void V0LayerParameter::set_has_det_context_pad() {
53028   _has_bits_[0] |= 0x20000000u;
53029 }
53030 void V0LayerParameter::clear_has_det_context_pad() {
53031   _has_bits_[0] &= ~0x20000000u;
53032 }
53033 void V0LayerParameter::clear_det_context_pad() {
53034   det_context_pad_ = 0u;
53035   clear_has_det_context_pad();
53036 }
53037 ::google::protobuf::uint32 V0LayerParameter::det_context_pad() const {
53038   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_context_pad)
53039   return det_context_pad_;
53040 }
53041 void V0LayerParameter::set_det_context_pad(::google::protobuf::uint32 value) {
53042   set_has_det_context_pad();
53043   det_context_pad_ = value;
53044   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_context_pad)
53045 }
53046
53047 // optional string det_crop_mode = 59 [default = "warp"];
53048 bool V0LayerParameter::has_det_crop_mode() const {
53049   return (_has_bits_[0] & 0x40000000u) != 0;
53050 }
53051 void V0LayerParameter::set_has_det_crop_mode() {
53052   _has_bits_[0] |= 0x40000000u;
53053 }
53054 void V0LayerParameter::clear_has_det_crop_mode() {
53055   _has_bits_[0] &= ~0x40000000u;
53056 }
53057 void V0LayerParameter::clear_det_crop_mode() {
53058   det_crop_mode_.ClearToDefaultNoArena(_default_det_crop_mode_);
53059   clear_has_det_crop_mode();
53060 }
53061 const ::std::string& V0LayerParameter::det_crop_mode() const {
53062   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_crop_mode)
53063   return det_crop_mode_.GetNoArena(_default_det_crop_mode_);
53064 }
53065 void V0LayerParameter::set_det_crop_mode(const ::std::string& value) {
53066   set_has_det_crop_mode();
53067   det_crop_mode_.SetNoArena(_default_det_crop_mode_, value);
53068   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_crop_mode)
53069 }
53070 void V0LayerParameter::set_det_crop_mode(const char* value) {
53071   set_has_det_crop_mode();
53072   det_crop_mode_.SetNoArena(_default_det_crop_mode_, ::std::string(value));
53073   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.det_crop_mode)
53074 }
53075 void V0LayerParameter::set_det_crop_mode(const char* value, size_t size) {
53076   set_has_det_crop_mode();
53077   det_crop_mode_.SetNoArena(_default_det_crop_mode_,
53078       ::std::string(reinterpret_cast<const char*>(value), size));
53079   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.det_crop_mode)
53080 }
53081 ::std::string* V0LayerParameter::mutable_det_crop_mode() {
53082   set_has_det_crop_mode();
53083   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.det_crop_mode)
53084   return det_crop_mode_.MutableNoArena(_default_det_crop_mode_);
53085 }
53086 ::std::string* V0LayerParameter::release_det_crop_mode() {
53087   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.det_crop_mode)
53088   clear_has_det_crop_mode();
53089   return det_crop_mode_.ReleaseNoArena(_default_det_crop_mode_);
53090 }
53091 void V0LayerParameter::set_allocated_det_crop_mode(::std::string* det_crop_mode) {
53092   if (det_crop_mode != NULL) {
53093     set_has_det_crop_mode();
53094   } else {
53095     clear_has_det_crop_mode();
53096   }
53097   det_crop_mode_.SetAllocatedNoArena(_default_det_crop_mode_, det_crop_mode);
53098   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.det_crop_mode)
53099 }
53100
53101 // optional int32 new_num = 60 [default = 0];
53102 bool V0LayerParameter::has_new_num() const {
53103   return (_has_bits_[0] & 0x80000000u) != 0;
53104 }
53105 void V0LayerParameter::set_has_new_num() {
53106   _has_bits_[0] |= 0x80000000u;
53107 }
53108 void V0LayerParameter::clear_has_new_num() {
53109   _has_bits_[0] &= ~0x80000000u;
53110 }
53111 void V0LayerParameter::clear_new_num() {
53112   new_num_ = 0;
53113   clear_has_new_num();
53114 }
53115 ::google::protobuf::int32 V0LayerParameter::new_num() const {
53116   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_num)
53117   return new_num_;
53118 }
53119 void V0LayerParameter::set_new_num(::google::protobuf::int32 value) {
53120   set_has_new_num();
53121   new_num_ = value;
53122   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_num)
53123 }
53124
53125 // optional int32 new_channels = 61 [default = 0];
53126 bool V0LayerParameter::has_new_channels() const {
53127   return (_has_bits_[1] & 0x00000001u) != 0;
53128 }
53129 void V0LayerParameter::set_has_new_channels() {
53130   _has_bits_[1] |= 0x00000001u;
53131 }
53132 void V0LayerParameter::clear_has_new_channels() {
53133   _has_bits_[1] &= ~0x00000001u;
53134 }
53135 void V0LayerParameter::clear_new_channels() {
53136   new_channels_ = 0;
53137   clear_has_new_channels();
53138 }
53139 ::google::protobuf::int32 V0LayerParameter::new_channels() const {
53140   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_channels)
53141   return new_channels_;
53142 }
53143 void V0LayerParameter::set_new_channels(::google::protobuf::int32 value) {
53144   set_has_new_channels();
53145   new_channels_ = value;
53146   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_channels)
53147 }
53148
53149 // optional int32 new_height = 62 [default = 0];
53150 bool V0LayerParameter::has_new_height() const {
53151   return (_has_bits_[1] & 0x00000002u) != 0;
53152 }
53153 void V0LayerParameter::set_has_new_height() {
53154   _has_bits_[1] |= 0x00000002u;
53155 }
53156 void V0LayerParameter::clear_has_new_height() {
53157   _has_bits_[1] &= ~0x00000002u;
53158 }
53159 void V0LayerParameter::clear_new_height() {
53160   new_height_ = 0;
53161   clear_has_new_height();
53162 }
53163 ::google::protobuf::int32 V0LayerParameter::new_height() const {
53164   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_height)
53165   return new_height_;
53166 }
53167 void V0LayerParameter::set_new_height(::google::protobuf::int32 value) {
53168   set_has_new_height();
53169   new_height_ = value;
53170   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_height)
53171 }
53172
53173 // optional int32 new_width = 63 [default = 0];
53174 bool V0LayerParameter::has_new_width() const {
53175   return (_has_bits_[1] & 0x00000004u) != 0;
53176 }
53177 void V0LayerParameter::set_has_new_width() {
53178   _has_bits_[1] |= 0x00000004u;
53179 }
53180 void V0LayerParameter::clear_has_new_width() {
53181   _has_bits_[1] &= ~0x00000004u;
53182 }
53183 void V0LayerParameter::clear_new_width() {
53184   new_width_ = 0;
53185   clear_has_new_width();
53186 }
53187 ::google::protobuf::int32 V0LayerParameter::new_width() const {
53188   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_width)
53189   return new_width_;
53190 }
53191 void V0LayerParameter::set_new_width(::google::protobuf::int32 value) {
53192   set_has_new_width();
53193   new_width_ = value;
53194   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_width)
53195 }
53196
53197 // optional bool shuffle_images = 64 [default = false];
53198 bool V0LayerParameter::has_shuffle_images() const {
53199   return (_has_bits_[1] & 0x00000008u) != 0;
53200 }
53201 void V0LayerParameter::set_has_shuffle_images() {
53202   _has_bits_[1] |= 0x00000008u;
53203 }
53204 void V0LayerParameter::clear_has_shuffle_images() {
53205   _has_bits_[1] &= ~0x00000008u;
53206 }
53207 void V0LayerParameter::clear_shuffle_images() {
53208   shuffle_images_ = false;
53209   clear_has_shuffle_images();
53210 }
53211 bool V0LayerParameter::shuffle_images() const {
53212   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.shuffle_images)
53213   return shuffle_images_;
53214 }
53215 void V0LayerParameter::set_shuffle_images(bool value) {
53216   set_has_shuffle_images();
53217   shuffle_images_ = value;
53218   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.shuffle_images)
53219 }
53220
53221 // optional uint32 concat_dim = 65 [default = 1];
53222 bool V0LayerParameter::has_concat_dim() const {
53223   return (_has_bits_[1] & 0x00000010u) != 0;
53224 }
53225 void V0LayerParameter::set_has_concat_dim() {
53226   _has_bits_[1] |= 0x00000010u;
53227 }
53228 void V0LayerParameter::clear_has_concat_dim() {
53229   _has_bits_[1] &= ~0x00000010u;
53230 }
53231 void V0LayerParameter::clear_concat_dim() {
53232   concat_dim_ = 1u;
53233   clear_has_concat_dim();
53234 }
53235 ::google::protobuf::uint32 V0LayerParameter::concat_dim() const {
53236   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.concat_dim)
53237   return concat_dim_;
53238 }
53239 void V0LayerParameter::set_concat_dim(::google::protobuf::uint32 value) {
53240   set_has_concat_dim();
53241   concat_dim_ = value;
53242   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.concat_dim)
53243 }
53244
53245 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
53246 bool V0LayerParameter::has_hdf5_output_param() const {
53247   return (_has_bits_[1] & 0x00000020u) != 0;
53248 }
53249 void V0LayerParameter::set_has_hdf5_output_param() {
53250   _has_bits_[1] |= 0x00000020u;
53251 }
53252 void V0LayerParameter::clear_has_hdf5_output_param() {
53253   _has_bits_[1] &= ~0x00000020u;
53254 }
53255 void V0LayerParameter::clear_hdf5_output_param() {
53256   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
53257   clear_has_hdf5_output_param();
53258 }
53259 const ::opencv_caffe::HDF5OutputParameter& V0LayerParameter::hdf5_output_param() const {
53260   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.hdf5_output_param)
53261   return hdf5_output_param_ != NULL ? *hdf5_output_param_
53262                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
53263 }
53264 ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::mutable_hdf5_output_param() {
53265   set_has_hdf5_output_param();
53266   if (hdf5_output_param_ == NULL) {
53267     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
53268   }
53269   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.hdf5_output_param)
53270   return hdf5_output_param_;
53271 }
53272 ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::release_hdf5_output_param() {
53273   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.hdf5_output_param)
53274   clear_has_hdf5_output_param();
53275   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
53276   hdf5_output_param_ = NULL;
53277   return temp;
53278 }
53279 void V0LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
53280   delete hdf5_output_param_;
53281   hdf5_output_param_ = hdf5_output_param;
53282   if (hdf5_output_param) {
53283     set_has_hdf5_output_param();
53284   } else {
53285     clear_has_hdf5_output_param();
53286   }
53287   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.hdf5_output_param)
53288 }
53289
53290 inline const V0LayerParameter* V0LayerParameter::internal_default_instance() {
53291   return &V0LayerParameter_default_instance_.get();
53292 }
53293 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
53294
53295 // ===================================================================
53296
53297 #if !defined(_MSC_VER) || _MSC_VER >= 1900
53298 const int PReLUParameter::kFillerFieldNumber;
53299 const int PReLUParameter::kChannelSharedFieldNumber;
53300 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
53301
53302 PReLUParameter::PReLUParameter()
53303   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
53304   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53305   SharedCtor();
53306   // @@protoc_insertion_point(constructor:opencv_caffe.PReLUParameter)
53307 }
53308
53309 void PReLUParameter::InitAsDefaultInstance() {
53310   filler_ = const_cast< ::opencv_caffe::FillerParameter*>(
53311       ::opencv_caffe::FillerParameter::internal_default_instance());
53312 }
53313
53314 PReLUParameter::PReLUParameter(const PReLUParameter& from)
53315   : ::google::protobuf::Message(),
53316     _internal_metadata_(NULL) {
53317   SharedCtor();
53318   UnsafeMergeFrom(from);
53319   // @@protoc_insertion_point(copy_constructor:opencv_caffe.PReLUParameter)
53320 }
53321
53322 void PReLUParameter::SharedCtor() {
53323   _cached_size_ = 0;
53324   filler_ = NULL;
53325   channel_shared_ = false;
53326 }
53327
53328 PReLUParameter::~PReLUParameter() {
53329   // @@protoc_insertion_point(destructor:opencv_caffe.PReLUParameter)
53330   SharedDtor();
53331 }
53332
53333 void PReLUParameter::SharedDtor() {
53334   if (this != &PReLUParameter_default_instance_.get()) {
53335     delete filler_;
53336   }
53337 }
53338
53339 void PReLUParameter::SetCachedSize(int size) const {
53340   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
53341   _cached_size_ = size;
53342   GOOGLE_SAFE_CONCURRENT_WRITES_END();
53343 }
53344 const ::google::protobuf::Descriptor* PReLUParameter::descriptor() {
53345   protobuf_AssignDescriptorsOnce();
53346   return PReLUParameter_descriptor_;
53347 }
53348
53349 const PReLUParameter& PReLUParameter::default_instance() {
53350   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53351   return *internal_default_instance();
53352 }
53353
53354 ::google::protobuf::internal::ExplicitlyConstructed<PReLUParameter> PReLUParameter_default_instance_;
53355
53356 PReLUParameter* PReLUParameter::New(::google::protobuf::Arena* arena) const {
53357   PReLUParameter* n = new PReLUParameter;
53358   if (arena != NULL) {
53359     arena->Own(n);
53360   }
53361   return n;
53362 }
53363
53364 void PReLUParameter::Clear() {
53365 // @@protoc_insertion_point(message_clear_start:opencv_caffe.PReLUParameter)
53366   if (_has_bits_[0 / 32] & 3u) {
53367     if (has_filler()) {
53368       if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
53369     }
53370     channel_shared_ = false;
53371   }
53372   _has_bits_.Clear();
53373   if (_internal_metadata_.have_unknown_fields()) {
53374     mutable_unknown_fields()->Clear();
53375   }
53376 }
53377
53378 bool PReLUParameter::MergePartialFromCodedStream(
53379     ::google::protobuf::io::CodedInputStream* input) {
53380 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
53381   ::google::protobuf::uint32 tag;
53382   // @@protoc_insertion_point(parse_start:opencv_caffe.PReLUParameter)
53383   for (;;) {
53384     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
53385     tag = p.first;
53386     if (!p.second) goto handle_unusual;
53387     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
53388       // optional .opencv_caffe.FillerParameter filler = 1;
53389       case 1: {
53390         if (tag == 10) {
53391           DO_(::google::protobuf::internal::WireFormatLite::ReadMessageNoVirtual(
53392                input, mutable_filler()));
53393         } else {
53394           goto handle_unusual;
53395         }
53396         if (input->ExpectTag(16)) goto parse_channel_shared;
53397         break;
53398       }
53399
53400       // optional bool channel_shared = 2 [default = false];
53401       case 2: {
53402         if (tag == 16) {
53403          parse_channel_shared:
53404           set_has_channel_shared();
53405           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53406                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
53407                  input, &channel_shared_)));
53408         } else {
53409           goto handle_unusual;
53410         }
53411         if (input->ExpectAtEnd()) goto success;
53412         break;
53413       }
53414
53415       default: {
53416       handle_unusual:
53417         if (tag == 0 ||
53418             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
53419             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
53420           goto success;
53421         }
53422         DO_(::google::protobuf::internal::WireFormat::SkipField(
53423               input, tag, mutable_unknown_fields()));
53424         break;
53425       }
53426     }
53427   }
53428 success:
53429   // @@protoc_insertion_point(parse_success:opencv_caffe.PReLUParameter)
53430   return true;
53431 failure:
53432   // @@protoc_insertion_point(parse_failure:opencv_caffe.PReLUParameter)
53433   return false;
53434 #undef DO_
53435 }
53436
53437 void PReLUParameter::SerializeWithCachedSizes(
53438     ::google::protobuf::io::CodedOutputStream* output) const {
53439   // @@protoc_insertion_point(serialize_start:opencv_caffe.PReLUParameter)
53440   // optional .opencv_caffe.FillerParameter filler = 1;
53441   if (has_filler()) {
53442     ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
53443       1, *this->filler_, output);
53444   }
53445
53446   // optional bool channel_shared = 2 [default = false];
53447   if (has_channel_shared()) {
53448     ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->channel_shared(), output);
53449   }
53450
53451   if (_internal_metadata_.have_unknown_fields()) {
53452     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
53453         unknown_fields(), output);
53454   }
53455   // @@protoc_insertion_point(serialize_end:opencv_caffe.PReLUParameter)
53456 }
53457
53458 ::google::protobuf::uint8* PReLUParameter::InternalSerializeWithCachedSizesToArray(
53459     bool deterministic, ::google::protobuf::uint8* target) const {
53460   (void)deterministic; // Unused
53461   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.PReLUParameter)
53462   // optional .opencv_caffe.FillerParameter filler = 1;
53463   if (has_filler()) {
53464     target = ::google::protobuf::internal::WireFormatLite::
53465       InternalWriteMessageNoVirtualToArray(
53466         1, *this->filler_, false, target);
53467   }
53468
53469   // optional bool channel_shared = 2 [default = false];
53470   if (has_channel_shared()) {
53471     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->channel_shared(), target);
53472   }
53473
53474   if (_internal_metadata_.have_unknown_fields()) {
53475     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
53476         unknown_fields(), target);
53477   }
53478   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.PReLUParameter)
53479   return target;
53480 }
53481
53482 size_t PReLUParameter::ByteSizeLong() const {
53483 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.PReLUParameter)
53484   size_t total_size = 0;
53485
53486   if (_has_bits_[0 / 32] & 3u) {
53487     // optional .opencv_caffe.FillerParameter filler = 1;
53488     if (has_filler()) {
53489       total_size += 1 +
53490         ::google::protobuf::internal::WireFormatLite::MessageSizeNoVirtual(
53491           *this->filler_);
53492     }
53493
53494     // optional bool channel_shared = 2 [default = false];
53495     if (has_channel_shared()) {
53496       total_size += 1 + 1;
53497     }
53498
53499   }
53500   if (_internal_metadata_.have_unknown_fields()) {
53501     total_size +=
53502       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
53503         unknown_fields());
53504   }
53505   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
53506   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
53507   _cached_size_ = cached_size;
53508   GOOGLE_SAFE_CONCURRENT_WRITES_END();
53509   return total_size;
53510 }
53511
53512 void PReLUParameter::MergeFrom(const ::google::protobuf::Message& from) {
53513 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.PReLUParameter)
53514   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
53515   const PReLUParameter* source =
53516       ::google::protobuf::internal::DynamicCastToGenerated<const PReLUParameter>(
53517           &from);
53518   if (source == NULL) {
53519   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.PReLUParameter)
53520     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
53521   } else {
53522   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.PReLUParameter)
53523     UnsafeMergeFrom(*source);
53524   }
53525 }
53526
53527 void PReLUParameter::MergeFrom(const PReLUParameter& from) {
53528 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.PReLUParameter)
53529   if (GOOGLE_PREDICT_TRUE(&from != this)) {
53530     UnsafeMergeFrom(from);
53531   } else {
53532     MergeFromFail(__LINE__);
53533   }
53534 }
53535
53536 void PReLUParameter::UnsafeMergeFrom(const PReLUParameter& from) {
53537   GOOGLE_DCHECK(&from != this);
53538   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
53539     if (from.has_filler()) {
53540       mutable_filler()->::opencv_caffe::FillerParameter::MergeFrom(from.filler());
53541     }
53542     if (from.has_channel_shared()) {
53543       set_channel_shared(from.channel_shared());
53544     }
53545   }
53546   if (from._internal_metadata_.have_unknown_fields()) {
53547     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
53548       from.unknown_fields(), &_internal_metadata_);
53549   }
53550 }
53551
53552 void PReLUParameter::CopyFrom(const ::google::protobuf::Message& from) {
53553 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.PReLUParameter)
53554   if (&from == this) return;
53555   Clear();
53556   MergeFrom(from);
53557 }
53558
53559 void PReLUParameter::CopyFrom(const PReLUParameter& from) {
53560 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.PReLUParameter)
53561   if (&from == this) return;
53562   Clear();
53563   UnsafeMergeFrom(from);
53564 }
53565
53566 bool PReLUParameter::IsInitialized() const {
53567
53568   return true;
53569 }
53570
53571 void PReLUParameter::Swap(PReLUParameter* other) {
53572   if (other == this) return;
53573   InternalSwap(other);
53574 }
53575 void PReLUParameter::InternalSwap(PReLUParameter* other) {
53576   std::swap(filler_, other->filler_);
53577   std::swap(channel_shared_, other->channel_shared_);
53578   std::swap(_has_bits_[0], other->_has_bits_[0]);
53579   _internal_metadata_.Swap(&other->_internal_metadata_);
53580   std::swap(_cached_size_, other->_cached_size_);
53581 }
53582
53583 ::google::protobuf::Metadata PReLUParameter::GetMetadata() const {
53584   protobuf_AssignDescriptorsOnce();
53585   ::google::protobuf::Metadata metadata;
53586   metadata.descriptor = PReLUParameter_descriptor_;
53587   metadata.reflection = PReLUParameter_reflection_;
53588   return metadata;
53589 }
53590
53591 #if PROTOBUF_INLINE_NOT_IN_HEADERS
53592 // PReLUParameter
53593
53594 // optional .opencv_caffe.FillerParameter filler = 1;
53595 bool PReLUParameter::has_filler() const {
53596   return (_has_bits_[0] & 0x00000001u) != 0;
53597 }
53598 void PReLUParameter::set_has_filler() {
53599   _has_bits_[0] |= 0x00000001u;
53600 }
53601 void PReLUParameter::clear_has_filler() {
53602   _has_bits_[0] &= ~0x00000001u;
53603 }
53604 void PReLUParameter::clear_filler() {
53605   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
53606   clear_has_filler();
53607 }
53608 const ::opencv_caffe::FillerParameter& PReLUParameter::filler() const {
53609   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.filler)
53610   return filler_ != NULL ? *filler_
53611                          : *::opencv_caffe::FillerParameter::internal_default_instance();
53612 }
53613 ::opencv_caffe::FillerParameter* PReLUParameter::mutable_filler() {
53614   set_has_filler();
53615   if (filler_ == NULL) {
53616     filler_ = new ::opencv_caffe::FillerParameter;
53617   }
53618   // @@protoc_insertion_point(field_mutable:opencv_caffe.PReLUParameter.filler)
53619   return filler_;
53620 }
53621 ::opencv_caffe::FillerParameter* PReLUParameter::release_filler() {
53622   // @@protoc_insertion_point(field_release:opencv_caffe.PReLUParameter.filler)
53623   clear_has_filler();
53624   ::opencv_caffe::FillerParameter* temp = filler_;
53625   filler_ = NULL;
53626   return temp;
53627 }
53628 void PReLUParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
53629   delete filler_;
53630   filler_ = filler;
53631   if (filler) {
53632     set_has_filler();
53633   } else {
53634     clear_has_filler();
53635   }
53636   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PReLUParameter.filler)
53637 }
53638
53639 // optional bool channel_shared = 2 [default = false];
53640 bool PReLUParameter::has_channel_shared() const {
53641   return (_has_bits_[0] & 0x00000002u) != 0;
53642 }
53643 void PReLUParameter::set_has_channel_shared() {
53644   _has_bits_[0] |= 0x00000002u;
53645 }
53646 void PReLUParameter::clear_has_channel_shared() {
53647   _has_bits_[0] &= ~0x00000002u;
53648 }
53649 void PReLUParameter::clear_channel_shared() {
53650   channel_shared_ = false;
53651   clear_has_channel_shared();
53652 }
53653 bool PReLUParameter::channel_shared() const {
53654   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.channel_shared)
53655   return channel_shared_;
53656 }
53657 void PReLUParameter::set_channel_shared(bool value) {
53658   set_has_channel_shared();
53659   channel_shared_ = value;
53660   // @@protoc_insertion_point(field_set:opencv_caffe.PReLUParameter.channel_shared)
53661 }
53662
53663 inline const PReLUParameter* PReLUParameter::internal_default_instance() {
53664   return &PReLUParameter_default_instance_.get();
53665 }
53666 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
53667
53668 // ===================================================================
53669
53670 #if !defined(_MSC_VER) || _MSC_VER >= 1900
53671 const int NormalizedBBox::kXminFieldNumber;
53672 const int NormalizedBBox::kYminFieldNumber;
53673 const int NormalizedBBox::kXmaxFieldNumber;
53674 const int NormalizedBBox::kYmaxFieldNumber;
53675 const int NormalizedBBox::kLabelFieldNumber;
53676 const int NormalizedBBox::kDifficultFieldNumber;
53677 const int NormalizedBBox::kScoreFieldNumber;
53678 const int NormalizedBBox::kSizeFieldNumber;
53679 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
53680
53681 NormalizedBBox::NormalizedBBox()
53682   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
53683   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53684   SharedCtor();
53685   // @@protoc_insertion_point(constructor:opencv_caffe.NormalizedBBox)
53686 }
53687
53688 void NormalizedBBox::InitAsDefaultInstance() {
53689 }
53690
53691 NormalizedBBox::NormalizedBBox(const NormalizedBBox& from)
53692   : ::google::protobuf::Message(),
53693     _internal_metadata_(NULL) {
53694   SharedCtor();
53695   UnsafeMergeFrom(from);
53696   // @@protoc_insertion_point(copy_constructor:opencv_caffe.NormalizedBBox)
53697 }
53698
53699 void NormalizedBBox::SharedCtor() {
53700   _cached_size_ = 0;
53701   ::memset(&xmin_, 0, reinterpret_cast<char*>(&size_) -
53702     reinterpret_cast<char*>(&xmin_) + sizeof(size_));
53703 }
53704
53705 NormalizedBBox::~NormalizedBBox() {
53706   // @@protoc_insertion_point(destructor:opencv_caffe.NormalizedBBox)
53707   SharedDtor();
53708 }
53709
53710 void NormalizedBBox::SharedDtor() {
53711 }
53712
53713 void NormalizedBBox::SetCachedSize(int size) const {
53714   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
53715   _cached_size_ = size;
53716   GOOGLE_SAFE_CONCURRENT_WRITES_END();
53717 }
53718 const ::google::protobuf::Descriptor* NormalizedBBox::descriptor() {
53719   protobuf_AssignDescriptorsOnce();
53720   return NormalizedBBox_descriptor_;
53721 }
53722
53723 const NormalizedBBox& NormalizedBBox::default_instance() {
53724   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
53725   return *internal_default_instance();
53726 }
53727
53728 ::google::protobuf::internal::ExplicitlyConstructed<NormalizedBBox> NormalizedBBox_default_instance_;
53729
53730 NormalizedBBox* NormalizedBBox::New(::google::protobuf::Arena* arena) const {
53731   NormalizedBBox* n = new NormalizedBBox;
53732   if (arena != NULL) {
53733     arena->Own(n);
53734   }
53735   return n;
53736 }
53737
53738 void NormalizedBBox::Clear() {
53739 // @@protoc_insertion_point(message_clear_start:opencv_caffe.NormalizedBBox)
53740 #if defined(__clang__)
53741 #define ZR_HELPER_(f) \
53742   _Pragma("clang diagnostic push") \
53743   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
53744   __builtin_offsetof(NormalizedBBox, f) \
53745   _Pragma("clang diagnostic pop")
53746 #else
53747 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
53748   &reinterpret_cast<NormalizedBBox*>(16)->f)
53749 #endif
53750
53751 #define ZR_(first, last) do {\
53752   ::memset(&(first), 0,\
53753            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
53754 } while (0)
53755
53756   ZR_(xmin_, size_);
53757
53758 #undef ZR_HELPER_
53759 #undef ZR_
53760
53761   _has_bits_.Clear();
53762   if (_internal_metadata_.have_unknown_fields()) {
53763     mutable_unknown_fields()->Clear();
53764   }
53765 }
53766
53767 bool NormalizedBBox::MergePartialFromCodedStream(
53768     ::google::protobuf::io::CodedInputStream* input) {
53769 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
53770   ::google::protobuf::uint32 tag;
53771   // @@protoc_insertion_point(parse_start:opencv_caffe.NormalizedBBox)
53772   for (;;) {
53773     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
53774     tag = p.first;
53775     if (!p.second) goto handle_unusual;
53776     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
53777       // optional float xmin = 1;
53778       case 1: {
53779         if (tag == 13) {
53780           set_has_xmin();
53781           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53782                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53783                  input, &xmin_)));
53784         } else {
53785           goto handle_unusual;
53786         }
53787         if (input->ExpectTag(21)) goto parse_ymin;
53788         break;
53789       }
53790
53791       // optional float ymin = 2;
53792       case 2: {
53793         if (tag == 21) {
53794          parse_ymin:
53795           set_has_ymin();
53796           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53797                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53798                  input, &ymin_)));
53799         } else {
53800           goto handle_unusual;
53801         }
53802         if (input->ExpectTag(29)) goto parse_xmax;
53803         break;
53804       }
53805
53806       // optional float xmax = 3;
53807       case 3: {
53808         if (tag == 29) {
53809          parse_xmax:
53810           set_has_xmax();
53811           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53812                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53813                  input, &xmax_)));
53814         } else {
53815           goto handle_unusual;
53816         }
53817         if (input->ExpectTag(37)) goto parse_ymax;
53818         break;
53819       }
53820
53821       // optional float ymax = 4;
53822       case 4: {
53823         if (tag == 37) {
53824          parse_ymax:
53825           set_has_ymax();
53826           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53827                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53828                  input, &ymax_)));
53829         } else {
53830           goto handle_unusual;
53831         }
53832         if (input->ExpectTag(40)) goto parse_label;
53833         break;
53834       }
53835
53836       // optional int32 label = 5;
53837       case 5: {
53838         if (tag == 40) {
53839          parse_label:
53840           set_has_label();
53841           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53842                    ::google::protobuf::int32, ::google::protobuf::internal::WireFormatLite::TYPE_INT32>(
53843                  input, &label_)));
53844         } else {
53845           goto handle_unusual;
53846         }
53847         if (input->ExpectTag(48)) goto parse_difficult;
53848         break;
53849       }
53850
53851       // optional bool difficult = 6;
53852       case 6: {
53853         if (tag == 48) {
53854          parse_difficult:
53855           set_has_difficult();
53856           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53857                    bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
53858                  input, &difficult_)));
53859         } else {
53860           goto handle_unusual;
53861         }
53862         if (input->ExpectTag(61)) goto parse_score;
53863         break;
53864       }
53865
53866       // optional float score = 7;
53867       case 7: {
53868         if (tag == 61) {
53869          parse_score:
53870           set_has_score();
53871           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53872                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53873                  input, &score_)));
53874         } else {
53875           goto handle_unusual;
53876         }
53877         if (input->ExpectTag(69)) goto parse_size;
53878         break;
53879       }
53880
53881       // optional float size = 8;
53882       case 8: {
53883         if (tag == 69) {
53884          parse_size:
53885           set_has_size();
53886           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
53887                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
53888                  input, &size_)));
53889         } else {
53890           goto handle_unusual;
53891         }
53892         if (input->ExpectAtEnd()) goto success;
53893         break;
53894       }
53895
53896       default: {
53897       handle_unusual:
53898         if (tag == 0 ||
53899             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
53900             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
53901           goto success;
53902         }
53903         DO_(::google::protobuf::internal::WireFormat::SkipField(
53904               input, tag, mutable_unknown_fields()));
53905         break;
53906       }
53907     }
53908   }
53909 success:
53910   // @@protoc_insertion_point(parse_success:opencv_caffe.NormalizedBBox)
53911   return true;
53912 failure:
53913   // @@protoc_insertion_point(parse_failure:opencv_caffe.NormalizedBBox)
53914   return false;
53915 #undef DO_
53916 }
53917
53918 void NormalizedBBox::SerializeWithCachedSizes(
53919     ::google::protobuf::io::CodedOutputStream* output) const {
53920   // @@protoc_insertion_point(serialize_start:opencv_caffe.NormalizedBBox)
53921   // optional float xmin = 1;
53922   if (has_xmin()) {
53923     ::google::protobuf::internal::WireFormatLite::WriteFloat(1, this->xmin(), output);
53924   }
53925
53926   // optional float ymin = 2;
53927   if (has_ymin()) {
53928     ::google::protobuf::internal::WireFormatLite::WriteFloat(2, this->ymin(), output);
53929   }
53930
53931   // optional float xmax = 3;
53932   if (has_xmax()) {
53933     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->xmax(), output);
53934   }
53935
53936   // optional float ymax = 4;
53937   if (has_ymax()) {
53938     ::google::protobuf::internal::WireFormatLite::WriteFloat(4, this->ymax(), output);
53939   }
53940
53941   // optional int32 label = 5;
53942   if (has_label()) {
53943     ::google::protobuf::internal::WireFormatLite::WriteInt32(5, this->label(), output);
53944   }
53945
53946   // optional bool difficult = 6;
53947   if (has_difficult()) {
53948     ::google::protobuf::internal::WireFormatLite::WriteBool(6, this->difficult(), output);
53949   }
53950
53951   // optional float score = 7;
53952   if (has_score()) {
53953     ::google::protobuf::internal::WireFormatLite::WriteFloat(7, this->score(), output);
53954   }
53955
53956   // optional float size = 8;
53957   if (has_size()) {
53958     ::google::protobuf::internal::WireFormatLite::WriteFloat(8, this->size(), output);
53959   }
53960
53961   if (_internal_metadata_.have_unknown_fields()) {
53962     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
53963         unknown_fields(), output);
53964   }
53965   // @@protoc_insertion_point(serialize_end:opencv_caffe.NormalizedBBox)
53966 }
53967
53968 ::google::protobuf::uint8* NormalizedBBox::InternalSerializeWithCachedSizesToArray(
53969     bool deterministic, ::google::protobuf::uint8* target) const {
53970   (void)deterministic; // Unused
53971   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.NormalizedBBox)
53972   // optional float xmin = 1;
53973   if (has_xmin()) {
53974     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(1, this->xmin(), target);
53975   }
53976
53977   // optional float ymin = 2;
53978   if (has_ymin()) {
53979     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(2, this->ymin(), target);
53980   }
53981
53982   // optional float xmax = 3;
53983   if (has_xmax()) {
53984     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->xmax(), target);
53985   }
53986
53987   // optional float ymax = 4;
53988   if (has_ymax()) {
53989     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(4, this->ymax(), target);
53990   }
53991
53992   // optional int32 label = 5;
53993   if (has_label()) {
53994     target = ::google::protobuf::internal::WireFormatLite::WriteInt32ToArray(5, this->label(), target);
53995   }
53996
53997   // optional bool difficult = 6;
53998   if (has_difficult()) {
53999     target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(6, this->difficult(), target);
54000   }
54001
54002   // optional float score = 7;
54003   if (has_score()) {
54004     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(7, this->score(), target);
54005   }
54006
54007   // optional float size = 8;
54008   if (has_size()) {
54009     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(8, this->size(), target);
54010   }
54011
54012   if (_internal_metadata_.have_unknown_fields()) {
54013     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
54014         unknown_fields(), target);
54015   }
54016   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.NormalizedBBox)
54017   return target;
54018 }
54019
54020 size_t NormalizedBBox::ByteSizeLong() const {
54021 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.NormalizedBBox)
54022   size_t total_size = 0;
54023
54024   if (_has_bits_[0 / 32] & 255u) {
54025     // optional float xmin = 1;
54026     if (has_xmin()) {
54027       total_size += 1 + 4;
54028     }
54029
54030     // optional float ymin = 2;
54031     if (has_ymin()) {
54032       total_size += 1 + 4;
54033     }
54034
54035     // optional float xmax = 3;
54036     if (has_xmax()) {
54037       total_size += 1 + 4;
54038     }
54039
54040     // optional float ymax = 4;
54041     if (has_ymax()) {
54042       total_size += 1 + 4;
54043     }
54044
54045     // optional int32 label = 5;
54046     if (has_label()) {
54047       total_size += 1 +
54048         ::google::protobuf::internal::WireFormatLite::Int32Size(
54049           this->label());
54050     }
54051
54052     // optional bool difficult = 6;
54053     if (has_difficult()) {
54054       total_size += 1 + 1;
54055     }
54056
54057     // optional float score = 7;
54058     if (has_score()) {
54059       total_size += 1 + 4;
54060     }
54061
54062     // optional float size = 8;
54063     if (has_size()) {
54064       total_size += 1 + 4;
54065     }
54066
54067   }
54068   if (_internal_metadata_.have_unknown_fields()) {
54069     total_size +=
54070       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
54071         unknown_fields());
54072   }
54073   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
54074   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
54075   _cached_size_ = cached_size;
54076   GOOGLE_SAFE_CONCURRENT_WRITES_END();
54077   return total_size;
54078 }
54079
54080 void NormalizedBBox::MergeFrom(const ::google::protobuf::Message& from) {
54081 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.NormalizedBBox)
54082   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
54083   const NormalizedBBox* source =
54084       ::google::protobuf::internal::DynamicCastToGenerated<const NormalizedBBox>(
54085           &from);
54086   if (source == NULL) {
54087   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.NormalizedBBox)
54088     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
54089   } else {
54090   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.NormalizedBBox)
54091     UnsafeMergeFrom(*source);
54092   }
54093 }
54094
54095 void NormalizedBBox::MergeFrom(const NormalizedBBox& from) {
54096 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.NormalizedBBox)
54097   if (GOOGLE_PREDICT_TRUE(&from != this)) {
54098     UnsafeMergeFrom(from);
54099   } else {
54100     MergeFromFail(__LINE__);
54101   }
54102 }
54103
54104 void NormalizedBBox::UnsafeMergeFrom(const NormalizedBBox& from) {
54105   GOOGLE_DCHECK(&from != this);
54106   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
54107     if (from.has_xmin()) {
54108       set_xmin(from.xmin());
54109     }
54110     if (from.has_ymin()) {
54111       set_ymin(from.ymin());
54112     }
54113     if (from.has_xmax()) {
54114       set_xmax(from.xmax());
54115     }
54116     if (from.has_ymax()) {
54117       set_ymax(from.ymax());
54118     }
54119     if (from.has_label()) {
54120       set_label(from.label());
54121     }
54122     if (from.has_difficult()) {
54123       set_difficult(from.difficult());
54124     }
54125     if (from.has_score()) {
54126       set_score(from.score());
54127     }
54128     if (from.has_size()) {
54129       set_size(from.size());
54130     }
54131   }
54132   if (from._internal_metadata_.have_unknown_fields()) {
54133     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
54134       from.unknown_fields(), &_internal_metadata_);
54135   }
54136 }
54137
54138 void NormalizedBBox::CopyFrom(const ::google::protobuf::Message& from) {
54139 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.NormalizedBBox)
54140   if (&from == this) return;
54141   Clear();
54142   MergeFrom(from);
54143 }
54144
54145 void NormalizedBBox::CopyFrom(const NormalizedBBox& from) {
54146 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.NormalizedBBox)
54147   if (&from == this) return;
54148   Clear();
54149   UnsafeMergeFrom(from);
54150 }
54151
54152 bool NormalizedBBox::IsInitialized() const {
54153
54154   return true;
54155 }
54156
54157 void NormalizedBBox::Swap(NormalizedBBox* other) {
54158   if (other == this) return;
54159   InternalSwap(other);
54160 }
54161 void NormalizedBBox::InternalSwap(NormalizedBBox* other) {
54162   std::swap(xmin_, other->xmin_);
54163   std::swap(ymin_, other->ymin_);
54164   std::swap(xmax_, other->xmax_);
54165   std::swap(ymax_, other->ymax_);
54166   std::swap(label_, other->label_);
54167   std::swap(difficult_, other->difficult_);
54168   std::swap(score_, other->score_);
54169   std::swap(size_, other->size_);
54170   std::swap(_has_bits_[0], other->_has_bits_[0]);
54171   _internal_metadata_.Swap(&other->_internal_metadata_);
54172   std::swap(_cached_size_, other->_cached_size_);
54173 }
54174
54175 ::google::protobuf::Metadata NormalizedBBox::GetMetadata() const {
54176   protobuf_AssignDescriptorsOnce();
54177   ::google::protobuf::Metadata metadata;
54178   metadata.descriptor = NormalizedBBox_descriptor_;
54179   metadata.reflection = NormalizedBBox_reflection_;
54180   return metadata;
54181 }
54182
54183 #if PROTOBUF_INLINE_NOT_IN_HEADERS
54184 // NormalizedBBox
54185
54186 // optional float xmin = 1;
54187 bool NormalizedBBox::has_xmin() const {
54188   return (_has_bits_[0] & 0x00000001u) != 0;
54189 }
54190 void NormalizedBBox::set_has_xmin() {
54191   _has_bits_[0] |= 0x00000001u;
54192 }
54193 void NormalizedBBox::clear_has_xmin() {
54194   _has_bits_[0] &= ~0x00000001u;
54195 }
54196 void NormalizedBBox::clear_xmin() {
54197   xmin_ = 0;
54198   clear_has_xmin();
54199 }
54200 float NormalizedBBox::xmin() const {
54201   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmin)
54202   return xmin_;
54203 }
54204 void NormalizedBBox::set_xmin(float value) {
54205   set_has_xmin();
54206   xmin_ = value;
54207   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmin)
54208 }
54209
54210 // optional float ymin = 2;
54211 bool NormalizedBBox::has_ymin() const {
54212   return (_has_bits_[0] & 0x00000002u) != 0;
54213 }
54214 void NormalizedBBox::set_has_ymin() {
54215   _has_bits_[0] |= 0x00000002u;
54216 }
54217 void NormalizedBBox::clear_has_ymin() {
54218   _has_bits_[0] &= ~0x00000002u;
54219 }
54220 void NormalizedBBox::clear_ymin() {
54221   ymin_ = 0;
54222   clear_has_ymin();
54223 }
54224 float NormalizedBBox::ymin() const {
54225   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymin)
54226   return ymin_;
54227 }
54228 void NormalizedBBox::set_ymin(float value) {
54229   set_has_ymin();
54230   ymin_ = value;
54231   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymin)
54232 }
54233
54234 // optional float xmax = 3;
54235 bool NormalizedBBox::has_xmax() const {
54236   return (_has_bits_[0] & 0x00000004u) != 0;
54237 }
54238 void NormalizedBBox::set_has_xmax() {
54239   _has_bits_[0] |= 0x00000004u;
54240 }
54241 void NormalizedBBox::clear_has_xmax() {
54242   _has_bits_[0] &= ~0x00000004u;
54243 }
54244 void NormalizedBBox::clear_xmax() {
54245   xmax_ = 0;
54246   clear_has_xmax();
54247 }
54248 float NormalizedBBox::xmax() const {
54249   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmax)
54250   return xmax_;
54251 }
54252 void NormalizedBBox::set_xmax(float value) {
54253   set_has_xmax();
54254   xmax_ = value;
54255   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmax)
54256 }
54257
54258 // optional float ymax = 4;
54259 bool NormalizedBBox::has_ymax() const {
54260   return (_has_bits_[0] & 0x00000008u) != 0;
54261 }
54262 void NormalizedBBox::set_has_ymax() {
54263   _has_bits_[0] |= 0x00000008u;
54264 }
54265 void NormalizedBBox::clear_has_ymax() {
54266   _has_bits_[0] &= ~0x00000008u;
54267 }
54268 void NormalizedBBox::clear_ymax() {
54269   ymax_ = 0;
54270   clear_has_ymax();
54271 }
54272 float NormalizedBBox::ymax() const {
54273   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymax)
54274   return ymax_;
54275 }
54276 void NormalizedBBox::set_ymax(float value) {
54277   set_has_ymax();
54278   ymax_ = value;
54279   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymax)
54280 }
54281
54282 // optional int32 label = 5;
54283 bool NormalizedBBox::has_label() const {
54284   return (_has_bits_[0] & 0x00000010u) != 0;
54285 }
54286 void NormalizedBBox::set_has_label() {
54287   _has_bits_[0] |= 0x00000010u;
54288 }
54289 void NormalizedBBox::clear_has_label() {
54290   _has_bits_[0] &= ~0x00000010u;
54291 }
54292 void NormalizedBBox::clear_label() {
54293   label_ = 0;
54294   clear_has_label();
54295 }
54296 ::google::protobuf::int32 NormalizedBBox::label() const {
54297   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.label)
54298   return label_;
54299 }
54300 void NormalizedBBox::set_label(::google::protobuf::int32 value) {
54301   set_has_label();
54302   label_ = value;
54303   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.label)
54304 }
54305
54306 // optional bool difficult = 6;
54307 bool NormalizedBBox::has_difficult() const {
54308   return (_has_bits_[0] & 0x00000020u) != 0;
54309 }
54310 void NormalizedBBox::set_has_difficult() {
54311   _has_bits_[0] |= 0x00000020u;
54312 }
54313 void NormalizedBBox::clear_has_difficult() {
54314   _has_bits_[0] &= ~0x00000020u;
54315 }
54316 void NormalizedBBox::clear_difficult() {
54317   difficult_ = false;
54318   clear_has_difficult();
54319 }
54320 bool NormalizedBBox::difficult() const {
54321   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.difficult)
54322   return difficult_;
54323 }
54324 void NormalizedBBox::set_difficult(bool value) {
54325   set_has_difficult();
54326   difficult_ = value;
54327   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.difficult)
54328 }
54329
54330 // optional float score = 7;
54331 bool NormalizedBBox::has_score() const {
54332   return (_has_bits_[0] & 0x00000040u) != 0;
54333 }
54334 void NormalizedBBox::set_has_score() {
54335   _has_bits_[0] |= 0x00000040u;
54336 }
54337 void NormalizedBBox::clear_has_score() {
54338   _has_bits_[0] &= ~0x00000040u;
54339 }
54340 void NormalizedBBox::clear_score() {
54341   score_ = 0;
54342   clear_has_score();
54343 }
54344 float NormalizedBBox::score() const {
54345   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.score)
54346   return score_;
54347 }
54348 void NormalizedBBox::set_score(float value) {
54349   set_has_score();
54350   score_ = value;
54351   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.score)
54352 }
54353
54354 // optional float size = 8;
54355 bool NormalizedBBox::has_size() const {
54356   return (_has_bits_[0] & 0x00000080u) != 0;
54357 }
54358 void NormalizedBBox::set_has_size() {
54359   _has_bits_[0] |= 0x00000080u;
54360 }
54361 void NormalizedBBox::clear_has_size() {
54362   _has_bits_[0] &= ~0x00000080u;
54363 }
54364 void NormalizedBBox::clear_size() {
54365   size_ = 0;
54366   clear_has_size();
54367 }
54368 float NormalizedBBox::size() const {
54369   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.size)
54370   return size_;
54371 }
54372 void NormalizedBBox::set_size(float value) {
54373   set_has_size();
54374   size_ = value;
54375   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.size)
54376 }
54377
54378 inline const NormalizedBBox* NormalizedBBox::internal_default_instance() {
54379   return &NormalizedBBox_default_instance_.get();
54380 }
54381 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
54382
54383 // ===================================================================
54384
54385 #if !defined(_MSC_VER) || _MSC_VER >= 1900
54386 const int ROIPoolingParameter::kPooledHFieldNumber;
54387 const int ROIPoolingParameter::kPooledWFieldNumber;
54388 const int ROIPoolingParameter::kSpatialScaleFieldNumber;
54389 #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
54390
54391 ROIPoolingParameter::ROIPoolingParameter()
54392   : ::google::protobuf::Message(), _internal_metadata_(NULL) {
54393   if (this != internal_default_instance()) protobuf_InitDefaults_opencv_2dcaffe_2eproto();
54394   SharedCtor();
54395   // @@protoc_insertion_point(constructor:opencv_caffe.ROIPoolingParameter)
54396 }
54397
54398 void ROIPoolingParameter::InitAsDefaultInstance() {
54399 }
54400
54401 ROIPoolingParameter::ROIPoolingParameter(const ROIPoolingParameter& from)
54402   : ::google::protobuf::Message(),
54403     _internal_metadata_(NULL) {
54404   SharedCtor();
54405   UnsafeMergeFrom(from);
54406   // @@protoc_insertion_point(copy_constructor:opencv_caffe.ROIPoolingParameter)
54407 }
54408
54409 void ROIPoolingParameter::SharedCtor() {
54410   _cached_size_ = 0;
54411   ::memset(&pooled_h_, 0, reinterpret_cast<char*>(&pooled_w_) -
54412     reinterpret_cast<char*>(&pooled_h_) + sizeof(pooled_w_));
54413   spatial_scale_ = 1;
54414 }
54415
54416 ROIPoolingParameter::~ROIPoolingParameter() {
54417   // @@protoc_insertion_point(destructor:opencv_caffe.ROIPoolingParameter)
54418   SharedDtor();
54419 }
54420
54421 void ROIPoolingParameter::SharedDtor() {
54422 }
54423
54424 void ROIPoolingParameter::SetCachedSize(int size) const {
54425   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
54426   _cached_size_ = size;
54427   GOOGLE_SAFE_CONCURRENT_WRITES_END();
54428 }
54429 const ::google::protobuf::Descriptor* ROIPoolingParameter::descriptor() {
54430   protobuf_AssignDescriptorsOnce();
54431   return ROIPoolingParameter_descriptor_;
54432 }
54433
54434 const ROIPoolingParameter& ROIPoolingParameter::default_instance() {
54435   protobuf_InitDefaults_opencv_2dcaffe_2eproto();
54436   return *internal_default_instance();
54437 }
54438
54439 ::google::protobuf::internal::ExplicitlyConstructed<ROIPoolingParameter> ROIPoolingParameter_default_instance_;
54440
54441 ROIPoolingParameter* ROIPoolingParameter::New(::google::protobuf::Arena* arena) const {
54442   ROIPoolingParameter* n = new ROIPoolingParameter;
54443   if (arena != NULL) {
54444     arena->Own(n);
54445   }
54446   return n;
54447 }
54448
54449 void ROIPoolingParameter::Clear() {
54450 // @@protoc_insertion_point(message_clear_start:opencv_caffe.ROIPoolingParameter)
54451 #if defined(__clang__)
54452 #define ZR_HELPER_(f) \
54453   _Pragma("clang diagnostic push") \
54454   _Pragma("clang diagnostic ignored \"-Winvalid-offsetof\"") \
54455   __builtin_offsetof(ROIPoolingParameter, f) \
54456   _Pragma("clang diagnostic pop")
54457 #else
54458 #define ZR_HELPER_(f) reinterpret_cast<char*>(\
54459   &reinterpret_cast<ROIPoolingParameter*>(16)->f)
54460 #endif
54461
54462 #define ZR_(first, last) do {\
54463   ::memset(&(first), 0,\
54464            ZR_HELPER_(last) - ZR_HELPER_(first) + sizeof(last));\
54465 } while (0)
54466
54467   if (_has_bits_[0 / 32] & 7u) {
54468     ZR_(pooled_h_, pooled_w_);
54469     spatial_scale_ = 1;
54470   }
54471
54472 #undef ZR_HELPER_
54473 #undef ZR_
54474
54475   _has_bits_.Clear();
54476   if (_internal_metadata_.have_unknown_fields()) {
54477     mutable_unknown_fields()->Clear();
54478   }
54479 }
54480
54481 bool ROIPoolingParameter::MergePartialFromCodedStream(
54482     ::google::protobuf::io::CodedInputStream* input) {
54483 #define DO_(EXPRESSION) if (!GOOGLE_PREDICT_TRUE(EXPRESSION)) goto failure
54484   ::google::protobuf::uint32 tag;
54485   // @@protoc_insertion_point(parse_start:opencv_caffe.ROIPoolingParameter)
54486   for (;;) {
54487     ::std::pair< ::google::protobuf::uint32, bool> p = input->ReadTagWithCutoff(127);
54488     tag = p.first;
54489     if (!p.second) goto handle_unusual;
54490     switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
54491       // optional uint32 pooled_h = 1 [default = 0];
54492       case 1: {
54493         if (tag == 8) {
54494           set_has_pooled_h();
54495           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54496                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
54497                  input, &pooled_h_)));
54498         } else {
54499           goto handle_unusual;
54500         }
54501         if (input->ExpectTag(16)) goto parse_pooled_w;
54502         break;
54503       }
54504
54505       // optional uint32 pooled_w = 2 [default = 0];
54506       case 2: {
54507         if (tag == 16) {
54508          parse_pooled_w:
54509           set_has_pooled_w();
54510           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54511                    ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
54512                  input, &pooled_w_)));
54513         } else {
54514           goto handle_unusual;
54515         }
54516         if (input->ExpectTag(29)) goto parse_spatial_scale;
54517         break;
54518       }
54519
54520       // optional float spatial_scale = 3 [default = 1];
54521       case 3: {
54522         if (tag == 29) {
54523          parse_spatial_scale:
54524           set_has_spatial_scale();
54525           DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
54526                    float, ::google::protobuf::internal::WireFormatLite::TYPE_FLOAT>(
54527                  input, &spatial_scale_)));
54528         } else {
54529           goto handle_unusual;
54530         }
54531         if (input->ExpectAtEnd()) goto success;
54532         break;
54533       }
54534
54535       default: {
54536       handle_unusual:
54537         if (tag == 0 ||
54538             ::google::protobuf::internal::WireFormatLite::GetTagWireType(tag) ==
54539             ::google::protobuf::internal::WireFormatLite::WIRETYPE_END_GROUP) {
54540           goto success;
54541         }
54542         DO_(::google::protobuf::internal::WireFormat::SkipField(
54543               input, tag, mutable_unknown_fields()));
54544         break;
54545       }
54546     }
54547   }
54548 success:
54549   // @@protoc_insertion_point(parse_success:opencv_caffe.ROIPoolingParameter)
54550   return true;
54551 failure:
54552   // @@protoc_insertion_point(parse_failure:opencv_caffe.ROIPoolingParameter)
54553   return false;
54554 #undef DO_
54555 }
54556
54557 void ROIPoolingParameter::SerializeWithCachedSizes(
54558     ::google::protobuf::io::CodedOutputStream* output) const {
54559   // @@protoc_insertion_point(serialize_start:opencv_caffe.ROIPoolingParameter)
54560   // optional uint32 pooled_h = 1 [default = 0];
54561   if (has_pooled_h()) {
54562     ::google::protobuf::internal::WireFormatLite::WriteUInt32(1, this->pooled_h(), output);
54563   }
54564
54565   // optional uint32 pooled_w = 2 [default = 0];
54566   if (has_pooled_w()) {
54567     ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->pooled_w(), output);
54568   }
54569
54570   // optional float spatial_scale = 3 [default = 1];
54571   if (has_spatial_scale()) {
54572     ::google::protobuf::internal::WireFormatLite::WriteFloat(3, this->spatial_scale(), output);
54573   }
54574
54575   if (_internal_metadata_.have_unknown_fields()) {
54576     ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
54577         unknown_fields(), output);
54578   }
54579   // @@protoc_insertion_point(serialize_end:opencv_caffe.ROIPoolingParameter)
54580 }
54581
54582 ::google::protobuf::uint8* ROIPoolingParameter::InternalSerializeWithCachedSizesToArray(
54583     bool deterministic, ::google::protobuf::uint8* target) const {
54584   (void)deterministic; // Unused
54585   // @@protoc_insertion_point(serialize_to_array_start:opencv_caffe.ROIPoolingParameter)
54586   // optional uint32 pooled_h = 1 [default = 0];
54587   if (has_pooled_h()) {
54588     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(1, this->pooled_h(), target);
54589   }
54590
54591   // optional uint32 pooled_w = 2 [default = 0];
54592   if (has_pooled_w()) {
54593     target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->pooled_w(), target);
54594   }
54595
54596   // optional float spatial_scale = 3 [default = 1];
54597   if (has_spatial_scale()) {
54598     target = ::google::protobuf::internal::WireFormatLite::WriteFloatToArray(3, this->spatial_scale(), target);
54599   }
54600
54601   if (_internal_metadata_.have_unknown_fields()) {
54602     target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray(
54603         unknown_fields(), target);
54604   }
54605   // @@protoc_insertion_point(serialize_to_array_end:opencv_caffe.ROIPoolingParameter)
54606   return target;
54607 }
54608
54609 size_t ROIPoolingParameter::ByteSizeLong() const {
54610 // @@protoc_insertion_point(message_byte_size_start:opencv_caffe.ROIPoolingParameter)
54611   size_t total_size = 0;
54612
54613   if (_has_bits_[0 / 32] & 7u) {
54614     // optional uint32 pooled_h = 1 [default = 0];
54615     if (has_pooled_h()) {
54616       total_size += 1 +
54617         ::google::protobuf::internal::WireFormatLite::UInt32Size(
54618           this->pooled_h());
54619     }
54620
54621     // optional uint32 pooled_w = 2 [default = 0];
54622     if (has_pooled_w()) {
54623       total_size += 1 +
54624         ::google::protobuf::internal::WireFormatLite::UInt32Size(
54625           this->pooled_w());
54626     }
54627
54628     // optional float spatial_scale = 3 [default = 1];
54629     if (has_spatial_scale()) {
54630       total_size += 1 + 4;
54631     }
54632
54633   }
54634   if (_internal_metadata_.have_unknown_fields()) {
54635     total_size +=
54636       ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize(
54637         unknown_fields());
54638   }
54639   int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
54640   GOOGLE_SAFE_CONCURRENT_WRITES_BEGIN();
54641   _cached_size_ = cached_size;
54642   GOOGLE_SAFE_CONCURRENT_WRITES_END();
54643   return total_size;
54644 }
54645
54646 void ROIPoolingParameter::MergeFrom(const ::google::protobuf::Message& from) {
54647 // @@protoc_insertion_point(generalized_merge_from_start:opencv_caffe.ROIPoolingParameter)
54648   if (GOOGLE_PREDICT_FALSE(&from == this)) MergeFromFail(__LINE__);
54649   const ROIPoolingParameter* source =
54650       ::google::protobuf::internal::DynamicCastToGenerated<const ROIPoolingParameter>(
54651           &from);
54652   if (source == NULL) {
54653   // @@protoc_insertion_point(generalized_merge_from_cast_fail:opencv_caffe.ROIPoolingParameter)
54654     ::google::protobuf::internal::ReflectionOps::Merge(from, this);
54655   } else {
54656   // @@protoc_insertion_point(generalized_merge_from_cast_success:opencv_caffe.ROIPoolingParameter)
54657     UnsafeMergeFrom(*source);
54658   }
54659 }
54660
54661 void ROIPoolingParameter::MergeFrom(const ROIPoolingParameter& from) {
54662 // @@protoc_insertion_point(class_specific_merge_from_start:opencv_caffe.ROIPoolingParameter)
54663   if (GOOGLE_PREDICT_TRUE(&from != this)) {
54664     UnsafeMergeFrom(from);
54665   } else {
54666     MergeFromFail(__LINE__);
54667   }
54668 }
54669
54670 void ROIPoolingParameter::UnsafeMergeFrom(const ROIPoolingParameter& from) {
54671   GOOGLE_DCHECK(&from != this);
54672   if (from._has_bits_[0 / 32] & (0xffu << (0 % 32))) {
54673     if (from.has_pooled_h()) {
54674       set_pooled_h(from.pooled_h());
54675     }
54676     if (from.has_pooled_w()) {
54677       set_pooled_w(from.pooled_w());
54678     }
54679     if (from.has_spatial_scale()) {
54680       set_spatial_scale(from.spatial_scale());
54681     }
54682   }
54683   if (from._internal_metadata_.have_unknown_fields()) {
54684     ::google::protobuf::UnknownFieldSet::MergeToInternalMetdata(
54685       from.unknown_fields(), &_internal_metadata_);
54686   }
54687 }
54688
54689 void ROIPoolingParameter::CopyFrom(const ::google::protobuf::Message& from) {
54690 // @@protoc_insertion_point(generalized_copy_from_start:opencv_caffe.ROIPoolingParameter)
54691   if (&from == this) return;
54692   Clear();
54693   MergeFrom(from);
54694 }
54695
54696 void ROIPoolingParameter::CopyFrom(const ROIPoolingParameter& from) {
54697 // @@protoc_insertion_point(class_specific_copy_from_start:opencv_caffe.ROIPoolingParameter)
54698   if (&from == this) return;
54699   Clear();
54700   UnsafeMergeFrom(from);
54701 }
54702
54703 bool ROIPoolingParameter::IsInitialized() const {
54704
54705   return true;
54706 }
54707
54708 void ROIPoolingParameter::Swap(ROIPoolingParameter* other) {
54709   if (other == this) return;
54710   InternalSwap(other);
54711 }
54712 void ROIPoolingParameter::InternalSwap(ROIPoolingParameter* other) {
54713   std::swap(pooled_h_, other->pooled_h_);
54714   std::swap(pooled_w_, other->pooled_w_);
54715   std::swap(spatial_scale_, other->spatial_scale_);
54716   std::swap(_has_bits_[0], other->_has_bits_[0]);
54717   _internal_metadata_.Swap(&other->_internal_metadata_);
54718   std::swap(_cached_size_, other->_cached_size_);
54719 }
54720
54721 ::google::protobuf::Metadata ROIPoolingParameter::GetMetadata() const {
54722   protobuf_AssignDescriptorsOnce();
54723   ::google::protobuf::Metadata metadata;
54724   metadata.descriptor = ROIPoolingParameter_descriptor_;
54725   metadata.reflection = ROIPoolingParameter_reflection_;
54726   return metadata;
54727 }
54728
54729 #if PROTOBUF_INLINE_NOT_IN_HEADERS
54730 // ROIPoolingParameter
54731
54732 // optional uint32 pooled_h = 1 [default = 0];
54733 bool ROIPoolingParameter::has_pooled_h() const {
54734   return (_has_bits_[0] & 0x00000001u) != 0;
54735 }
54736 void ROIPoolingParameter::set_has_pooled_h() {
54737   _has_bits_[0] |= 0x00000001u;
54738 }
54739 void ROIPoolingParameter::clear_has_pooled_h() {
54740   _has_bits_[0] &= ~0x00000001u;
54741 }
54742 void ROIPoolingParameter::clear_pooled_h() {
54743   pooled_h_ = 0u;
54744   clear_has_pooled_h();
54745 }
54746 ::google::protobuf::uint32 ROIPoolingParameter::pooled_h() const {
54747   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_h)
54748   return pooled_h_;
54749 }
54750 void ROIPoolingParameter::set_pooled_h(::google::protobuf::uint32 value) {
54751   set_has_pooled_h();
54752   pooled_h_ = value;
54753   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_h)
54754 }
54755
54756 // optional uint32 pooled_w = 2 [default = 0];
54757 bool ROIPoolingParameter::has_pooled_w() const {
54758   return (_has_bits_[0] & 0x00000002u) != 0;
54759 }
54760 void ROIPoolingParameter::set_has_pooled_w() {
54761   _has_bits_[0] |= 0x00000002u;
54762 }
54763 void ROIPoolingParameter::clear_has_pooled_w() {
54764   _has_bits_[0] &= ~0x00000002u;
54765 }
54766 void ROIPoolingParameter::clear_pooled_w() {
54767   pooled_w_ = 0u;
54768   clear_has_pooled_w();
54769 }
54770 ::google::protobuf::uint32 ROIPoolingParameter::pooled_w() const {
54771   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_w)
54772   return pooled_w_;
54773 }
54774 void ROIPoolingParameter::set_pooled_w(::google::protobuf::uint32 value) {
54775   set_has_pooled_w();
54776   pooled_w_ = value;
54777   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_w)
54778 }
54779
54780 // optional float spatial_scale = 3 [default = 1];
54781 bool ROIPoolingParameter::has_spatial_scale() const {
54782   return (_has_bits_[0] & 0x00000004u) != 0;
54783 }
54784 void ROIPoolingParameter::set_has_spatial_scale() {
54785   _has_bits_[0] |= 0x00000004u;
54786 }
54787 void ROIPoolingParameter::clear_has_spatial_scale() {
54788   _has_bits_[0] &= ~0x00000004u;
54789 }
54790 void ROIPoolingParameter::clear_spatial_scale() {
54791   spatial_scale_ = 1;
54792   clear_has_spatial_scale();
54793 }
54794 float ROIPoolingParameter::spatial_scale() const {
54795   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.spatial_scale)
54796   return spatial_scale_;
54797 }
54798 void ROIPoolingParameter::set_spatial_scale(float value) {
54799   set_has_spatial_scale();
54800   spatial_scale_ = value;
54801   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.spatial_scale)
54802 }
54803
54804 inline const ROIPoolingParameter* ROIPoolingParameter::internal_default_instance() {
54805   return &ROIPoolingParameter_default_instance_.get();
54806 }
54807 #endif  // PROTOBUF_INLINE_NOT_IN_HEADERS
54808
54809 // @@protoc_insertion_point(namespace_scope)
54810
54811 }  // namespace opencv_caffe
54812
54813 // @@protoc_insertion_point(global_scope)