0ee607c82b06ea3acd1e4f1c68e94c2d794efea7
[platform/upstream/opencv.git] / modules / dnn / misc / caffe / opencv-caffe.pb.h
1 // Generated by the protocol buffer compiler.  DO NOT EDIT!
2 // source: opencv-caffe.proto
3
4 #ifndef PROTOBUF_opencv_2dcaffe_2eproto__INCLUDED
5 #define PROTOBUF_opencv_2dcaffe_2eproto__INCLUDED
6
7 #include <string>
8
9 #include <google/protobuf/stubs/common.h>
10
11 #if GOOGLE_PROTOBUF_VERSION < 3001000
12 #error This file was generated by a newer version of protoc which is
13 #error incompatible with your Protocol Buffer headers.  Please update
14 #error your headers.
15 #endif
16 #if 3001000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
17 #error This file was generated by an older version of protoc which is
18 #error incompatible with your Protocol Buffer headers.  Please
19 #error regenerate this file with a newer version of protoc.
20 #endif
21
22 #include <google/protobuf/arena.h>
23 #include <google/protobuf/arenastring.h>
24 #include <google/protobuf/generated_message_util.h>
25 #include <google/protobuf/metadata.h>
26 #include <google/protobuf/message.h>
27 #include <google/protobuf/repeated_field.h>
28 #include <google/protobuf/extension_set.h>
29 #include <google/protobuf/generated_enum_reflection.h>
30 #include <google/protobuf/unknown_field_set.h>
31 // @@protoc_insertion_point(includes)
32
33 namespace opencv_caffe {
34
35 // Internal implementation detail -- do not call these.
36 void protobuf_AddDesc_opencv_2dcaffe_2eproto();
37 void protobuf_InitDefaults_opencv_2dcaffe_2eproto();
38 void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
39 void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
40
41 class AccuracyParameter;
42 class ArgMaxParameter;
43 class BatchNormParameter;
44 class BiasParameter;
45 class BlobProto;
46 class BlobProtoVector;
47 class BlobShape;
48 class ConcatParameter;
49 class ContrastiveLossParameter;
50 class ConvolutionParameter;
51 class CropParameter;
52 class DataParameter;
53 class Datum;
54 class DetectionOutputParameter;
55 class DropoutParameter;
56 class DummyDataParameter;
57 class ELUParameter;
58 class EltwiseParameter;
59 class EmbedParameter;
60 class ExpParameter;
61 class FillerParameter;
62 class FlattenParameter;
63 class HDF5DataParameter;
64 class HDF5OutputParameter;
65 class HingeLossParameter;
66 class ImageDataParameter;
67 class InfogainLossParameter;
68 class InnerProductParameter;
69 class InputParameter;
70 class LRNParameter;
71 class LayerParameter;
72 class LogParameter;
73 class LossParameter;
74 class MVNParameter;
75 class MemoryDataParameter;
76 class NetParameter;
77 class NetState;
78 class NetStateRule;
79 class NonMaximumSuppressionParameter;
80 class NormalizeBBoxParameter;
81 class NormalizedBBox;
82 class PReLUParameter;
83 class ParamSpec;
84 class ParameterParameter;
85 class PermuteParameter;
86 class PoolingParameter;
87 class PowerParameter;
88 class PriorBoxParameter;
89 class PythonParameter;
90 class ROIPoolingParameter;
91 class ReLUParameter;
92 class RecurrentParameter;
93 class ReductionParameter;
94 class ReshapeParameter;
95 class SPPParameter;
96 class SaveOutputParameter;
97 class ScaleParameter;
98 class SigmoidParameter;
99 class SliceParameter;
100 class SoftmaxParameter;
101 class SolverParameter;
102 class SolverState;
103 class TanHParameter;
104 class ThresholdParameter;
105 class TileParameter;
106 class TransformationParameter;
107 class V0LayerParameter;
108 class V1LayerParameter;
109 class WindowDataParameter;
110
111 enum PriorBoxParameter_CodeType {
112   PriorBoxParameter_CodeType_CORNER = 1,
113   PriorBoxParameter_CodeType_CENTER_SIZE = 2
114 };
115 bool PriorBoxParameter_CodeType_IsValid(int value);
116 const PriorBoxParameter_CodeType PriorBoxParameter_CodeType_CodeType_MIN = PriorBoxParameter_CodeType_CORNER;
117 const PriorBoxParameter_CodeType PriorBoxParameter_CodeType_CodeType_MAX = PriorBoxParameter_CodeType_CENTER_SIZE;
118 const int PriorBoxParameter_CodeType_CodeType_ARRAYSIZE = PriorBoxParameter_CodeType_CodeType_MAX + 1;
119
120 const ::google::protobuf::EnumDescriptor* PriorBoxParameter_CodeType_descriptor();
121 inline const ::std::string& PriorBoxParameter_CodeType_Name(PriorBoxParameter_CodeType value) {
122   return ::google::protobuf::internal::NameOfEnum(
123     PriorBoxParameter_CodeType_descriptor(), value);
124 }
125 inline bool PriorBoxParameter_CodeType_Parse(
126     const ::std::string& name, PriorBoxParameter_CodeType* value) {
127   return ::google::protobuf::internal::ParseNamedEnum<PriorBoxParameter_CodeType>(
128     PriorBoxParameter_CodeType_descriptor(), name, value);
129 }
130 enum FillerParameter_VarianceNorm {
131   FillerParameter_VarianceNorm_FAN_IN = 0,
132   FillerParameter_VarianceNorm_FAN_OUT = 1,
133   FillerParameter_VarianceNorm_AVERAGE = 2
134 };
135 bool FillerParameter_VarianceNorm_IsValid(int value);
136 const FillerParameter_VarianceNorm FillerParameter_VarianceNorm_VarianceNorm_MIN = FillerParameter_VarianceNorm_FAN_IN;
137 const FillerParameter_VarianceNorm FillerParameter_VarianceNorm_VarianceNorm_MAX = FillerParameter_VarianceNorm_AVERAGE;
138 const int FillerParameter_VarianceNorm_VarianceNorm_ARRAYSIZE = FillerParameter_VarianceNorm_VarianceNorm_MAX + 1;
139
140 const ::google::protobuf::EnumDescriptor* FillerParameter_VarianceNorm_descriptor();
141 inline const ::std::string& FillerParameter_VarianceNorm_Name(FillerParameter_VarianceNorm value) {
142   return ::google::protobuf::internal::NameOfEnum(
143     FillerParameter_VarianceNorm_descriptor(), value);
144 }
145 inline bool FillerParameter_VarianceNorm_Parse(
146     const ::std::string& name, FillerParameter_VarianceNorm* value) {
147   return ::google::protobuf::internal::ParseNamedEnum<FillerParameter_VarianceNorm>(
148     FillerParameter_VarianceNorm_descriptor(), name, value);
149 }
150 enum SolverParameter_SnapshotFormat {
151   SolverParameter_SnapshotFormat_HDF5 = 0,
152   SolverParameter_SnapshotFormat_BINARYPROTO = 1
153 };
154 bool SolverParameter_SnapshotFormat_IsValid(int value);
155 const SolverParameter_SnapshotFormat SolverParameter_SnapshotFormat_SnapshotFormat_MIN = SolverParameter_SnapshotFormat_HDF5;
156 const SolverParameter_SnapshotFormat SolverParameter_SnapshotFormat_SnapshotFormat_MAX = SolverParameter_SnapshotFormat_BINARYPROTO;
157 const int SolverParameter_SnapshotFormat_SnapshotFormat_ARRAYSIZE = SolverParameter_SnapshotFormat_SnapshotFormat_MAX + 1;
158
159 const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor();
160 inline const ::std::string& SolverParameter_SnapshotFormat_Name(SolverParameter_SnapshotFormat value) {
161   return ::google::protobuf::internal::NameOfEnum(
162     SolverParameter_SnapshotFormat_descriptor(), value);
163 }
164 inline bool SolverParameter_SnapshotFormat_Parse(
165     const ::std::string& name, SolverParameter_SnapshotFormat* value) {
166   return ::google::protobuf::internal::ParseNamedEnum<SolverParameter_SnapshotFormat>(
167     SolverParameter_SnapshotFormat_descriptor(), name, value);
168 }
169 enum SolverParameter_SolverMode {
170   SolverParameter_SolverMode_CPU = 0,
171   SolverParameter_SolverMode_GPU = 1
172 };
173 bool SolverParameter_SolverMode_IsValid(int value);
174 const SolverParameter_SolverMode SolverParameter_SolverMode_SolverMode_MIN = SolverParameter_SolverMode_CPU;
175 const SolverParameter_SolverMode SolverParameter_SolverMode_SolverMode_MAX = SolverParameter_SolverMode_GPU;
176 const int SolverParameter_SolverMode_SolverMode_ARRAYSIZE = SolverParameter_SolverMode_SolverMode_MAX + 1;
177
178 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverMode_descriptor();
179 inline const ::std::string& SolverParameter_SolverMode_Name(SolverParameter_SolverMode value) {
180   return ::google::protobuf::internal::NameOfEnum(
181     SolverParameter_SolverMode_descriptor(), value);
182 }
183 inline bool SolverParameter_SolverMode_Parse(
184     const ::std::string& name, SolverParameter_SolverMode* value) {
185   return ::google::protobuf::internal::ParseNamedEnum<SolverParameter_SolverMode>(
186     SolverParameter_SolverMode_descriptor(), name, value);
187 }
188 enum SolverParameter_SolverType {
189   SolverParameter_SolverType_SGD = 0,
190   SolverParameter_SolverType_NESTEROV = 1,
191   SolverParameter_SolverType_ADAGRAD = 2,
192   SolverParameter_SolverType_RMSPROP = 3,
193   SolverParameter_SolverType_ADADELTA = 4,
194   SolverParameter_SolverType_ADAM = 5
195 };
196 bool SolverParameter_SolverType_IsValid(int value);
197 const SolverParameter_SolverType SolverParameter_SolverType_SolverType_MIN = SolverParameter_SolverType_SGD;
198 const SolverParameter_SolverType SolverParameter_SolverType_SolverType_MAX = SolverParameter_SolverType_ADAM;
199 const int SolverParameter_SolverType_SolverType_ARRAYSIZE = SolverParameter_SolverType_SolverType_MAX + 1;
200
201 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverType_descriptor();
202 inline const ::std::string& SolverParameter_SolverType_Name(SolverParameter_SolverType value) {
203   return ::google::protobuf::internal::NameOfEnum(
204     SolverParameter_SolverType_descriptor(), value);
205 }
206 inline bool SolverParameter_SolverType_Parse(
207     const ::std::string& name, SolverParameter_SolverType* value) {
208   return ::google::protobuf::internal::ParseNamedEnum<SolverParameter_SolverType>(
209     SolverParameter_SolverType_descriptor(), name, value);
210 }
211 enum ParamSpec_DimCheckMode {
212   ParamSpec_DimCheckMode_STRICT = 0,
213   ParamSpec_DimCheckMode_PERMISSIVE = 1
214 };
215 bool ParamSpec_DimCheckMode_IsValid(int value);
216 const ParamSpec_DimCheckMode ParamSpec_DimCheckMode_DimCheckMode_MIN = ParamSpec_DimCheckMode_STRICT;
217 const ParamSpec_DimCheckMode ParamSpec_DimCheckMode_DimCheckMode_MAX = ParamSpec_DimCheckMode_PERMISSIVE;
218 const int ParamSpec_DimCheckMode_DimCheckMode_ARRAYSIZE = ParamSpec_DimCheckMode_DimCheckMode_MAX + 1;
219
220 const ::google::protobuf::EnumDescriptor* ParamSpec_DimCheckMode_descriptor();
221 inline const ::std::string& ParamSpec_DimCheckMode_Name(ParamSpec_DimCheckMode value) {
222   return ::google::protobuf::internal::NameOfEnum(
223     ParamSpec_DimCheckMode_descriptor(), value);
224 }
225 inline bool ParamSpec_DimCheckMode_Parse(
226     const ::std::string& name, ParamSpec_DimCheckMode* value) {
227   return ::google::protobuf::internal::ParseNamedEnum<ParamSpec_DimCheckMode>(
228     ParamSpec_DimCheckMode_descriptor(), name, value);
229 }
230 enum LossParameter_NormalizationMode {
231   LossParameter_NormalizationMode_FULL = 0,
232   LossParameter_NormalizationMode_VALID = 1,
233   LossParameter_NormalizationMode_BATCH_SIZE = 2,
234   LossParameter_NormalizationMode_NONE = 3
235 };
236 bool LossParameter_NormalizationMode_IsValid(int value);
237 const LossParameter_NormalizationMode LossParameter_NormalizationMode_NormalizationMode_MIN = LossParameter_NormalizationMode_FULL;
238 const LossParameter_NormalizationMode LossParameter_NormalizationMode_NormalizationMode_MAX = LossParameter_NormalizationMode_NONE;
239 const int LossParameter_NormalizationMode_NormalizationMode_ARRAYSIZE = LossParameter_NormalizationMode_NormalizationMode_MAX + 1;
240
241 const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor();
242 inline const ::std::string& LossParameter_NormalizationMode_Name(LossParameter_NormalizationMode value) {
243   return ::google::protobuf::internal::NameOfEnum(
244     LossParameter_NormalizationMode_descriptor(), value);
245 }
246 inline bool LossParameter_NormalizationMode_Parse(
247     const ::std::string& name, LossParameter_NormalizationMode* value) {
248   return ::google::protobuf::internal::ParseNamedEnum<LossParameter_NormalizationMode>(
249     LossParameter_NormalizationMode_descriptor(), name, value);
250 }
251 enum ConvolutionParameter_Engine {
252   ConvolutionParameter_Engine_DEFAULT = 0,
253   ConvolutionParameter_Engine_CAFFE = 1,
254   ConvolutionParameter_Engine_CUDNN = 2
255 };
256 bool ConvolutionParameter_Engine_IsValid(int value);
257 const ConvolutionParameter_Engine ConvolutionParameter_Engine_Engine_MIN = ConvolutionParameter_Engine_DEFAULT;
258 const ConvolutionParameter_Engine ConvolutionParameter_Engine_Engine_MAX = ConvolutionParameter_Engine_CUDNN;
259 const int ConvolutionParameter_Engine_Engine_ARRAYSIZE = ConvolutionParameter_Engine_Engine_MAX + 1;
260
261 const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor();
262 inline const ::std::string& ConvolutionParameter_Engine_Name(ConvolutionParameter_Engine value) {
263   return ::google::protobuf::internal::NameOfEnum(
264     ConvolutionParameter_Engine_descriptor(), value);
265 }
266 inline bool ConvolutionParameter_Engine_Parse(
267     const ::std::string& name, ConvolutionParameter_Engine* value) {
268   return ::google::protobuf::internal::ParseNamedEnum<ConvolutionParameter_Engine>(
269     ConvolutionParameter_Engine_descriptor(), name, value);
270 }
271 enum DataParameter_DB {
272   DataParameter_DB_LEVELDB = 0,
273   DataParameter_DB_LMDB = 1
274 };
275 bool DataParameter_DB_IsValid(int value);
276 const DataParameter_DB DataParameter_DB_DB_MIN = DataParameter_DB_LEVELDB;
277 const DataParameter_DB DataParameter_DB_DB_MAX = DataParameter_DB_LMDB;
278 const int DataParameter_DB_DB_ARRAYSIZE = DataParameter_DB_DB_MAX + 1;
279
280 const ::google::protobuf::EnumDescriptor* DataParameter_DB_descriptor();
281 inline const ::std::string& DataParameter_DB_Name(DataParameter_DB value) {
282   return ::google::protobuf::internal::NameOfEnum(
283     DataParameter_DB_descriptor(), value);
284 }
285 inline bool DataParameter_DB_Parse(
286     const ::std::string& name, DataParameter_DB* value) {
287   return ::google::protobuf::internal::ParseNamedEnum<DataParameter_DB>(
288     DataParameter_DB_descriptor(), name, value);
289 }
290 enum EltwiseParameter_EltwiseOp {
291   EltwiseParameter_EltwiseOp_PROD = 0,
292   EltwiseParameter_EltwiseOp_SUM = 1,
293   EltwiseParameter_EltwiseOp_MAX = 2
294 };
295 bool EltwiseParameter_EltwiseOp_IsValid(int value);
296 const EltwiseParameter_EltwiseOp EltwiseParameter_EltwiseOp_EltwiseOp_MIN = EltwiseParameter_EltwiseOp_PROD;
297 const EltwiseParameter_EltwiseOp EltwiseParameter_EltwiseOp_EltwiseOp_MAX = EltwiseParameter_EltwiseOp_MAX;
298 const int EltwiseParameter_EltwiseOp_EltwiseOp_ARRAYSIZE = EltwiseParameter_EltwiseOp_EltwiseOp_MAX + 1;
299
300 const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor();
301 inline const ::std::string& EltwiseParameter_EltwiseOp_Name(EltwiseParameter_EltwiseOp value) {
302   return ::google::protobuf::internal::NameOfEnum(
303     EltwiseParameter_EltwiseOp_descriptor(), value);
304 }
305 inline bool EltwiseParameter_EltwiseOp_Parse(
306     const ::std::string& name, EltwiseParameter_EltwiseOp* value) {
307   return ::google::protobuf::internal::ParseNamedEnum<EltwiseParameter_EltwiseOp>(
308     EltwiseParameter_EltwiseOp_descriptor(), name, value);
309 }
310 enum HingeLossParameter_Norm {
311   HingeLossParameter_Norm_L1 = 1,
312   HingeLossParameter_Norm_L2 = 2
313 };
314 bool HingeLossParameter_Norm_IsValid(int value);
315 const HingeLossParameter_Norm HingeLossParameter_Norm_Norm_MIN = HingeLossParameter_Norm_L1;
316 const HingeLossParameter_Norm HingeLossParameter_Norm_Norm_MAX = HingeLossParameter_Norm_L2;
317 const int HingeLossParameter_Norm_Norm_ARRAYSIZE = HingeLossParameter_Norm_Norm_MAX + 1;
318
319 const ::google::protobuf::EnumDescriptor* HingeLossParameter_Norm_descriptor();
320 inline const ::std::string& HingeLossParameter_Norm_Name(HingeLossParameter_Norm value) {
321   return ::google::protobuf::internal::NameOfEnum(
322     HingeLossParameter_Norm_descriptor(), value);
323 }
324 inline bool HingeLossParameter_Norm_Parse(
325     const ::std::string& name, HingeLossParameter_Norm* value) {
326   return ::google::protobuf::internal::ParseNamedEnum<HingeLossParameter_Norm>(
327     HingeLossParameter_Norm_descriptor(), name, value);
328 }
329 enum LRNParameter_NormRegion {
330   LRNParameter_NormRegion_ACROSS_CHANNELS = 0,
331   LRNParameter_NormRegion_WITHIN_CHANNEL = 1
332 };
333 bool LRNParameter_NormRegion_IsValid(int value);
334 const LRNParameter_NormRegion LRNParameter_NormRegion_NormRegion_MIN = LRNParameter_NormRegion_ACROSS_CHANNELS;
335 const LRNParameter_NormRegion LRNParameter_NormRegion_NormRegion_MAX = LRNParameter_NormRegion_WITHIN_CHANNEL;
336 const int LRNParameter_NormRegion_NormRegion_ARRAYSIZE = LRNParameter_NormRegion_NormRegion_MAX + 1;
337
338 const ::google::protobuf::EnumDescriptor* LRNParameter_NormRegion_descriptor();
339 inline const ::std::string& LRNParameter_NormRegion_Name(LRNParameter_NormRegion value) {
340   return ::google::protobuf::internal::NameOfEnum(
341     LRNParameter_NormRegion_descriptor(), value);
342 }
343 inline bool LRNParameter_NormRegion_Parse(
344     const ::std::string& name, LRNParameter_NormRegion* value) {
345   return ::google::protobuf::internal::ParseNamedEnum<LRNParameter_NormRegion>(
346     LRNParameter_NormRegion_descriptor(), name, value);
347 }
348 enum LRNParameter_Engine {
349   LRNParameter_Engine_DEFAULT = 0,
350   LRNParameter_Engine_CAFFE = 1,
351   LRNParameter_Engine_CUDNN = 2
352 };
353 bool LRNParameter_Engine_IsValid(int value);
354 const LRNParameter_Engine LRNParameter_Engine_Engine_MIN = LRNParameter_Engine_DEFAULT;
355 const LRNParameter_Engine LRNParameter_Engine_Engine_MAX = LRNParameter_Engine_CUDNN;
356 const int LRNParameter_Engine_Engine_ARRAYSIZE = LRNParameter_Engine_Engine_MAX + 1;
357
358 const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor();
359 inline const ::std::string& LRNParameter_Engine_Name(LRNParameter_Engine value) {
360   return ::google::protobuf::internal::NameOfEnum(
361     LRNParameter_Engine_descriptor(), value);
362 }
363 inline bool LRNParameter_Engine_Parse(
364     const ::std::string& name, LRNParameter_Engine* value) {
365   return ::google::protobuf::internal::ParseNamedEnum<LRNParameter_Engine>(
366     LRNParameter_Engine_descriptor(), name, value);
367 }
368 enum PoolingParameter_PoolMethod {
369   PoolingParameter_PoolMethod_MAX = 0,
370   PoolingParameter_PoolMethod_AVE = 1,
371   PoolingParameter_PoolMethod_STOCHASTIC = 2
372 };
373 bool PoolingParameter_PoolMethod_IsValid(int value);
374 const PoolingParameter_PoolMethod PoolingParameter_PoolMethod_PoolMethod_MIN = PoolingParameter_PoolMethod_MAX;
375 const PoolingParameter_PoolMethod PoolingParameter_PoolMethod_PoolMethod_MAX = PoolingParameter_PoolMethod_STOCHASTIC;
376 const int PoolingParameter_PoolMethod_PoolMethod_ARRAYSIZE = PoolingParameter_PoolMethod_PoolMethod_MAX + 1;
377
378 const ::google::protobuf::EnumDescriptor* PoolingParameter_PoolMethod_descriptor();
379 inline const ::std::string& PoolingParameter_PoolMethod_Name(PoolingParameter_PoolMethod value) {
380   return ::google::protobuf::internal::NameOfEnum(
381     PoolingParameter_PoolMethod_descriptor(), value);
382 }
383 inline bool PoolingParameter_PoolMethod_Parse(
384     const ::std::string& name, PoolingParameter_PoolMethod* value) {
385   return ::google::protobuf::internal::ParseNamedEnum<PoolingParameter_PoolMethod>(
386     PoolingParameter_PoolMethod_descriptor(), name, value);
387 }
388 enum PoolingParameter_Engine {
389   PoolingParameter_Engine_DEFAULT = 0,
390   PoolingParameter_Engine_CAFFE = 1,
391   PoolingParameter_Engine_CUDNN = 2
392 };
393 bool PoolingParameter_Engine_IsValid(int value);
394 const PoolingParameter_Engine PoolingParameter_Engine_Engine_MIN = PoolingParameter_Engine_DEFAULT;
395 const PoolingParameter_Engine PoolingParameter_Engine_Engine_MAX = PoolingParameter_Engine_CUDNN;
396 const int PoolingParameter_Engine_Engine_ARRAYSIZE = PoolingParameter_Engine_Engine_MAX + 1;
397
398 const ::google::protobuf::EnumDescriptor* PoolingParameter_Engine_descriptor();
399 inline const ::std::string& PoolingParameter_Engine_Name(PoolingParameter_Engine value) {
400   return ::google::protobuf::internal::NameOfEnum(
401     PoolingParameter_Engine_descriptor(), value);
402 }
403 inline bool PoolingParameter_Engine_Parse(
404     const ::std::string& name, PoolingParameter_Engine* value) {
405   return ::google::protobuf::internal::ParseNamedEnum<PoolingParameter_Engine>(
406     PoolingParameter_Engine_descriptor(), name, value);
407 }
408 enum ReductionParameter_ReductionOp {
409   ReductionParameter_ReductionOp_SUM = 1,
410   ReductionParameter_ReductionOp_ASUM = 2,
411   ReductionParameter_ReductionOp_SUMSQ = 3,
412   ReductionParameter_ReductionOp_MEAN = 4
413 };
414 bool ReductionParameter_ReductionOp_IsValid(int value);
415 const ReductionParameter_ReductionOp ReductionParameter_ReductionOp_ReductionOp_MIN = ReductionParameter_ReductionOp_SUM;
416 const ReductionParameter_ReductionOp ReductionParameter_ReductionOp_ReductionOp_MAX = ReductionParameter_ReductionOp_MEAN;
417 const int ReductionParameter_ReductionOp_ReductionOp_ARRAYSIZE = ReductionParameter_ReductionOp_ReductionOp_MAX + 1;
418
419 const ::google::protobuf::EnumDescriptor* ReductionParameter_ReductionOp_descriptor();
420 inline const ::std::string& ReductionParameter_ReductionOp_Name(ReductionParameter_ReductionOp value) {
421   return ::google::protobuf::internal::NameOfEnum(
422     ReductionParameter_ReductionOp_descriptor(), value);
423 }
424 inline bool ReductionParameter_ReductionOp_Parse(
425     const ::std::string& name, ReductionParameter_ReductionOp* value) {
426   return ::google::protobuf::internal::ParseNamedEnum<ReductionParameter_ReductionOp>(
427     ReductionParameter_ReductionOp_descriptor(), name, value);
428 }
429 enum ReLUParameter_Engine {
430   ReLUParameter_Engine_DEFAULT = 0,
431   ReLUParameter_Engine_CAFFE = 1,
432   ReLUParameter_Engine_CUDNN = 2
433 };
434 bool ReLUParameter_Engine_IsValid(int value);
435 const ReLUParameter_Engine ReLUParameter_Engine_Engine_MIN = ReLUParameter_Engine_DEFAULT;
436 const ReLUParameter_Engine ReLUParameter_Engine_Engine_MAX = ReLUParameter_Engine_CUDNN;
437 const int ReLUParameter_Engine_Engine_ARRAYSIZE = ReLUParameter_Engine_Engine_MAX + 1;
438
439 const ::google::protobuf::EnumDescriptor* ReLUParameter_Engine_descriptor();
440 inline const ::std::string& ReLUParameter_Engine_Name(ReLUParameter_Engine value) {
441   return ::google::protobuf::internal::NameOfEnum(
442     ReLUParameter_Engine_descriptor(), value);
443 }
444 inline bool ReLUParameter_Engine_Parse(
445     const ::std::string& name, ReLUParameter_Engine* value) {
446   return ::google::protobuf::internal::ParseNamedEnum<ReLUParameter_Engine>(
447     ReLUParameter_Engine_descriptor(), name, value);
448 }
449 enum SigmoidParameter_Engine {
450   SigmoidParameter_Engine_DEFAULT = 0,
451   SigmoidParameter_Engine_CAFFE = 1,
452   SigmoidParameter_Engine_CUDNN = 2
453 };
454 bool SigmoidParameter_Engine_IsValid(int value);
455 const SigmoidParameter_Engine SigmoidParameter_Engine_Engine_MIN = SigmoidParameter_Engine_DEFAULT;
456 const SigmoidParameter_Engine SigmoidParameter_Engine_Engine_MAX = SigmoidParameter_Engine_CUDNN;
457 const int SigmoidParameter_Engine_Engine_ARRAYSIZE = SigmoidParameter_Engine_Engine_MAX + 1;
458
459 const ::google::protobuf::EnumDescriptor* SigmoidParameter_Engine_descriptor();
460 inline const ::std::string& SigmoidParameter_Engine_Name(SigmoidParameter_Engine value) {
461   return ::google::protobuf::internal::NameOfEnum(
462     SigmoidParameter_Engine_descriptor(), value);
463 }
464 inline bool SigmoidParameter_Engine_Parse(
465     const ::std::string& name, SigmoidParameter_Engine* value) {
466   return ::google::protobuf::internal::ParseNamedEnum<SigmoidParameter_Engine>(
467     SigmoidParameter_Engine_descriptor(), name, value);
468 }
469 enum SoftmaxParameter_Engine {
470   SoftmaxParameter_Engine_DEFAULT = 0,
471   SoftmaxParameter_Engine_CAFFE = 1,
472   SoftmaxParameter_Engine_CUDNN = 2
473 };
474 bool SoftmaxParameter_Engine_IsValid(int value);
475 const SoftmaxParameter_Engine SoftmaxParameter_Engine_Engine_MIN = SoftmaxParameter_Engine_DEFAULT;
476 const SoftmaxParameter_Engine SoftmaxParameter_Engine_Engine_MAX = SoftmaxParameter_Engine_CUDNN;
477 const int SoftmaxParameter_Engine_Engine_ARRAYSIZE = SoftmaxParameter_Engine_Engine_MAX + 1;
478
479 const ::google::protobuf::EnumDescriptor* SoftmaxParameter_Engine_descriptor();
480 inline const ::std::string& SoftmaxParameter_Engine_Name(SoftmaxParameter_Engine value) {
481   return ::google::protobuf::internal::NameOfEnum(
482     SoftmaxParameter_Engine_descriptor(), value);
483 }
484 inline bool SoftmaxParameter_Engine_Parse(
485     const ::std::string& name, SoftmaxParameter_Engine* value) {
486   return ::google::protobuf::internal::ParseNamedEnum<SoftmaxParameter_Engine>(
487     SoftmaxParameter_Engine_descriptor(), name, value);
488 }
489 enum TanHParameter_Engine {
490   TanHParameter_Engine_DEFAULT = 0,
491   TanHParameter_Engine_CAFFE = 1,
492   TanHParameter_Engine_CUDNN = 2
493 };
494 bool TanHParameter_Engine_IsValid(int value);
495 const TanHParameter_Engine TanHParameter_Engine_Engine_MIN = TanHParameter_Engine_DEFAULT;
496 const TanHParameter_Engine TanHParameter_Engine_Engine_MAX = TanHParameter_Engine_CUDNN;
497 const int TanHParameter_Engine_Engine_ARRAYSIZE = TanHParameter_Engine_Engine_MAX + 1;
498
499 const ::google::protobuf::EnumDescriptor* TanHParameter_Engine_descriptor();
500 inline const ::std::string& TanHParameter_Engine_Name(TanHParameter_Engine value) {
501   return ::google::protobuf::internal::NameOfEnum(
502     TanHParameter_Engine_descriptor(), value);
503 }
504 inline bool TanHParameter_Engine_Parse(
505     const ::std::string& name, TanHParameter_Engine* value) {
506   return ::google::protobuf::internal::ParseNamedEnum<TanHParameter_Engine>(
507     TanHParameter_Engine_descriptor(), name, value);
508 }
509 enum SPPParameter_PoolMethod {
510   SPPParameter_PoolMethod_MAX = 0,
511   SPPParameter_PoolMethod_AVE = 1,
512   SPPParameter_PoolMethod_STOCHASTIC = 2
513 };
514 bool SPPParameter_PoolMethod_IsValid(int value);
515 const SPPParameter_PoolMethod SPPParameter_PoolMethod_PoolMethod_MIN = SPPParameter_PoolMethod_MAX;
516 const SPPParameter_PoolMethod SPPParameter_PoolMethod_PoolMethod_MAX = SPPParameter_PoolMethod_STOCHASTIC;
517 const int SPPParameter_PoolMethod_PoolMethod_ARRAYSIZE = SPPParameter_PoolMethod_PoolMethod_MAX + 1;
518
519 const ::google::protobuf::EnumDescriptor* SPPParameter_PoolMethod_descriptor();
520 inline const ::std::string& SPPParameter_PoolMethod_Name(SPPParameter_PoolMethod value) {
521   return ::google::protobuf::internal::NameOfEnum(
522     SPPParameter_PoolMethod_descriptor(), value);
523 }
524 inline bool SPPParameter_PoolMethod_Parse(
525     const ::std::string& name, SPPParameter_PoolMethod* value) {
526   return ::google::protobuf::internal::ParseNamedEnum<SPPParameter_PoolMethod>(
527     SPPParameter_PoolMethod_descriptor(), name, value);
528 }
529 enum SPPParameter_Engine {
530   SPPParameter_Engine_DEFAULT = 0,
531   SPPParameter_Engine_CAFFE = 1,
532   SPPParameter_Engine_CUDNN = 2
533 };
534 bool SPPParameter_Engine_IsValid(int value);
535 const SPPParameter_Engine SPPParameter_Engine_Engine_MIN = SPPParameter_Engine_DEFAULT;
536 const SPPParameter_Engine SPPParameter_Engine_Engine_MAX = SPPParameter_Engine_CUDNN;
537 const int SPPParameter_Engine_Engine_ARRAYSIZE = SPPParameter_Engine_Engine_MAX + 1;
538
539 const ::google::protobuf::EnumDescriptor* SPPParameter_Engine_descriptor();
540 inline const ::std::string& SPPParameter_Engine_Name(SPPParameter_Engine value) {
541   return ::google::protobuf::internal::NameOfEnum(
542     SPPParameter_Engine_descriptor(), value);
543 }
544 inline bool SPPParameter_Engine_Parse(
545     const ::std::string& name, SPPParameter_Engine* value) {
546   return ::google::protobuf::internal::ParseNamedEnum<SPPParameter_Engine>(
547     SPPParameter_Engine_descriptor(), name, value);
548 }
549 enum V1LayerParameter_LayerType {
550   V1LayerParameter_LayerType_NONE = 0,
551   V1LayerParameter_LayerType_ABSVAL = 35,
552   V1LayerParameter_LayerType_ACCURACY = 1,
553   V1LayerParameter_LayerType_ARGMAX = 30,
554   V1LayerParameter_LayerType_BNLL = 2,
555   V1LayerParameter_LayerType_CONCAT = 3,
556   V1LayerParameter_LayerType_CONTRASTIVE_LOSS = 37,
557   V1LayerParameter_LayerType_CONVOLUTION = 4,
558   V1LayerParameter_LayerType_DATA = 5,
559   V1LayerParameter_LayerType_DECONVOLUTION = 39,
560   V1LayerParameter_LayerType_DROPOUT = 6,
561   V1LayerParameter_LayerType_DUMMY_DATA = 32,
562   V1LayerParameter_LayerType_EUCLIDEAN_LOSS = 7,
563   V1LayerParameter_LayerType_ELTWISE = 25,
564   V1LayerParameter_LayerType_EXP = 38,
565   V1LayerParameter_LayerType_FLATTEN = 8,
566   V1LayerParameter_LayerType_HDF5_DATA = 9,
567   V1LayerParameter_LayerType_HDF5_OUTPUT = 10,
568   V1LayerParameter_LayerType_HINGE_LOSS = 28,
569   V1LayerParameter_LayerType_IM2COL = 11,
570   V1LayerParameter_LayerType_IMAGE_DATA = 12,
571   V1LayerParameter_LayerType_INFOGAIN_LOSS = 13,
572   V1LayerParameter_LayerType_INNER_PRODUCT = 14,
573   V1LayerParameter_LayerType_LRN = 15,
574   V1LayerParameter_LayerType_MEMORY_DATA = 29,
575   V1LayerParameter_LayerType_MULTINOMIAL_LOGISTIC_LOSS = 16,
576   V1LayerParameter_LayerType_MVN = 34,
577   V1LayerParameter_LayerType_POOLING = 17,
578   V1LayerParameter_LayerType_POWER = 26,
579   V1LayerParameter_LayerType_RELU = 18,
580   V1LayerParameter_LayerType_SIGMOID = 19,
581   V1LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS = 27,
582   V1LayerParameter_LayerType_SILENCE = 36,
583   V1LayerParameter_LayerType_SOFTMAX = 20,
584   V1LayerParameter_LayerType_SOFTMAX_LOSS = 21,
585   V1LayerParameter_LayerType_SPLIT = 22,
586   V1LayerParameter_LayerType_SLICE = 33,
587   V1LayerParameter_LayerType_TANH = 23,
588   V1LayerParameter_LayerType_WINDOW_DATA = 24,
589   V1LayerParameter_LayerType_THRESHOLD = 31
590 };
591 bool V1LayerParameter_LayerType_IsValid(int value);
592 const V1LayerParameter_LayerType V1LayerParameter_LayerType_LayerType_MIN = V1LayerParameter_LayerType_NONE;
593 const V1LayerParameter_LayerType V1LayerParameter_LayerType_LayerType_MAX = V1LayerParameter_LayerType_DECONVOLUTION;
594 const int V1LayerParameter_LayerType_LayerType_ARRAYSIZE = V1LayerParameter_LayerType_LayerType_MAX + 1;
595
596 const ::google::protobuf::EnumDescriptor* V1LayerParameter_LayerType_descriptor();
597 inline const ::std::string& V1LayerParameter_LayerType_Name(V1LayerParameter_LayerType value) {
598   return ::google::protobuf::internal::NameOfEnum(
599     V1LayerParameter_LayerType_descriptor(), value);
600 }
601 inline bool V1LayerParameter_LayerType_Parse(
602     const ::std::string& name, V1LayerParameter_LayerType* value) {
603   return ::google::protobuf::internal::ParseNamedEnum<V1LayerParameter_LayerType>(
604     V1LayerParameter_LayerType_descriptor(), name, value);
605 }
606 enum V1LayerParameter_DimCheckMode {
607   V1LayerParameter_DimCheckMode_STRICT = 0,
608   V1LayerParameter_DimCheckMode_PERMISSIVE = 1
609 };
610 bool V1LayerParameter_DimCheckMode_IsValid(int value);
611 const V1LayerParameter_DimCheckMode V1LayerParameter_DimCheckMode_DimCheckMode_MIN = V1LayerParameter_DimCheckMode_STRICT;
612 const V1LayerParameter_DimCheckMode V1LayerParameter_DimCheckMode_DimCheckMode_MAX = V1LayerParameter_DimCheckMode_PERMISSIVE;
613 const int V1LayerParameter_DimCheckMode_DimCheckMode_ARRAYSIZE = V1LayerParameter_DimCheckMode_DimCheckMode_MAX + 1;
614
615 const ::google::protobuf::EnumDescriptor* V1LayerParameter_DimCheckMode_descriptor();
616 inline const ::std::string& V1LayerParameter_DimCheckMode_Name(V1LayerParameter_DimCheckMode value) {
617   return ::google::protobuf::internal::NameOfEnum(
618     V1LayerParameter_DimCheckMode_descriptor(), value);
619 }
620 inline bool V1LayerParameter_DimCheckMode_Parse(
621     const ::std::string& name, V1LayerParameter_DimCheckMode* value) {
622   return ::google::protobuf::internal::ParseNamedEnum<V1LayerParameter_DimCheckMode>(
623     V1LayerParameter_DimCheckMode_descriptor(), name, value);
624 }
625 enum V0LayerParameter_PoolMethod {
626   V0LayerParameter_PoolMethod_MAX = 0,
627   V0LayerParameter_PoolMethod_AVE = 1,
628   V0LayerParameter_PoolMethod_STOCHASTIC = 2
629 };
630 bool V0LayerParameter_PoolMethod_IsValid(int value);
631 const V0LayerParameter_PoolMethod V0LayerParameter_PoolMethod_PoolMethod_MIN = V0LayerParameter_PoolMethod_MAX;
632 const V0LayerParameter_PoolMethod V0LayerParameter_PoolMethod_PoolMethod_MAX = V0LayerParameter_PoolMethod_STOCHASTIC;
633 const int V0LayerParameter_PoolMethod_PoolMethod_ARRAYSIZE = V0LayerParameter_PoolMethod_PoolMethod_MAX + 1;
634
635 const ::google::protobuf::EnumDescriptor* V0LayerParameter_PoolMethod_descriptor();
636 inline const ::std::string& V0LayerParameter_PoolMethod_Name(V0LayerParameter_PoolMethod value) {
637   return ::google::protobuf::internal::NameOfEnum(
638     V0LayerParameter_PoolMethod_descriptor(), value);
639 }
640 inline bool V0LayerParameter_PoolMethod_Parse(
641     const ::std::string& name, V0LayerParameter_PoolMethod* value) {
642   return ::google::protobuf::internal::ParseNamedEnum<V0LayerParameter_PoolMethod>(
643     V0LayerParameter_PoolMethod_descriptor(), name, value);
644 }
645 enum Type {
646   DOUBLE = 0,
647   FLOAT = 1,
648   FLOAT16 = 2,
649   INT = 3,
650   UINT = 4
651 };
652 bool Type_IsValid(int value);
653 const Type Type_MIN = DOUBLE;
654 const Type Type_MAX = UINT;
655 const int Type_ARRAYSIZE = Type_MAX + 1;
656
657 const ::google::protobuf::EnumDescriptor* Type_descriptor();
658 inline const ::std::string& Type_Name(Type value) {
659   return ::google::protobuf::internal::NameOfEnum(
660     Type_descriptor(), value);
661 }
662 inline bool Type_Parse(
663     const ::std::string& name, Type* value) {
664   return ::google::protobuf::internal::ParseNamedEnum<Type>(
665     Type_descriptor(), name, value);
666 }
667 enum Phase {
668   TRAIN = 0,
669   TEST = 1
670 };
671 bool Phase_IsValid(int value);
672 const Phase Phase_MIN = TRAIN;
673 const Phase Phase_MAX = TEST;
674 const int Phase_ARRAYSIZE = Phase_MAX + 1;
675
676 const ::google::protobuf::EnumDescriptor* Phase_descriptor();
677 inline const ::std::string& Phase_Name(Phase value) {
678   return ::google::protobuf::internal::NameOfEnum(
679     Phase_descriptor(), value);
680 }
681 inline bool Phase_Parse(
682     const ::std::string& name, Phase* value) {
683   return ::google::protobuf::internal::ParseNamedEnum<Phase>(
684     Phase_descriptor(), name, value);
685 }
686 // ===================================================================
687
688 class BlobShape : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BlobShape) */ {
689  public:
690   BlobShape();
691   virtual ~BlobShape();
692
693   BlobShape(const BlobShape& from);
694
695   inline BlobShape& operator=(const BlobShape& from) {
696     CopyFrom(from);
697     return *this;
698   }
699
700   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
701     return _internal_metadata_.unknown_fields();
702   }
703
704   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
705     return _internal_metadata_.mutable_unknown_fields();
706   }
707
708   static const ::google::protobuf::Descriptor* descriptor();
709   static const BlobShape& default_instance();
710
711   static const BlobShape* internal_default_instance();
712
713   void Swap(BlobShape* other);
714
715   // implements Message ----------------------------------------------
716
717   inline BlobShape* New() const { return New(NULL); }
718
719   BlobShape* New(::google::protobuf::Arena* arena) const;
720   void CopyFrom(const ::google::protobuf::Message& from);
721   void MergeFrom(const ::google::protobuf::Message& from);
722   void CopyFrom(const BlobShape& from);
723   void MergeFrom(const BlobShape& from);
724   void Clear();
725   bool IsInitialized() const;
726
727   size_t ByteSizeLong() const;
728   bool MergePartialFromCodedStream(
729       ::google::protobuf::io::CodedInputStream* input);
730   void SerializeWithCachedSizes(
731       ::google::protobuf::io::CodedOutputStream* output) const;
732   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
733       bool deterministic, ::google::protobuf::uint8* output) const;
734   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
735     return InternalSerializeWithCachedSizesToArray(false, output);
736   }
737   int GetCachedSize() const { return _cached_size_; }
738   private:
739   void SharedCtor();
740   void SharedDtor();
741   void SetCachedSize(int size) const;
742   void InternalSwap(BlobShape* other);
743   void UnsafeMergeFrom(const BlobShape& from);
744   private:
745   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
746     return _internal_metadata_.arena();
747   }
748   inline void* MaybeArenaPtr() const {
749     return _internal_metadata_.raw_arena_ptr();
750   }
751   public:
752
753   ::google::protobuf::Metadata GetMetadata() const;
754
755   // nested types ----------------------------------------------------
756
757   // accessors -------------------------------------------------------
758
759   // repeated int64 dim = 1 [packed = true];
760   int dim_size() const;
761   void clear_dim();
762   static const int kDimFieldNumber = 1;
763   ::google::protobuf::int64 dim(int index) const;
764   void set_dim(int index, ::google::protobuf::int64 value);
765   void add_dim(::google::protobuf::int64 value);
766   const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
767       dim() const;
768   ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
769       mutable_dim();
770
771   // @@protoc_insertion_point(class_scope:opencv_caffe.BlobShape)
772  private:
773
774   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
775   ::google::protobuf::internal::HasBits<1> _has_bits_;
776   mutable int _cached_size_;
777   ::google::protobuf::RepeatedField< ::google::protobuf::int64 > dim_;
778   mutable int _dim_cached_byte_size_;
779   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
780   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
781   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
782   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
783
784   void InitAsDefaultInstance();
785 };
786 extern ::google::protobuf::internal::ExplicitlyConstructed<BlobShape> BlobShape_default_instance_;
787
788 // -------------------------------------------------------------------
789
790 class BlobProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BlobProto) */ {
791  public:
792   BlobProto();
793   virtual ~BlobProto();
794
795   BlobProto(const BlobProto& from);
796
797   inline BlobProto& operator=(const BlobProto& from) {
798     CopyFrom(from);
799     return *this;
800   }
801
802   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
803     return _internal_metadata_.unknown_fields();
804   }
805
806   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
807     return _internal_metadata_.mutable_unknown_fields();
808   }
809
810   static const ::google::protobuf::Descriptor* descriptor();
811   static const BlobProto& default_instance();
812
813   static const BlobProto* internal_default_instance();
814
815   void Swap(BlobProto* other);
816
817   // implements Message ----------------------------------------------
818
819   inline BlobProto* New() const { return New(NULL); }
820
821   BlobProto* New(::google::protobuf::Arena* arena) const;
822   void CopyFrom(const ::google::protobuf::Message& from);
823   void MergeFrom(const ::google::protobuf::Message& from);
824   void CopyFrom(const BlobProto& from);
825   void MergeFrom(const BlobProto& from);
826   void Clear();
827   bool IsInitialized() const;
828
829   size_t ByteSizeLong() const;
830   bool MergePartialFromCodedStream(
831       ::google::protobuf::io::CodedInputStream* input);
832   void SerializeWithCachedSizes(
833       ::google::protobuf::io::CodedOutputStream* output) const;
834   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
835       bool deterministic, ::google::protobuf::uint8* output) const;
836   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
837     return InternalSerializeWithCachedSizesToArray(false, output);
838   }
839   int GetCachedSize() const { return _cached_size_; }
840   private:
841   void SharedCtor();
842   void SharedDtor();
843   void SetCachedSize(int size) const;
844   void InternalSwap(BlobProto* other);
845   void UnsafeMergeFrom(const BlobProto& from);
846   private:
847   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
848     return _internal_metadata_.arena();
849   }
850   inline void* MaybeArenaPtr() const {
851     return _internal_metadata_.raw_arena_ptr();
852   }
853   public:
854
855   ::google::protobuf::Metadata GetMetadata() const;
856
857   // nested types ----------------------------------------------------
858
859   // accessors -------------------------------------------------------
860
861   // optional .opencv_caffe.BlobShape shape = 7;
862   bool has_shape() const;
863   void clear_shape();
864   static const int kShapeFieldNumber = 7;
865   const ::opencv_caffe::BlobShape& shape() const;
866   ::opencv_caffe::BlobShape* mutable_shape();
867   ::opencv_caffe::BlobShape* release_shape();
868   void set_allocated_shape(::opencv_caffe::BlobShape* shape);
869
870   // repeated float data = 5 [packed = true];
871   int data_size() const;
872   void clear_data();
873   static const int kDataFieldNumber = 5;
874   float data(int index) const;
875   void set_data(int index, float value);
876   void add_data(float value);
877   const ::google::protobuf::RepeatedField< float >&
878       data() const;
879   ::google::protobuf::RepeatedField< float >*
880       mutable_data();
881
882   // repeated float diff = 6 [packed = true];
883   int diff_size() const;
884   void clear_diff();
885   static const int kDiffFieldNumber = 6;
886   float diff(int index) const;
887   void set_diff(int index, float value);
888   void add_diff(float value);
889   const ::google::protobuf::RepeatedField< float >&
890       diff() const;
891   ::google::protobuf::RepeatedField< float >*
892       mutable_diff();
893
894   // repeated double double_data = 8 [packed = true];
895   int double_data_size() const;
896   void clear_double_data();
897   static const int kDoubleDataFieldNumber = 8;
898   double double_data(int index) const;
899   void set_double_data(int index, double value);
900   void add_double_data(double value);
901   const ::google::protobuf::RepeatedField< double >&
902       double_data() const;
903   ::google::protobuf::RepeatedField< double >*
904       mutable_double_data();
905
906   // repeated double double_diff = 9 [packed = true];
907   int double_diff_size() const;
908   void clear_double_diff();
909   static const int kDoubleDiffFieldNumber = 9;
910   double double_diff(int index) const;
911   void set_double_diff(int index, double value);
912   void add_double_diff(double value);
913   const ::google::protobuf::RepeatedField< double >&
914       double_diff() const;
915   ::google::protobuf::RepeatedField< double >*
916       mutable_double_diff();
917
918   // optional .opencv_caffe.Type raw_data_type = 10;
919   bool has_raw_data_type() const;
920   void clear_raw_data_type();
921   static const int kRawDataTypeFieldNumber = 10;
922   ::opencv_caffe::Type raw_data_type() const;
923   void set_raw_data_type(::opencv_caffe::Type value);
924
925   // optional bytes raw_data = 12 [packed = false];
926   bool has_raw_data() const;
927   void clear_raw_data();
928   static const int kRawDataFieldNumber = 12;
929   const ::std::string& raw_data() const;
930   void set_raw_data(const ::std::string& value);
931   void set_raw_data(const char* value);
932   void set_raw_data(const void* value, size_t size);
933   ::std::string* mutable_raw_data();
934   ::std::string* release_raw_data();
935   void set_allocated_raw_data(::std::string* raw_data);
936
937   // optional int32 num = 1 [default = 0];
938   bool has_num() const;
939   void clear_num();
940   static const int kNumFieldNumber = 1;
941   ::google::protobuf::int32 num() const;
942   void set_num(::google::protobuf::int32 value);
943
944   // optional int32 channels = 2 [default = 0];
945   bool has_channels() const;
946   void clear_channels();
947   static const int kChannelsFieldNumber = 2;
948   ::google::protobuf::int32 channels() const;
949   void set_channels(::google::protobuf::int32 value);
950
951   // optional int32 height = 3 [default = 0];
952   bool has_height() const;
953   void clear_height();
954   static const int kHeightFieldNumber = 3;
955   ::google::protobuf::int32 height() const;
956   void set_height(::google::protobuf::int32 value);
957
958   // optional int32 width = 4 [default = 0];
959   bool has_width() const;
960   void clear_width();
961   static const int kWidthFieldNumber = 4;
962   ::google::protobuf::int32 width() const;
963   void set_width(::google::protobuf::int32 value);
964
965   // @@protoc_insertion_point(class_scope:opencv_caffe.BlobProto)
966  private:
967   inline void set_has_shape();
968   inline void clear_has_shape();
969   inline void set_has_raw_data_type();
970   inline void clear_has_raw_data_type();
971   inline void set_has_raw_data();
972   inline void clear_has_raw_data();
973   inline void set_has_num();
974   inline void clear_has_num();
975   inline void set_has_channels();
976   inline void clear_has_channels();
977   inline void set_has_height();
978   inline void clear_has_height();
979   inline void set_has_width();
980   inline void clear_has_width();
981
982   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
983   ::google::protobuf::internal::HasBits<1> _has_bits_;
984   mutable int _cached_size_;
985   ::google::protobuf::RepeatedField< float > data_;
986   mutable int _data_cached_byte_size_;
987   ::google::protobuf::RepeatedField< float > diff_;
988   mutable int _diff_cached_byte_size_;
989   ::google::protobuf::RepeatedField< double > double_data_;
990   mutable int _double_data_cached_byte_size_;
991   ::google::protobuf::RepeatedField< double > double_diff_;
992   mutable int _double_diff_cached_byte_size_;
993   ::google::protobuf::internal::ArenaStringPtr raw_data_;
994   ::opencv_caffe::BlobShape* shape_;
995   int raw_data_type_;
996   ::google::protobuf::int32 num_;
997   ::google::protobuf::int32 channels_;
998   ::google::protobuf::int32 height_;
999   ::google::protobuf::int32 width_;
1000   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1001   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1002   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1003   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1004
1005   void InitAsDefaultInstance();
1006 };
1007 extern ::google::protobuf::internal::ExplicitlyConstructed<BlobProto> BlobProto_default_instance_;
1008
1009 // -------------------------------------------------------------------
1010
1011 class BlobProtoVector : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BlobProtoVector) */ {
1012  public:
1013   BlobProtoVector();
1014   virtual ~BlobProtoVector();
1015
1016   BlobProtoVector(const BlobProtoVector& from);
1017
1018   inline BlobProtoVector& operator=(const BlobProtoVector& from) {
1019     CopyFrom(from);
1020     return *this;
1021   }
1022
1023   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1024     return _internal_metadata_.unknown_fields();
1025   }
1026
1027   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1028     return _internal_metadata_.mutable_unknown_fields();
1029   }
1030
1031   static const ::google::protobuf::Descriptor* descriptor();
1032   static const BlobProtoVector& default_instance();
1033
1034   static const BlobProtoVector* internal_default_instance();
1035
1036   void Swap(BlobProtoVector* other);
1037
1038   // implements Message ----------------------------------------------
1039
1040   inline BlobProtoVector* New() const { return New(NULL); }
1041
1042   BlobProtoVector* New(::google::protobuf::Arena* arena) const;
1043   void CopyFrom(const ::google::protobuf::Message& from);
1044   void MergeFrom(const ::google::protobuf::Message& from);
1045   void CopyFrom(const BlobProtoVector& from);
1046   void MergeFrom(const BlobProtoVector& from);
1047   void Clear();
1048   bool IsInitialized() const;
1049
1050   size_t ByteSizeLong() const;
1051   bool MergePartialFromCodedStream(
1052       ::google::protobuf::io::CodedInputStream* input);
1053   void SerializeWithCachedSizes(
1054       ::google::protobuf::io::CodedOutputStream* output) const;
1055   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1056       bool deterministic, ::google::protobuf::uint8* output) const;
1057   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1058     return InternalSerializeWithCachedSizesToArray(false, output);
1059   }
1060   int GetCachedSize() const { return _cached_size_; }
1061   private:
1062   void SharedCtor();
1063   void SharedDtor();
1064   void SetCachedSize(int size) const;
1065   void InternalSwap(BlobProtoVector* other);
1066   void UnsafeMergeFrom(const BlobProtoVector& from);
1067   private:
1068   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1069     return _internal_metadata_.arena();
1070   }
1071   inline void* MaybeArenaPtr() const {
1072     return _internal_metadata_.raw_arena_ptr();
1073   }
1074   public:
1075
1076   ::google::protobuf::Metadata GetMetadata() const;
1077
1078   // nested types ----------------------------------------------------
1079
1080   // accessors -------------------------------------------------------
1081
1082   // repeated .opencv_caffe.BlobProto blobs = 1;
1083   int blobs_size() const;
1084   void clear_blobs();
1085   static const int kBlobsFieldNumber = 1;
1086   const ::opencv_caffe::BlobProto& blobs(int index) const;
1087   ::opencv_caffe::BlobProto* mutable_blobs(int index);
1088   ::opencv_caffe::BlobProto* add_blobs();
1089   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
1090       mutable_blobs();
1091   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
1092       blobs() const;
1093
1094   // @@protoc_insertion_point(class_scope:opencv_caffe.BlobProtoVector)
1095  private:
1096
1097   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1098   ::google::protobuf::internal::HasBits<1> _has_bits_;
1099   mutable int _cached_size_;
1100   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
1101   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1102   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1103   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1104   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1105
1106   void InitAsDefaultInstance();
1107 };
1108 extern ::google::protobuf::internal::ExplicitlyConstructed<BlobProtoVector> BlobProtoVector_default_instance_;
1109
1110 // -------------------------------------------------------------------
1111
1112 class PermuteParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PermuteParameter) */ {
1113  public:
1114   PermuteParameter();
1115   virtual ~PermuteParameter();
1116
1117   PermuteParameter(const PermuteParameter& from);
1118
1119   inline PermuteParameter& operator=(const PermuteParameter& from) {
1120     CopyFrom(from);
1121     return *this;
1122   }
1123
1124   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1125     return _internal_metadata_.unknown_fields();
1126   }
1127
1128   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1129     return _internal_metadata_.mutable_unknown_fields();
1130   }
1131
1132   static const ::google::protobuf::Descriptor* descriptor();
1133   static const PermuteParameter& default_instance();
1134
1135   static const PermuteParameter* internal_default_instance();
1136
1137   void Swap(PermuteParameter* other);
1138
1139   // implements Message ----------------------------------------------
1140
1141   inline PermuteParameter* New() const { return New(NULL); }
1142
1143   PermuteParameter* New(::google::protobuf::Arena* arena) const;
1144   void CopyFrom(const ::google::protobuf::Message& from);
1145   void MergeFrom(const ::google::protobuf::Message& from);
1146   void CopyFrom(const PermuteParameter& from);
1147   void MergeFrom(const PermuteParameter& from);
1148   void Clear();
1149   bool IsInitialized() const;
1150
1151   size_t ByteSizeLong() const;
1152   bool MergePartialFromCodedStream(
1153       ::google::protobuf::io::CodedInputStream* input);
1154   void SerializeWithCachedSizes(
1155       ::google::protobuf::io::CodedOutputStream* output) const;
1156   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1157       bool deterministic, ::google::protobuf::uint8* output) const;
1158   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1159     return InternalSerializeWithCachedSizesToArray(false, output);
1160   }
1161   int GetCachedSize() const { return _cached_size_; }
1162   private:
1163   void SharedCtor();
1164   void SharedDtor();
1165   void SetCachedSize(int size) const;
1166   void InternalSwap(PermuteParameter* other);
1167   void UnsafeMergeFrom(const PermuteParameter& from);
1168   private:
1169   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1170     return _internal_metadata_.arena();
1171   }
1172   inline void* MaybeArenaPtr() const {
1173     return _internal_metadata_.raw_arena_ptr();
1174   }
1175   public:
1176
1177   ::google::protobuf::Metadata GetMetadata() const;
1178
1179   // nested types ----------------------------------------------------
1180
1181   // accessors -------------------------------------------------------
1182
1183   // repeated uint32 order = 1;
1184   int order_size() const;
1185   void clear_order();
1186   static const int kOrderFieldNumber = 1;
1187   ::google::protobuf::uint32 order(int index) const;
1188   void set_order(int index, ::google::protobuf::uint32 value);
1189   void add_order(::google::protobuf::uint32 value);
1190   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
1191       order() const;
1192   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
1193       mutable_order();
1194
1195   // @@protoc_insertion_point(class_scope:opencv_caffe.PermuteParameter)
1196  private:
1197
1198   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1199   ::google::protobuf::internal::HasBits<1> _has_bits_;
1200   mutable int _cached_size_;
1201   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > order_;
1202   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1203   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1204   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1205   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1206
1207   void InitAsDefaultInstance();
1208 };
1209 extern ::google::protobuf::internal::ExplicitlyConstructed<PermuteParameter> PermuteParameter_default_instance_;
1210
1211 // -------------------------------------------------------------------
1212
1213 class NormalizeBBoxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NormalizeBBoxParameter) */ {
1214  public:
1215   NormalizeBBoxParameter();
1216   virtual ~NormalizeBBoxParameter();
1217
1218   NormalizeBBoxParameter(const NormalizeBBoxParameter& from);
1219
1220   inline NormalizeBBoxParameter& operator=(const NormalizeBBoxParameter& from) {
1221     CopyFrom(from);
1222     return *this;
1223   }
1224
1225   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1226     return _internal_metadata_.unknown_fields();
1227   }
1228
1229   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1230     return _internal_metadata_.mutable_unknown_fields();
1231   }
1232
1233   static const ::google::protobuf::Descriptor* descriptor();
1234   static const NormalizeBBoxParameter& default_instance();
1235
1236   static const NormalizeBBoxParameter* internal_default_instance();
1237
1238   void Swap(NormalizeBBoxParameter* other);
1239
1240   // implements Message ----------------------------------------------
1241
1242   inline NormalizeBBoxParameter* New() const { return New(NULL); }
1243
1244   NormalizeBBoxParameter* New(::google::protobuf::Arena* arena) const;
1245   void CopyFrom(const ::google::protobuf::Message& from);
1246   void MergeFrom(const ::google::protobuf::Message& from);
1247   void CopyFrom(const NormalizeBBoxParameter& from);
1248   void MergeFrom(const NormalizeBBoxParameter& from);
1249   void Clear();
1250   bool IsInitialized() const;
1251
1252   size_t ByteSizeLong() const;
1253   bool MergePartialFromCodedStream(
1254       ::google::protobuf::io::CodedInputStream* input);
1255   void SerializeWithCachedSizes(
1256       ::google::protobuf::io::CodedOutputStream* output) const;
1257   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1258       bool deterministic, ::google::protobuf::uint8* output) const;
1259   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1260     return InternalSerializeWithCachedSizesToArray(false, output);
1261   }
1262   int GetCachedSize() const { return _cached_size_; }
1263   private:
1264   void SharedCtor();
1265   void SharedDtor();
1266   void SetCachedSize(int size) const;
1267   void InternalSwap(NormalizeBBoxParameter* other);
1268   void UnsafeMergeFrom(const NormalizeBBoxParameter& from);
1269   private:
1270   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1271     return _internal_metadata_.arena();
1272   }
1273   inline void* MaybeArenaPtr() const {
1274     return _internal_metadata_.raw_arena_ptr();
1275   }
1276   public:
1277
1278   ::google::protobuf::Metadata GetMetadata() const;
1279
1280   // nested types ----------------------------------------------------
1281
1282   // accessors -------------------------------------------------------
1283
1284   // optional bool across_spatial = 1 [default = true];
1285   bool has_across_spatial() const;
1286   void clear_across_spatial();
1287   static const int kAcrossSpatialFieldNumber = 1;
1288   bool across_spatial() const;
1289   void set_across_spatial(bool value);
1290
1291   // optional .opencv_caffe.FillerParameter scale_filler = 2;
1292   bool has_scale_filler() const;
1293   void clear_scale_filler();
1294   static const int kScaleFillerFieldNumber = 2;
1295   const ::opencv_caffe::FillerParameter& scale_filler() const;
1296   ::opencv_caffe::FillerParameter* mutable_scale_filler();
1297   ::opencv_caffe::FillerParameter* release_scale_filler();
1298   void set_allocated_scale_filler(::opencv_caffe::FillerParameter* scale_filler);
1299
1300   // optional bool channel_shared = 3 [default = true];
1301   bool has_channel_shared() const;
1302   void clear_channel_shared();
1303   static const int kChannelSharedFieldNumber = 3;
1304   bool channel_shared() const;
1305   void set_channel_shared(bool value);
1306
1307   // optional float eps = 4 [default = 1e-10];
1308   bool has_eps() const;
1309   void clear_eps();
1310   static const int kEpsFieldNumber = 4;
1311   float eps() const;
1312   void set_eps(float value);
1313
1314   // @@protoc_insertion_point(class_scope:opencv_caffe.NormalizeBBoxParameter)
1315  private:
1316   inline void set_has_across_spatial();
1317   inline void clear_has_across_spatial();
1318   inline void set_has_scale_filler();
1319   inline void clear_has_scale_filler();
1320   inline void set_has_channel_shared();
1321   inline void clear_has_channel_shared();
1322   inline void set_has_eps();
1323   inline void clear_has_eps();
1324
1325   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1326   ::google::protobuf::internal::HasBits<1> _has_bits_;
1327   mutable int _cached_size_;
1328   ::opencv_caffe::FillerParameter* scale_filler_;
1329   bool across_spatial_;
1330   bool channel_shared_;
1331   float eps_;
1332   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1333   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1334   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1335   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1336
1337   void InitAsDefaultInstance();
1338 };
1339 extern ::google::protobuf::internal::ExplicitlyConstructed<NormalizeBBoxParameter> NormalizeBBoxParameter_default_instance_;
1340
1341 // -------------------------------------------------------------------
1342
1343 class PriorBoxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PriorBoxParameter) */ {
1344  public:
1345   PriorBoxParameter();
1346   virtual ~PriorBoxParameter();
1347
1348   PriorBoxParameter(const PriorBoxParameter& from);
1349
1350   inline PriorBoxParameter& operator=(const PriorBoxParameter& from) {
1351     CopyFrom(from);
1352     return *this;
1353   }
1354
1355   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1356     return _internal_metadata_.unknown_fields();
1357   }
1358
1359   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1360     return _internal_metadata_.mutable_unknown_fields();
1361   }
1362
1363   static const ::google::protobuf::Descriptor* descriptor();
1364   static const PriorBoxParameter& default_instance();
1365
1366   static const PriorBoxParameter* internal_default_instance();
1367
1368   void Swap(PriorBoxParameter* other);
1369
1370   // implements Message ----------------------------------------------
1371
1372   inline PriorBoxParameter* New() const { return New(NULL); }
1373
1374   PriorBoxParameter* New(::google::protobuf::Arena* arena) const;
1375   void CopyFrom(const ::google::protobuf::Message& from);
1376   void MergeFrom(const ::google::protobuf::Message& from);
1377   void CopyFrom(const PriorBoxParameter& from);
1378   void MergeFrom(const PriorBoxParameter& from);
1379   void Clear();
1380   bool IsInitialized() const;
1381
1382   size_t ByteSizeLong() const;
1383   bool MergePartialFromCodedStream(
1384       ::google::protobuf::io::CodedInputStream* input);
1385   void SerializeWithCachedSizes(
1386       ::google::protobuf::io::CodedOutputStream* output) const;
1387   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1388       bool deterministic, ::google::protobuf::uint8* output) const;
1389   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1390     return InternalSerializeWithCachedSizesToArray(false, output);
1391   }
1392   int GetCachedSize() const { return _cached_size_; }
1393   private:
1394   void SharedCtor();
1395   void SharedDtor();
1396   void SetCachedSize(int size) const;
1397   void InternalSwap(PriorBoxParameter* other);
1398   void UnsafeMergeFrom(const PriorBoxParameter& from);
1399   private:
1400   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1401     return _internal_metadata_.arena();
1402   }
1403   inline void* MaybeArenaPtr() const {
1404     return _internal_metadata_.raw_arena_ptr();
1405   }
1406   public:
1407
1408   ::google::protobuf::Metadata GetMetadata() const;
1409
1410   // nested types ----------------------------------------------------
1411
1412   typedef PriorBoxParameter_CodeType CodeType;
1413   static const CodeType CORNER =
1414     PriorBoxParameter_CodeType_CORNER;
1415   static const CodeType CENTER_SIZE =
1416     PriorBoxParameter_CodeType_CENTER_SIZE;
1417   static inline bool CodeType_IsValid(int value) {
1418     return PriorBoxParameter_CodeType_IsValid(value);
1419   }
1420   static const CodeType CodeType_MIN =
1421     PriorBoxParameter_CodeType_CodeType_MIN;
1422   static const CodeType CodeType_MAX =
1423     PriorBoxParameter_CodeType_CodeType_MAX;
1424   static const int CodeType_ARRAYSIZE =
1425     PriorBoxParameter_CodeType_CodeType_ARRAYSIZE;
1426   static inline const ::google::protobuf::EnumDescriptor*
1427   CodeType_descriptor() {
1428     return PriorBoxParameter_CodeType_descriptor();
1429   }
1430   static inline const ::std::string& CodeType_Name(CodeType value) {
1431     return PriorBoxParameter_CodeType_Name(value);
1432   }
1433   static inline bool CodeType_Parse(const ::std::string& name,
1434       CodeType* value) {
1435     return PriorBoxParameter_CodeType_Parse(name, value);
1436   }
1437
1438   // accessors -------------------------------------------------------
1439
1440   // optional float min_size = 1;
1441   bool has_min_size() const;
1442   void clear_min_size();
1443   static const int kMinSizeFieldNumber = 1;
1444   float min_size() const;
1445   void set_min_size(float value);
1446
1447   // optional float max_size = 2;
1448   bool has_max_size() const;
1449   void clear_max_size();
1450   static const int kMaxSizeFieldNumber = 2;
1451   float max_size() const;
1452   void set_max_size(float value);
1453
1454   // repeated float aspect_ratio = 3;
1455   int aspect_ratio_size() const;
1456   void clear_aspect_ratio();
1457   static const int kAspectRatioFieldNumber = 3;
1458   float aspect_ratio(int index) const;
1459   void set_aspect_ratio(int index, float value);
1460   void add_aspect_ratio(float value);
1461   const ::google::protobuf::RepeatedField< float >&
1462       aspect_ratio() const;
1463   ::google::protobuf::RepeatedField< float >*
1464       mutable_aspect_ratio();
1465
1466   // optional bool flip = 4 [default = true];
1467   bool has_flip() const;
1468   void clear_flip();
1469   static const int kFlipFieldNumber = 4;
1470   bool flip() const;
1471   void set_flip(bool value);
1472
1473   // optional bool clip = 5 [default = true];
1474   bool has_clip() const;
1475   void clear_clip();
1476   static const int kClipFieldNumber = 5;
1477   bool clip() const;
1478   void set_clip(bool value);
1479
1480   // repeated float variance = 6;
1481   int variance_size() const;
1482   void clear_variance();
1483   static const int kVarianceFieldNumber = 6;
1484   float variance(int index) const;
1485   void set_variance(int index, float value);
1486   void add_variance(float value);
1487   const ::google::protobuf::RepeatedField< float >&
1488       variance() const;
1489   ::google::protobuf::RepeatedField< float >*
1490       mutable_variance();
1491
1492   // optional uint32 img_size = 7;
1493   bool has_img_size() const;
1494   void clear_img_size();
1495   static const int kImgSizeFieldNumber = 7;
1496   ::google::protobuf::uint32 img_size() const;
1497   void set_img_size(::google::protobuf::uint32 value);
1498
1499   // optional uint32 img_h = 8;
1500   bool has_img_h() const;
1501   void clear_img_h();
1502   static const int kImgHFieldNumber = 8;
1503   ::google::protobuf::uint32 img_h() const;
1504   void set_img_h(::google::protobuf::uint32 value);
1505
1506   // optional uint32 img_w = 9;
1507   bool has_img_w() const;
1508   void clear_img_w();
1509   static const int kImgWFieldNumber = 9;
1510   ::google::protobuf::uint32 img_w() const;
1511   void set_img_w(::google::protobuf::uint32 value);
1512
1513   // optional float step = 10;
1514   bool has_step() const;
1515   void clear_step();
1516   static const int kStepFieldNumber = 10;
1517   float step() const;
1518   void set_step(float value);
1519
1520   // optional float step_h = 11;
1521   bool has_step_h() const;
1522   void clear_step_h();
1523   static const int kStepHFieldNumber = 11;
1524   float step_h() const;
1525   void set_step_h(float value);
1526
1527   // optional float step_w = 12;
1528   bool has_step_w() const;
1529   void clear_step_w();
1530   static const int kStepWFieldNumber = 12;
1531   float step_w() const;
1532   void set_step_w(float value);
1533
1534   // optional float offset = 13 [default = 0.5];
1535   bool has_offset() const;
1536   void clear_offset();
1537   static const int kOffsetFieldNumber = 13;
1538   float offset() const;
1539   void set_offset(float value);
1540
1541   // repeated float offset_h = 14;
1542   int offset_h_size() const;
1543   void clear_offset_h();
1544   static const int kOffsetHFieldNumber = 14;
1545   float offset_h(int index) const;
1546   void set_offset_h(int index, float value);
1547   void add_offset_h(float value);
1548   const ::google::protobuf::RepeatedField< float >&
1549       offset_h() const;
1550   ::google::protobuf::RepeatedField< float >*
1551       mutable_offset_h();
1552
1553   // repeated float offset_w = 15;
1554   int offset_w_size() const;
1555   void clear_offset_w();
1556   static const int kOffsetWFieldNumber = 15;
1557   float offset_w(int index) const;
1558   void set_offset_w(int index, float value);
1559   void add_offset_w(float value);
1560   const ::google::protobuf::RepeatedField< float >&
1561       offset_w() const;
1562   ::google::protobuf::RepeatedField< float >*
1563       mutable_offset_w();
1564
1565   // repeated float width = 16;
1566   int width_size() const;
1567   void clear_width();
1568   static const int kWidthFieldNumber = 16;
1569   float width(int index) const;
1570   void set_width(int index, float value);
1571   void add_width(float value);
1572   const ::google::protobuf::RepeatedField< float >&
1573       width() const;
1574   ::google::protobuf::RepeatedField< float >*
1575       mutable_width();
1576
1577   // repeated float height = 17;
1578   int height_size() const;
1579   void clear_height();
1580   static const int kHeightFieldNumber = 17;
1581   float height(int index) const;
1582   void set_height(int index, float value);
1583   void add_height(float value);
1584   const ::google::protobuf::RepeatedField< float >&
1585       height() const;
1586   ::google::protobuf::RepeatedField< float >*
1587       mutable_height();
1588
1589   // @@protoc_insertion_point(class_scope:opencv_caffe.PriorBoxParameter)
1590  private:
1591   inline void set_has_min_size();
1592   inline void clear_has_min_size();
1593   inline void set_has_max_size();
1594   inline void clear_has_max_size();
1595   inline void set_has_flip();
1596   inline void clear_has_flip();
1597   inline void set_has_clip();
1598   inline void clear_has_clip();
1599   inline void set_has_img_size();
1600   inline void clear_has_img_size();
1601   inline void set_has_img_h();
1602   inline void clear_has_img_h();
1603   inline void set_has_img_w();
1604   inline void clear_has_img_w();
1605   inline void set_has_step();
1606   inline void clear_has_step();
1607   inline void set_has_step_h();
1608   inline void clear_has_step_h();
1609   inline void set_has_step_w();
1610   inline void clear_has_step_w();
1611   inline void set_has_offset();
1612   inline void clear_has_offset();
1613
1614   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1615   ::google::protobuf::internal::HasBits<1> _has_bits_;
1616   mutable int _cached_size_;
1617   ::google::protobuf::RepeatedField< float > aspect_ratio_;
1618   ::google::protobuf::RepeatedField< float > variance_;
1619   ::google::protobuf::RepeatedField< float > offset_h_;
1620   ::google::protobuf::RepeatedField< float > offset_w_;
1621   ::google::protobuf::RepeatedField< float > width_;
1622   ::google::protobuf::RepeatedField< float > height_;
1623   float min_size_;
1624   float max_size_;
1625   ::google::protobuf::uint32 img_size_;
1626   ::google::protobuf::uint32 img_h_;
1627   ::google::protobuf::uint32 img_w_;
1628   float step_;
1629   float step_h_;
1630   float step_w_;
1631   bool flip_;
1632   bool clip_;
1633   float offset_;
1634   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1635   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1636   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1637   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1638
1639   void InitAsDefaultInstance();
1640 };
1641 extern ::google::protobuf::internal::ExplicitlyConstructed<PriorBoxParameter> PriorBoxParameter_default_instance_;
1642
1643 // -------------------------------------------------------------------
1644
1645 class DetectionOutputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DetectionOutputParameter) */ {
1646  public:
1647   DetectionOutputParameter();
1648   virtual ~DetectionOutputParameter();
1649
1650   DetectionOutputParameter(const DetectionOutputParameter& from);
1651
1652   inline DetectionOutputParameter& operator=(const DetectionOutputParameter& from) {
1653     CopyFrom(from);
1654     return *this;
1655   }
1656
1657   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1658     return _internal_metadata_.unknown_fields();
1659   }
1660
1661   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1662     return _internal_metadata_.mutable_unknown_fields();
1663   }
1664
1665   static const ::google::protobuf::Descriptor* descriptor();
1666   static const DetectionOutputParameter& default_instance();
1667
1668   static const DetectionOutputParameter* internal_default_instance();
1669
1670   void Swap(DetectionOutputParameter* other);
1671
1672   // implements Message ----------------------------------------------
1673
1674   inline DetectionOutputParameter* New() const { return New(NULL); }
1675
1676   DetectionOutputParameter* New(::google::protobuf::Arena* arena) const;
1677   void CopyFrom(const ::google::protobuf::Message& from);
1678   void MergeFrom(const ::google::protobuf::Message& from);
1679   void CopyFrom(const DetectionOutputParameter& from);
1680   void MergeFrom(const DetectionOutputParameter& from);
1681   void Clear();
1682   bool IsInitialized() const;
1683
1684   size_t ByteSizeLong() const;
1685   bool MergePartialFromCodedStream(
1686       ::google::protobuf::io::CodedInputStream* input);
1687   void SerializeWithCachedSizes(
1688       ::google::protobuf::io::CodedOutputStream* output) const;
1689   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1690       bool deterministic, ::google::protobuf::uint8* output) const;
1691   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1692     return InternalSerializeWithCachedSizesToArray(false, output);
1693   }
1694   int GetCachedSize() const { return _cached_size_; }
1695   private:
1696   void SharedCtor();
1697   void SharedDtor();
1698   void SetCachedSize(int size) const;
1699   void InternalSwap(DetectionOutputParameter* other);
1700   void UnsafeMergeFrom(const DetectionOutputParameter& from);
1701   private:
1702   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1703     return _internal_metadata_.arena();
1704   }
1705   inline void* MaybeArenaPtr() const {
1706     return _internal_metadata_.raw_arena_ptr();
1707   }
1708   public:
1709
1710   ::google::protobuf::Metadata GetMetadata() const;
1711
1712   // nested types ----------------------------------------------------
1713
1714   // accessors -------------------------------------------------------
1715
1716   // optional uint32 num_classes = 1;
1717   bool has_num_classes() const;
1718   void clear_num_classes();
1719   static const int kNumClassesFieldNumber = 1;
1720   ::google::protobuf::uint32 num_classes() const;
1721   void set_num_classes(::google::protobuf::uint32 value);
1722
1723   // optional bool share_location = 2 [default = true];
1724   bool has_share_location() const;
1725   void clear_share_location();
1726   static const int kShareLocationFieldNumber = 2;
1727   bool share_location() const;
1728   void set_share_location(bool value);
1729
1730   // optional int32 background_label_id = 3 [default = 0];
1731   bool has_background_label_id() const;
1732   void clear_background_label_id();
1733   static const int kBackgroundLabelIdFieldNumber = 3;
1734   ::google::protobuf::int32 background_label_id() const;
1735   void set_background_label_id(::google::protobuf::int32 value);
1736
1737   // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
1738   bool has_nms_param() const;
1739   void clear_nms_param();
1740   static const int kNmsParamFieldNumber = 4;
1741   const ::opencv_caffe::NonMaximumSuppressionParameter& nms_param() const;
1742   ::opencv_caffe::NonMaximumSuppressionParameter* mutable_nms_param();
1743   ::opencv_caffe::NonMaximumSuppressionParameter* release_nms_param();
1744   void set_allocated_nms_param(::opencv_caffe::NonMaximumSuppressionParameter* nms_param);
1745
1746   // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
1747   bool has_save_output_param() const;
1748   void clear_save_output_param();
1749   static const int kSaveOutputParamFieldNumber = 5;
1750   const ::opencv_caffe::SaveOutputParameter& save_output_param() const;
1751   ::opencv_caffe::SaveOutputParameter* mutable_save_output_param();
1752   ::opencv_caffe::SaveOutputParameter* release_save_output_param();
1753   void set_allocated_save_output_param(::opencv_caffe::SaveOutputParameter* save_output_param);
1754
1755   // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
1756   bool has_code_type() const;
1757   void clear_code_type();
1758   static const int kCodeTypeFieldNumber = 6;
1759   ::opencv_caffe::PriorBoxParameter_CodeType code_type() const;
1760   void set_code_type(::opencv_caffe::PriorBoxParameter_CodeType value);
1761
1762   // optional bool variance_encoded_in_target = 8 [default = false];
1763   bool has_variance_encoded_in_target() const;
1764   void clear_variance_encoded_in_target();
1765   static const int kVarianceEncodedInTargetFieldNumber = 8;
1766   bool variance_encoded_in_target() const;
1767   void set_variance_encoded_in_target(bool value);
1768
1769   // optional int32 keep_top_k = 7 [default = -1];
1770   bool has_keep_top_k() const;
1771   void clear_keep_top_k();
1772   static const int kKeepTopKFieldNumber = 7;
1773   ::google::protobuf::int32 keep_top_k() const;
1774   void set_keep_top_k(::google::protobuf::int32 value);
1775
1776   // optional float confidence_threshold = 9;
1777   bool has_confidence_threshold() const;
1778   void clear_confidence_threshold();
1779   static const int kConfidenceThresholdFieldNumber = 9;
1780   float confidence_threshold() const;
1781   void set_confidence_threshold(float value);
1782
1783   // @@protoc_insertion_point(class_scope:opencv_caffe.DetectionOutputParameter)
1784  private:
1785   inline void set_has_num_classes();
1786   inline void clear_has_num_classes();
1787   inline void set_has_share_location();
1788   inline void clear_has_share_location();
1789   inline void set_has_background_label_id();
1790   inline void clear_has_background_label_id();
1791   inline void set_has_nms_param();
1792   inline void clear_has_nms_param();
1793   inline void set_has_save_output_param();
1794   inline void clear_has_save_output_param();
1795   inline void set_has_code_type();
1796   inline void clear_has_code_type();
1797   inline void set_has_variance_encoded_in_target();
1798   inline void clear_has_variance_encoded_in_target();
1799   inline void set_has_keep_top_k();
1800   inline void clear_has_keep_top_k();
1801   inline void set_has_confidence_threshold();
1802   inline void clear_has_confidence_threshold();
1803
1804   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1805   ::google::protobuf::internal::HasBits<1> _has_bits_;
1806   mutable int _cached_size_;
1807   ::opencv_caffe::NonMaximumSuppressionParameter* nms_param_;
1808   ::opencv_caffe::SaveOutputParameter* save_output_param_;
1809   ::google::protobuf::uint32 num_classes_;
1810   ::google::protobuf::int32 background_label_id_;
1811   bool variance_encoded_in_target_;
1812   float confidence_threshold_;
1813   ::google::protobuf::int32 keep_top_k_;
1814   bool share_location_;
1815   int code_type_;
1816   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1817   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1818   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1819   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1820
1821   void InitAsDefaultInstance();
1822 };
1823 extern ::google::protobuf::internal::ExplicitlyConstructed<DetectionOutputParameter> DetectionOutputParameter_default_instance_;
1824
1825 // -------------------------------------------------------------------
1826
1827 class Datum : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.Datum) */ {
1828  public:
1829   Datum();
1830   virtual ~Datum();
1831
1832   Datum(const Datum& from);
1833
1834   inline Datum& operator=(const Datum& from) {
1835     CopyFrom(from);
1836     return *this;
1837   }
1838
1839   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1840     return _internal_metadata_.unknown_fields();
1841   }
1842
1843   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1844     return _internal_metadata_.mutable_unknown_fields();
1845   }
1846
1847   static const ::google::protobuf::Descriptor* descriptor();
1848   static const Datum& default_instance();
1849
1850   static const Datum* internal_default_instance();
1851
1852   void Swap(Datum* other);
1853
1854   // implements Message ----------------------------------------------
1855
1856   inline Datum* New() const { return New(NULL); }
1857
1858   Datum* New(::google::protobuf::Arena* arena) const;
1859   void CopyFrom(const ::google::protobuf::Message& from);
1860   void MergeFrom(const ::google::protobuf::Message& from);
1861   void CopyFrom(const Datum& from);
1862   void MergeFrom(const Datum& from);
1863   void Clear();
1864   bool IsInitialized() const;
1865
1866   size_t ByteSizeLong() const;
1867   bool MergePartialFromCodedStream(
1868       ::google::protobuf::io::CodedInputStream* input);
1869   void SerializeWithCachedSizes(
1870       ::google::protobuf::io::CodedOutputStream* output) const;
1871   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1872       bool deterministic, ::google::protobuf::uint8* output) const;
1873   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1874     return InternalSerializeWithCachedSizesToArray(false, output);
1875   }
1876   int GetCachedSize() const { return _cached_size_; }
1877   private:
1878   void SharedCtor();
1879   void SharedDtor();
1880   void SetCachedSize(int size) const;
1881   void InternalSwap(Datum* other);
1882   void UnsafeMergeFrom(const Datum& from);
1883   private:
1884   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1885     return _internal_metadata_.arena();
1886   }
1887   inline void* MaybeArenaPtr() const {
1888     return _internal_metadata_.raw_arena_ptr();
1889   }
1890   public:
1891
1892   ::google::protobuf::Metadata GetMetadata() const;
1893
1894   // nested types ----------------------------------------------------
1895
1896   // accessors -------------------------------------------------------
1897
1898   // optional int32 channels = 1;
1899   bool has_channels() const;
1900   void clear_channels();
1901   static const int kChannelsFieldNumber = 1;
1902   ::google::protobuf::int32 channels() const;
1903   void set_channels(::google::protobuf::int32 value);
1904
1905   // optional int32 height = 2;
1906   bool has_height() const;
1907   void clear_height();
1908   static const int kHeightFieldNumber = 2;
1909   ::google::protobuf::int32 height() const;
1910   void set_height(::google::protobuf::int32 value);
1911
1912   // optional int32 width = 3;
1913   bool has_width() const;
1914   void clear_width();
1915   static const int kWidthFieldNumber = 3;
1916   ::google::protobuf::int32 width() const;
1917   void set_width(::google::protobuf::int32 value);
1918
1919   // optional bytes data = 4;
1920   bool has_data() const;
1921   void clear_data();
1922   static const int kDataFieldNumber = 4;
1923   const ::std::string& data() const;
1924   void set_data(const ::std::string& value);
1925   void set_data(const char* value);
1926   void set_data(const void* value, size_t size);
1927   ::std::string* mutable_data();
1928   ::std::string* release_data();
1929   void set_allocated_data(::std::string* data);
1930
1931   // optional int32 label = 5;
1932   bool has_label() const;
1933   void clear_label();
1934   static const int kLabelFieldNumber = 5;
1935   ::google::protobuf::int32 label() const;
1936   void set_label(::google::protobuf::int32 value);
1937
1938   // repeated float float_data = 6;
1939   int float_data_size() const;
1940   void clear_float_data();
1941   static const int kFloatDataFieldNumber = 6;
1942   float float_data(int index) const;
1943   void set_float_data(int index, float value);
1944   void add_float_data(float value);
1945   const ::google::protobuf::RepeatedField< float >&
1946       float_data() const;
1947   ::google::protobuf::RepeatedField< float >*
1948       mutable_float_data();
1949
1950   // optional bool encoded = 7 [default = false];
1951   bool has_encoded() const;
1952   void clear_encoded();
1953   static const int kEncodedFieldNumber = 7;
1954   bool encoded() const;
1955   void set_encoded(bool value);
1956
1957   // @@protoc_insertion_point(class_scope:opencv_caffe.Datum)
1958  private:
1959   inline void set_has_channels();
1960   inline void clear_has_channels();
1961   inline void set_has_height();
1962   inline void clear_has_height();
1963   inline void set_has_width();
1964   inline void clear_has_width();
1965   inline void set_has_data();
1966   inline void clear_has_data();
1967   inline void set_has_label();
1968   inline void clear_has_label();
1969   inline void set_has_encoded();
1970   inline void clear_has_encoded();
1971
1972   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1973   ::google::protobuf::internal::HasBits<1> _has_bits_;
1974   mutable int _cached_size_;
1975   ::google::protobuf::RepeatedField< float > float_data_;
1976   ::google::protobuf::internal::ArenaStringPtr data_;
1977   ::google::protobuf::int32 channels_;
1978   ::google::protobuf::int32 height_;
1979   ::google::protobuf::int32 width_;
1980   ::google::protobuf::int32 label_;
1981   bool encoded_;
1982   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1983   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1984   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1985   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1986
1987   void InitAsDefaultInstance();
1988 };
1989 extern ::google::protobuf::internal::ExplicitlyConstructed<Datum> Datum_default_instance_;
1990
1991 // -------------------------------------------------------------------
1992
1993 class FillerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.FillerParameter) */ {
1994  public:
1995   FillerParameter();
1996   virtual ~FillerParameter();
1997
1998   FillerParameter(const FillerParameter& from);
1999
2000   inline FillerParameter& operator=(const FillerParameter& from) {
2001     CopyFrom(from);
2002     return *this;
2003   }
2004
2005   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
2006     return _internal_metadata_.unknown_fields();
2007   }
2008
2009   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
2010     return _internal_metadata_.mutable_unknown_fields();
2011   }
2012
2013   static const ::google::protobuf::Descriptor* descriptor();
2014   static const FillerParameter& default_instance();
2015
2016   static const FillerParameter* internal_default_instance();
2017
2018   void Swap(FillerParameter* other);
2019
2020   // implements Message ----------------------------------------------
2021
2022   inline FillerParameter* New() const { return New(NULL); }
2023
2024   FillerParameter* New(::google::protobuf::Arena* arena) const;
2025   void CopyFrom(const ::google::protobuf::Message& from);
2026   void MergeFrom(const ::google::protobuf::Message& from);
2027   void CopyFrom(const FillerParameter& from);
2028   void MergeFrom(const FillerParameter& from);
2029   void Clear();
2030   bool IsInitialized() const;
2031
2032   size_t ByteSizeLong() const;
2033   bool MergePartialFromCodedStream(
2034       ::google::protobuf::io::CodedInputStream* input);
2035   void SerializeWithCachedSizes(
2036       ::google::protobuf::io::CodedOutputStream* output) const;
2037   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
2038       bool deterministic, ::google::protobuf::uint8* output) const;
2039   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
2040     return InternalSerializeWithCachedSizesToArray(false, output);
2041   }
2042   int GetCachedSize() const { return _cached_size_; }
2043   private:
2044   void SharedCtor();
2045   void SharedDtor();
2046   void SetCachedSize(int size) const;
2047   void InternalSwap(FillerParameter* other);
2048   void UnsafeMergeFrom(const FillerParameter& from);
2049   private:
2050   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
2051     return _internal_metadata_.arena();
2052   }
2053   inline void* MaybeArenaPtr() const {
2054     return _internal_metadata_.raw_arena_ptr();
2055   }
2056   public:
2057
2058   ::google::protobuf::Metadata GetMetadata() const;
2059
2060   // nested types ----------------------------------------------------
2061
2062   typedef FillerParameter_VarianceNorm VarianceNorm;
2063   static const VarianceNorm FAN_IN =
2064     FillerParameter_VarianceNorm_FAN_IN;
2065   static const VarianceNorm FAN_OUT =
2066     FillerParameter_VarianceNorm_FAN_OUT;
2067   static const VarianceNorm AVERAGE =
2068     FillerParameter_VarianceNorm_AVERAGE;
2069   static inline bool VarianceNorm_IsValid(int value) {
2070     return FillerParameter_VarianceNorm_IsValid(value);
2071   }
2072   static const VarianceNorm VarianceNorm_MIN =
2073     FillerParameter_VarianceNorm_VarianceNorm_MIN;
2074   static const VarianceNorm VarianceNorm_MAX =
2075     FillerParameter_VarianceNorm_VarianceNorm_MAX;
2076   static const int VarianceNorm_ARRAYSIZE =
2077     FillerParameter_VarianceNorm_VarianceNorm_ARRAYSIZE;
2078   static inline const ::google::protobuf::EnumDescriptor*
2079   VarianceNorm_descriptor() {
2080     return FillerParameter_VarianceNorm_descriptor();
2081   }
2082   static inline const ::std::string& VarianceNorm_Name(VarianceNorm value) {
2083     return FillerParameter_VarianceNorm_Name(value);
2084   }
2085   static inline bool VarianceNorm_Parse(const ::std::string& name,
2086       VarianceNorm* value) {
2087     return FillerParameter_VarianceNorm_Parse(name, value);
2088   }
2089
2090   // accessors -------------------------------------------------------
2091
2092   // optional string type = 1 [default = "constant"];
2093   bool has_type() const;
2094   void clear_type();
2095   static const int kTypeFieldNumber = 1;
2096   const ::std::string& type() const;
2097   void set_type(const ::std::string& value);
2098   void set_type(const char* value);
2099   void set_type(const char* value, size_t size);
2100   ::std::string* mutable_type();
2101   ::std::string* release_type();
2102   void set_allocated_type(::std::string* type);
2103
2104   // optional float value = 2 [default = 0];
2105   bool has_value() const;
2106   void clear_value();
2107   static const int kValueFieldNumber = 2;
2108   float value() const;
2109   void set_value(float value);
2110
2111   // optional float min = 3 [default = 0];
2112   bool has_min() const;
2113   void clear_min();
2114   static const int kMinFieldNumber = 3;
2115   float min() const;
2116   void set_min(float value);
2117
2118   // optional float max = 4 [default = 1];
2119   bool has_max() const;
2120   void clear_max();
2121   static const int kMaxFieldNumber = 4;
2122   float max() const;
2123   void set_max(float value);
2124
2125   // optional float mean = 5 [default = 0];
2126   bool has_mean() const;
2127   void clear_mean();
2128   static const int kMeanFieldNumber = 5;
2129   float mean() const;
2130   void set_mean(float value);
2131
2132   // optional float std = 6 [default = 1];
2133   bool has_std() const;
2134   void clear_std();
2135   static const int kStdFieldNumber = 6;
2136   float std() const;
2137   void set_std(float value);
2138
2139   // optional int32 sparse = 7 [default = -1];
2140   bool has_sparse() const;
2141   void clear_sparse();
2142   static const int kSparseFieldNumber = 7;
2143   ::google::protobuf::int32 sparse() const;
2144   void set_sparse(::google::protobuf::int32 value);
2145
2146   // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
2147   bool has_variance_norm() const;
2148   void clear_variance_norm();
2149   static const int kVarianceNormFieldNumber = 8;
2150   ::opencv_caffe::FillerParameter_VarianceNorm variance_norm() const;
2151   void set_variance_norm(::opencv_caffe::FillerParameter_VarianceNorm value);
2152
2153   // @@protoc_insertion_point(class_scope:opencv_caffe.FillerParameter)
2154  private:
2155   inline void set_has_type();
2156   inline void clear_has_type();
2157   inline void set_has_value();
2158   inline void clear_has_value();
2159   inline void set_has_min();
2160   inline void clear_has_min();
2161   inline void set_has_max();
2162   inline void clear_has_max();
2163   inline void set_has_mean();
2164   inline void clear_has_mean();
2165   inline void set_has_std();
2166   inline void clear_has_std();
2167   inline void set_has_sparse();
2168   inline void clear_has_sparse();
2169   inline void set_has_variance_norm();
2170   inline void clear_has_variance_norm();
2171
2172   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
2173   ::google::protobuf::internal::HasBits<1> _has_bits_;
2174   mutable int _cached_size_;
2175   static ::std::string* _default_type_;
2176   ::google::protobuf::internal::ArenaStringPtr type_;
2177   float value_;
2178   float min_;
2179   float mean_;
2180   int variance_norm_;
2181   ::google::protobuf::int32 sparse_;
2182   float max_;
2183   float std_;
2184   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
2185   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
2186   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
2187   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
2188
2189   void InitAsDefaultInstance();
2190 };
2191 extern ::google::protobuf::internal::ExplicitlyConstructed<FillerParameter> FillerParameter_default_instance_;
2192
2193 // -------------------------------------------------------------------
2194
2195 class NetParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NetParameter) */ {
2196  public:
2197   NetParameter();
2198   virtual ~NetParameter();
2199
2200   NetParameter(const NetParameter& from);
2201
2202   inline NetParameter& operator=(const NetParameter& from) {
2203     CopyFrom(from);
2204     return *this;
2205   }
2206
2207   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
2208     return _internal_metadata_.unknown_fields();
2209   }
2210
2211   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
2212     return _internal_metadata_.mutable_unknown_fields();
2213   }
2214
2215   static const ::google::protobuf::Descriptor* descriptor();
2216   static const NetParameter& default_instance();
2217
2218   static const NetParameter* internal_default_instance();
2219
2220   void Swap(NetParameter* other);
2221
2222   // implements Message ----------------------------------------------
2223
2224   inline NetParameter* New() const { return New(NULL); }
2225
2226   NetParameter* New(::google::protobuf::Arena* arena) const;
2227   void CopyFrom(const ::google::protobuf::Message& from);
2228   void MergeFrom(const ::google::protobuf::Message& from);
2229   void CopyFrom(const NetParameter& from);
2230   void MergeFrom(const NetParameter& from);
2231   void Clear();
2232   bool IsInitialized() const;
2233
2234   size_t ByteSizeLong() const;
2235   bool MergePartialFromCodedStream(
2236       ::google::protobuf::io::CodedInputStream* input);
2237   void SerializeWithCachedSizes(
2238       ::google::protobuf::io::CodedOutputStream* output) const;
2239   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
2240       bool deterministic, ::google::protobuf::uint8* output) const;
2241   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
2242     return InternalSerializeWithCachedSizesToArray(false, output);
2243   }
2244   int GetCachedSize() const { return _cached_size_; }
2245   private:
2246   void SharedCtor();
2247   void SharedDtor();
2248   void SetCachedSize(int size) const;
2249   void InternalSwap(NetParameter* other);
2250   void UnsafeMergeFrom(const NetParameter& from);
2251   private:
2252   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
2253     return _internal_metadata_.arena();
2254   }
2255   inline void* MaybeArenaPtr() const {
2256     return _internal_metadata_.raw_arena_ptr();
2257   }
2258   public:
2259
2260   ::google::protobuf::Metadata GetMetadata() const;
2261
2262   // nested types ----------------------------------------------------
2263
2264   // accessors -------------------------------------------------------
2265
2266   // optional string name = 1;
2267   bool has_name() const;
2268   void clear_name();
2269   static const int kNameFieldNumber = 1;
2270   const ::std::string& name() const;
2271   void set_name(const ::std::string& value);
2272   void set_name(const char* value);
2273   void set_name(const char* value, size_t size);
2274   ::std::string* mutable_name();
2275   ::std::string* release_name();
2276   void set_allocated_name(::std::string* name);
2277
2278   // repeated string input = 3;
2279   int input_size() const;
2280   void clear_input();
2281   static const int kInputFieldNumber = 3;
2282   const ::std::string& input(int index) const;
2283   ::std::string* mutable_input(int index);
2284   void set_input(int index, const ::std::string& value);
2285   void set_input(int index, const char* value);
2286   void set_input(int index, const char* value, size_t size);
2287   ::std::string* add_input();
2288   void add_input(const ::std::string& value);
2289   void add_input(const char* value);
2290   void add_input(const char* value, size_t size);
2291   const ::google::protobuf::RepeatedPtrField< ::std::string>& input() const;
2292   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_input();
2293
2294   // repeated .opencv_caffe.BlobShape input_shape = 8;
2295   int input_shape_size() const;
2296   void clear_input_shape();
2297   static const int kInputShapeFieldNumber = 8;
2298   const ::opencv_caffe::BlobShape& input_shape(int index) const;
2299   ::opencv_caffe::BlobShape* mutable_input_shape(int index);
2300   ::opencv_caffe::BlobShape* add_input_shape();
2301   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
2302       mutable_input_shape();
2303   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
2304       input_shape() const;
2305
2306   // repeated int32 input_dim = 4;
2307   int input_dim_size() const;
2308   void clear_input_dim();
2309   static const int kInputDimFieldNumber = 4;
2310   ::google::protobuf::int32 input_dim(int index) const;
2311   void set_input_dim(int index, ::google::protobuf::int32 value);
2312   void add_input_dim(::google::protobuf::int32 value);
2313   const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2314       input_dim() const;
2315   ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2316       mutable_input_dim();
2317
2318   // optional bool force_backward = 5 [default = false];
2319   bool has_force_backward() const;
2320   void clear_force_backward();
2321   static const int kForceBackwardFieldNumber = 5;
2322   bool force_backward() const;
2323   void set_force_backward(bool value);
2324
2325   // optional .opencv_caffe.NetState state = 6;
2326   bool has_state() const;
2327   void clear_state();
2328   static const int kStateFieldNumber = 6;
2329   const ::opencv_caffe::NetState& state() const;
2330   ::opencv_caffe::NetState* mutable_state();
2331   ::opencv_caffe::NetState* release_state();
2332   void set_allocated_state(::opencv_caffe::NetState* state);
2333
2334   // optional bool debug_info = 7 [default = false];
2335   bool has_debug_info() const;
2336   void clear_debug_info();
2337   static const int kDebugInfoFieldNumber = 7;
2338   bool debug_info() const;
2339   void set_debug_info(bool value);
2340
2341   // repeated .opencv_caffe.LayerParameter layer = 100;
2342   int layer_size() const;
2343   void clear_layer();
2344   static const int kLayerFieldNumber = 100;
2345   const ::opencv_caffe::LayerParameter& layer(int index) const;
2346   ::opencv_caffe::LayerParameter* mutable_layer(int index);
2347   ::opencv_caffe::LayerParameter* add_layer();
2348   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >*
2349       mutable_layer();
2350   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >&
2351       layer() const;
2352
2353   // repeated .opencv_caffe.V1LayerParameter layers = 2;
2354   int layers_size() const;
2355   void clear_layers();
2356   static const int kLayersFieldNumber = 2;
2357   const ::opencv_caffe::V1LayerParameter& layers(int index) const;
2358   ::opencv_caffe::V1LayerParameter* mutable_layers(int index);
2359   ::opencv_caffe::V1LayerParameter* add_layers();
2360   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >*
2361       mutable_layers();
2362   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >&
2363       layers() const;
2364
2365   // @@protoc_insertion_point(class_scope:opencv_caffe.NetParameter)
2366  private:
2367   inline void set_has_name();
2368   inline void clear_has_name();
2369   inline void set_has_force_backward();
2370   inline void clear_has_force_backward();
2371   inline void set_has_state();
2372   inline void clear_has_state();
2373   inline void set_has_debug_info();
2374   inline void clear_has_debug_info();
2375
2376   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
2377   ::google::protobuf::internal::HasBits<1> _has_bits_;
2378   mutable int _cached_size_;
2379   ::google::protobuf::RepeatedPtrField< ::std::string> input_;
2380   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape > input_shape_;
2381   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > input_dim_;
2382   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter > layer_;
2383   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter > layers_;
2384   ::google::protobuf::internal::ArenaStringPtr name_;
2385   ::opencv_caffe::NetState* state_;
2386   bool force_backward_;
2387   bool debug_info_;
2388   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
2389   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
2390   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
2391   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
2392
2393   void InitAsDefaultInstance();
2394 };
2395 extern ::google::protobuf::internal::ExplicitlyConstructed<NetParameter> NetParameter_default_instance_;
2396
2397 // -------------------------------------------------------------------
2398
2399 class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SolverParameter) */ {
2400  public:
2401   SolverParameter();
2402   virtual ~SolverParameter();
2403
2404   SolverParameter(const SolverParameter& from);
2405
2406   inline SolverParameter& operator=(const SolverParameter& from) {
2407     CopyFrom(from);
2408     return *this;
2409   }
2410
2411   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
2412     return _internal_metadata_.unknown_fields();
2413   }
2414
2415   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
2416     return _internal_metadata_.mutable_unknown_fields();
2417   }
2418
2419   static const ::google::protobuf::Descriptor* descriptor();
2420   static const SolverParameter& default_instance();
2421
2422   static const SolverParameter* internal_default_instance();
2423
2424   void Swap(SolverParameter* other);
2425
2426   // implements Message ----------------------------------------------
2427
2428   inline SolverParameter* New() const { return New(NULL); }
2429
2430   SolverParameter* New(::google::protobuf::Arena* arena) const;
2431   void CopyFrom(const ::google::protobuf::Message& from);
2432   void MergeFrom(const ::google::protobuf::Message& from);
2433   void CopyFrom(const SolverParameter& from);
2434   void MergeFrom(const SolverParameter& from);
2435   void Clear();
2436   bool IsInitialized() const;
2437
2438   size_t ByteSizeLong() const;
2439   bool MergePartialFromCodedStream(
2440       ::google::protobuf::io::CodedInputStream* input);
2441   void SerializeWithCachedSizes(
2442       ::google::protobuf::io::CodedOutputStream* output) const;
2443   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
2444       bool deterministic, ::google::protobuf::uint8* output) const;
2445   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
2446     return InternalSerializeWithCachedSizesToArray(false, output);
2447   }
2448   int GetCachedSize() const { return _cached_size_; }
2449   private:
2450   void SharedCtor();
2451   void SharedDtor();
2452   void SetCachedSize(int size) const;
2453   void InternalSwap(SolverParameter* other);
2454   void UnsafeMergeFrom(const SolverParameter& from);
2455   private:
2456   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
2457     return _internal_metadata_.arena();
2458   }
2459   inline void* MaybeArenaPtr() const {
2460     return _internal_metadata_.raw_arena_ptr();
2461   }
2462   public:
2463
2464   ::google::protobuf::Metadata GetMetadata() const;
2465
2466   // nested types ----------------------------------------------------
2467
2468   typedef SolverParameter_SnapshotFormat SnapshotFormat;
2469   static const SnapshotFormat HDF5 =
2470     SolverParameter_SnapshotFormat_HDF5;
2471   static const SnapshotFormat BINARYPROTO =
2472     SolverParameter_SnapshotFormat_BINARYPROTO;
2473   static inline bool SnapshotFormat_IsValid(int value) {
2474     return SolverParameter_SnapshotFormat_IsValid(value);
2475   }
2476   static const SnapshotFormat SnapshotFormat_MIN =
2477     SolverParameter_SnapshotFormat_SnapshotFormat_MIN;
2478   static const SnapshotFormat SnapshotFormat_MAX =
2479     SolverParameter_SnapshotFormat_SnapshotFormat_MAX;
2480   static const int SnapshotFormat_ARRAYSIZE =
2481     SolverParameter_SnapshotFormat_SnapshotFormat_ARRAYSIZE;
2482   static inline const ::google::protobuf::EnumDescriptor*
2483   SnapshotFormat_descriptor() {
2484     return SolverParameter_SnapshotFormat_descriptor();
2485   }
2486   static inline const ::std::string& SnapshotFormat_Name(SnapshotFormat value) {
2487     return SolverParameter_SnapshotFormat_Name(value);
2488   }
2489   static inline bool SnapshotFormat_Parse(const ::std::string& name,
2490       SnapshotFormat* value) {
2491     return SolverParameter_SnapshotFormat_Parse(name, value);
2492   }
2493
2494   typedef SolverParameter_SolverMode SolverMode;
2495   static const SolverMode CPU =
2496     SolverParameter_SolverMode_CPU;
2497   static const SolverMode GPU =
2498     SolverParameter_SolverMode_GPU;
2499   static inline bool SolverMode_IsValid(int value) {
2500     return SolverParameter_SolverMode_IsValid(value);
2501   }
2502   static const SolverMode SolverMode_MIN =
2503     SolverParameter_SolverMode_SolverMode_MIN;
2504   static const SolverMode SolverMode_MAX =
2505     SolverParameter_SolverMode_SolverMode_MAX;
2506   static const int SolverMode_ARRAYSIZE =
2507     SolverParameter_SolverMode_SolverMode_ARRAYSIZE;
2508   static inline const ::google::protobuf::EnumDescriptor*
2509   SolverMode_descriptor() {
2510     return SolverParameter_SolverMode_descriptor();
2511   }
2512   static inline const ::std::string& SolverMode_Name(SolverMode value) {
2513     return SolverParameter_SolverMode_Name(value);
2514   }
2515   static inline bool SolverMode_Parse(const ::std::string& name,
2516       SolverMode* value) {
2517     return SolverParameter_SolverMode_Parse(name, value);
2518   }
2519
2520   typedef SolverParameter_SolverType SolverType;
2521   static const SolverType SGD =
2522     SolverParameter_SolverType_SGD;
2523   static const SolverType NESTEROV =
2524     SolverParameter_SolverType_NESTEROV;
2525   static const SolverType ADAGRAD =
2526     SolverParameter_SolverType_ADAGRAD;
2527   static const SolverType RMSPROP =
2528     SolverParameter_SolverType_RMSPROP;
2529   static const SolverType ADADELTA =
2530     SolverParameter_SolverType_ADADELTA;
2531   static const SolverType ADAM =
2532     SolverParameter_SolverType_ADAM;
2533   static inline bool SolverType_IsValid(int value) {
2534     return SolverParameter_SolverType_IsValid(value);
2535   }
2536   static const SolverType SolverType_MIN =
2537     SolverParameter_SolverType_SolverType_MIN;
2538   static const SolverType SolverType_MAX =
2539     SolverParameter_SolverType_SolverType_MAX;
2540   static const int SolverType_ARRAYSIZE =
2541     SolverParameter_SolverType_SolverType_ARRAYSIZE;
2542   static inline const ::google::protobuf::EnumDescriptor*
2543   SolverType_descriptor() {
2544     return SolverParameter_SolverType_descriptor();
2545   }
2546   static inline const ::std::string& SolverType_Name(SolverType value) {
2547     return SolverParameter_SolverType_Name(value);
2548   }
2549   static inline bool SolverType_Parse(const ::std::string& name,
2550       SolverType* value) {
2551     return SolverParameter_SolverType_Parse(name, value);
2552   }
2553
2554   // accessors -------------------------------------------------------
2555
2556   // optional string net = 24;
2557   bool has_net() const;
2558   void clear_net();
2559   static const int kNetFieldNumber = 24;
2560   const ::std::string& net() const;
2561   void set_net(const ::std::string& value);
2562   void set_net(const char* value);
2563   void set_net(const char* value, size_t size);
2564   ::std::string* mutable_net();
2565   ::std::string* release_net();
2566   void set_allocated_net(::std::string* net);
2567
2568   // optional .opencv_caffe.NetParameter net_param = 25;
2569   bool has_net_param() const;
2570   void clear_net_param();
2571   static const int kNetParamFieldNumber = 25;
2572   const ::opencv_caffe::NetParameter& net_param() const;
2573   ::opencv_caffe::NetParameter* mutable_net_param();
2574   ::opencv_caffe::NetParameter* release_net_param();
2575   void set_allocated_net_param(::opencv_caffe::NetParameter* net_param);
2576
2577   // optional string train_net = 1;
2578   bool has_train_net() const;
2579   void clear_train_net();
2580   static const int kTrainNetFieldNumber = 1;
2581   const ::std::string& train_net() const;
2582   void set_train_net(const ::std::string& value);
2583   void set_train_net(const char* value);
2584   void set_train_net(const char* value, size_t size);
2585   ::std::string* mutable_train_net();
2586   ::std::string* release_train_net();
2587   void set_allocated_train_net(::std::string* train_net);
2588
2589   // repeated string test_net = 2;
2590   int test_net_size() const;
2591   void clear_test_net();
2592   static const int kTestNetFieldNumber = 2;
2593   const ::std::string& test_net(int index) const;
2594   ::std::string* mutable_test_net(int index);
2595   void set_test_net(int index, const ::std::string& value);
2596   void set_test_net(int index, const char* value);
2597   void set_test_net(int index, const char* value, size_t size);
2598   ::std::string* add_test_net();
2599   void add_test_net(const ::std::string& value);
2600   void add_test_net(const char* value);
2601   void add_test_net(const char* value, size_t size);
2602   const ::google::protobuf::RepeatedPtrField< ::std::string>& test_net() const;
2603   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_test_net();
2604
2605   // optional .opencv_caffe.NetParameter train_net_param = 21;
2606   bool has_train_net_param() const;
2607   void clear_train_net_param();
2608   static const int kTrainNetParamFieldNumber = 21;
2609   const ::opencv_caffe::NetParameter& train_net_param() const;
2610   ::opencv_caffe::NetParameter* mutable_train_net_param();
2611   ::opencv_caffe::NetParameter* release_train_net_param();
2612   void set_allocated_train_net_param(::opencv_caffe::NetParameter* train_net_param);
2613
2614   // repeated .opencv_caffe.NetParameter test_net_param = 22;
2615   int test_net_param_size() const;
2616   void clear_test_net_param();
2617   static const int kTestNetParamFieldNumber = 22;
2618   const ::opencv_caffe::NetParameter& test_net_param(int index) const;
2619   ::opencv_caffe::NetParameter* mutable_test_net_param(int index);
2620   ::opencv_caffe::NetParameter* add_test_net_param();
2621   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >*
2622       mutable_test_net_param();
2623   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >&
2624       test_net_param() const;
2625
2626   // optional .opencv_caffe.NetState train_state = 26;
2627   bool has_train_state() const;
2628   void clear_train_state();
2629   static const int kTrainStateFieldNumber = 26;
2630   const ::opencv_caffe::NetState& train_state() const;
2631   ::opencv_caffe::NetState* mutable_train_state();
2632   ::opencv_caffe::NetState* release_train_state();
2633   void set_allocated_train_state(::opencv_caffe::NetState* train_state);
2634
2635   // repeated .opencv_caffe.NetState test_state = 27;
2636   int test_state_size() const;
2637   void clear_test_state();
2638   static const int kTestStateFieldNumber = 27;
2639   const ::opencv_caffe::NetState& test_state(int index) const;
2640   ::opencv_caffe::NetState* mutable_test_state(int index);
2641   ::opencv_caffe::NetState* add_test_state();
2642   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >*
2643       mutable_test_state();
2644   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >&
2645       test_state() const;
2646
2647   // repeated int32 test_iter = 3;
2648   int test_iter_size() const;
2649   void clear_test_iter();
2650   static const int kTestIterFieldNumber = 3;
2651   ::google::protobuf::int32 test_iter(int index) const;
2652   void set_test_iter(int index, ::google::protobuf::int32 value);
2653   void add_test_iter(::google::protobuf::int32 value);
2654   const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2655       test_iter() const;
2656   ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2657       mutable_test_iter();
2658
2659   // optional int32 test_interval = 4 [default = 0];
2660   bool has_test_interval() const;
2661   void clear_test_interval();
2662   static const int kTestIntervalFieldNumber = 4;
2663   ::google::protobuf::int32 test_interval() const;
2664   void set_test_interval(::google::protobuf::int32 value);
2665
2666   // optional bool test_compute_loss = 19 [default = false];
2667   bool has_test_compute_loss() const;
2668   void clear_test_compute_loss();
2669   static const int kTestComputeLossFieldNumber = 19;
2670   bool test_compute_loss() const;
2671   void set_test_compute_loss(bool value);
2672
2673   // optional bool test_initialization = 32 [default = true];
2674   bool has_test_initialization() const;
2675   void clear_test_initialization();
2676   static const int kTestInitializationFieldNumber = 32;
2677   bool test_initialization() const;
2678   void set_test_initialization(bool value);
2679
2680   // optional float base_lr = 5;
2681   bool has_base_lr() const;
2682   void clear_base_lr();
2683   static const int kBaseLrFieldNumber = 5;
2684   float base_lr() const;
2685   void set_base_lr(float value);
2686
2687   // optional int32 display = 6;
2688   bool has_display() const;
2689   void clear_display();
2690   static const int kDisplayFieldNumber = 6;
2691   ::google::protobuf::int32 display() const;
2692   void set_display(::google::protobuf::int32 value);
2693
2694   // optional int32 average_loss = 33 [default = 1];
2695   bool has_average_loss() const;
2696   void clear_average_loss();
2697   static const int kAverageLossFieldNumber = 33;
2698   ::google::protobuf::int32 average_loss() const;
2699   void set_average_loss(::google::protobuf::int32 value);
2700
2701   // optional int32 max_iter = 7;
2702   bool has_max_iter() const;
2703   void clear_max_iter();
2704   static const int kMaxIterFieldNumber = 7;
2705   ::google::protobuf::int32 max_iter() const;
2706   void set_max_iter(::google::protobuf::int32 value);
2707
2708   // optional int32 iter_size = 36 [default = 1];
2709   bool has_iter_size() const;
2710   void clear_iter_size();
2711   static const int kIterSizeFieldNumber = 36;
2712   ::google::protobuf::int32 iter_size() const;
2713   void set_iter_size(::google::protobuf::int32 value);
2714
2715   // optional string lr_policy = 8;
2716   bool has_lr_policy() const;
2717   void clear_lr_policy();
2718   static const int kLrPolicyFieldNumber = 8;
2719   const ::std::string& lr_policy() const;
2720   void set_lr_policy(const ::std::string& value);
2721   void set_lr_policy(const char* value);
2722   void set_lr_policy(const char* value, size_t size);
2723   ::std::string* mutable_lr_policy();
2724   ::std::string* release_lr_policy();
2725   void set_allocated_lr_policy(::std::string* lr_policy);
2726
2727   // optional float gamma = 9;
2728   bool has_gamma() const;
2729   void clear_gamma();
2730   static const int kGammaFieldNumber = 9;
2731   float gamma() const;
2732   void set_gamma(float value);
2733
2734   // optional float power = 10;
2735   bool has_power() const;
2736   void clear_power();
2737   static const int kPowerFieldNumber = 10;
2738   float power() const;
2739   void set_power(float value);
2740
2741   // optional float momentum = 11;
2742   bool has_momentum() const;
2743   void clear_momentum();
2744   static const int kMomentumFieldNumber = 11;
2745   float momentum() const;
2746   void set_momentum(float value);
2747
2748   // optional float weight_decay = 12;
2749   bool has_weight_decay() const;
2750   void clear_weight_decay();
2751   static const int kWeightDecayFieldNumber = 12;
2752   float weight_decay() const;
2753   void set_weight_decay(float value);
2754
2755   // optional string regularization_type = 29 [default = "L2"];
2756   bool has_regularization_type() const;
2757   void clear_regularization_type();
2758   static const int kRegularizationTypeFieldNumber = 29;
2759   const ::std::string& regularization_type() const;
2760   void set_regularization_type(const ::std::string& value);
2761   void set_regularization_type(const char* value);
2762   void set_regularization_type(const char* value, size_t size);
2763   ::std::string* mutable_regularization_type();
2764   ::std::string* release_regularization_type();
2765   void set_allocated_regularization_type(::std::string* regularization_type);
2766
2767   // optional int32 stepsize = 13;
2768   bool has_stepsize() const;
2769   void clear_stepsize();
2770   static const int kStepsizeFieldNumber = 13;
2771   ::google::protobuf::int32 stepsize() const;
2772   void set_stepsize(::google::protobuf::int32 value);
2773
2774   // repeated int32 stepvalue = 34;
2775   int stepvalue_size() const;
2776   void clear_stepvalue();
2777   static const int kStepvalueFieldNumber = 34;
2778   ::google::protobuf::int32 stepvalue(int index) const;
2779   void set_stepvalue(int index, ::google::protobuf::int32 value);
2780   void add_stepvalue(::google::protobuf::int32 value);
2781   const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2782       stepvalue() const;
2783   ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2784       mutable_stepvalue();
2785
2786   // optional float clip_gradients = 35 [default = -1];
2787   bool has_clip_gradients() const;
2788   void clear_clip_gradients();
2789   static const int kClipGradientsFieldNumber = 35;
2790   float clip_gradients() const;
2791   void set_clip_gradients(float value);
2792
2793   // optional int32 snapshot = 14 [default = 0];
2794   bool has_snapshot() const;
2795   void clear_snapshot();
2796   static const int kSnapshotFieldNumber = 14;
2797   ::google::protobuf::int32 snapshot() const;
2798   void set_snapshot(::google::protobuf::int32 value);
2799
2800   // optional string snapshot_prefix = 15;
2801   bool has_snapshot_prefix() const;
2802   void clear_snapshot_prefix();
2803   static const int kSnapshotPrefixFieldNumber = 15;
2804   const ::std::string& snapshot_prefix() const;
2805   void set_snapshot_prefix(const ::std::string& value);
2806   void set_snapshot_prefix(const char* value);
2807   void set_snapshot_prefix(const char* value, size_t size);
2808   ::std::string* mutable_snapshot_prefix();
2809   ::std::string* release_snapshot_prefix();
2810   void set_allocated_snapshot_prefix(::std::string* snapshot_prefix);
2811
2812   // optional bool snapshot_diff = 16 [default = false];
2813   bool has_snapshot_diff() const;
2814   void clear_snapshot_diff();
2815   static const int kSnapshotDiffFieldNumber = 16;
2816   bool snapshot_diff() const;
2817   void set_snapshot_diff(bool value);
2818
2819   // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
2820   bool has_snapshot_format() const;
2821   void clear_snapshot_format();
2822   static const int kSnapshotFormatFieldNumber = 37;
2823   ::opencv_caffe::SolverParameter_SnapshotFormat snapshot_format() const;
2824   void set_snapshot_format(::opencv_caffe::SolverParameter_SnapshotFormat value);
2825
2826   // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
2827   bool has_solver_mode() const;
2828   void clear_solver_mode();
2829   static const int kSolverModeFieldNumber = 17;
2830   ::opencv_caffe::SolverParameter_SolverMode solver_mode() const;
2831   void set_solver_mode(::opencv_caffe::SolverParameter_SolverMode value);
2832
2833   // optional int32 device_id = 18 [default = 0];
2834   bool has_device_id() const;
2835   void clear_device_id();
2836   static const int kDeviceIdFieldNumber = 18;
2837   ::google::protobuf::int32 device_id() const;
2838   void set_device_id(::google::protobuf::int32 value);
2839
2840   // optional int64 random_seed = 20 [default = -1];
2841   bool has_random_seed() const;
2842   void clear_random_seed();
2843   static const int kRandomSeedFieldNumber = 20;
2844   ::google::protobuf::int64 random_seed() const;
2845   void set_random_seed(::google::protobuf::int64 value);
2846
2847   // optional string type = 40 [default = "SGD"];
2848   bool has_type() const;
2849   void clear_type();
2850   static const int kTypeFieldNumber = 40;
2851   const ::std::string& type() const;
2852   void set_type(const ::std::string& value);
2853   void set_type(const char* value);
2854   void set_type(const char* value, size_t size);
2855   ::std::string* mutable_type();
2856   ::std::string* release_type();
2857   void set_allocated_type(::std::string* type);
2858
2859   // optional float delta = 31 [default = 1e-08];
2860   bool has_delta() const;
2861   void clear_delta();
2862   static const int kDeltaFieldNumber = 31;
2863   float delta() const;
2864   void set_delta(float value);
2865
2866   // optional float momentum2 = 39 [default = 0.999];
2867   bool has_momentum2() const;
2868   void clear_momentum2();
2869   static const int kMomentum2FieldNumber = 39;
2870   float momentum2() const;
2871   void set_momentum2(float value);
2872
2873   // optional float rms_decay = 38 [default = 0.99];
2874   bool has_rms_decay() const;
2875   void clear_rms_decay();
2876   static const int kRmsDecayFieldNumber = 38;
2877   float rms_decay() const;
2878   void set_rms_decay(float value);
2879
2880   // optional bool debug_info = 23 [default = false];
2881   bool has_debug_info() const;
2882   void clear_debug_info();
2883   static const int kDebugInfoFieldNumber = 23;
2884   bool debug_info() const;
2885   void set_debug_info(bool value);
2886
2887   // optional bool snapshot_after_train = 28 [default = true];
2888   bool has_snapshot_after_train() const;
2889   void clear_snapshot_after_train();
2890   static const int kSnapshotAfterTrainFieldNumber = 28;
2891   bool snapshot_after_train() const;
2892   void set_snapshot_after_train(bool value);
2893
2894   // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
2895   bool has_solver_type() const;
2896   void clear_solver_type();
2897   static const int kSolverTypeFieldNumber = 30;
2898   ::opencv_caffe::SolverParameter_SolverType solver_type() const;
2899   void set_solver_type(::opencv_caffe::SolverParameter_SolverType value);
2900
2901   // @@protoc_insertion_point(class_scope:opencv_caffe.SolverParameter)
2902  private:
2903   inline void set_has_net();
2904   inline void clear_has_net();
2905   inline void set_has_net_param();
2906   inline void clear_has_net_param();
2907   inline void set_has_train_net();
2908   inline void clear_has_train_net();
2909   inline void set_has_train_net_param();
2910   inline void clear_has_train_net_param();
2911   inline void set_has_train_state();
2912   inline void clear_has_train_state();
2913   inline void set_has_test_interval();
2914   inline void clear_has_test_interval();
2915   inline void set_has_test_compute_loss();
2916   inline void clear_has_test_compute_loss();
2917   inline void set_has_test_initialization();
2918   inline void clear_has_test_initialization();
2919   inline void set_has_base_lr();
2920   inline void clear_has_base_lr();
2921   inline void set_has_display();
2922   inline void clear_has_display();
2923   inline void set_has_average_loss();
2924   inline void clear_has_average_loss();
2925   inline void set_has_max_iter();
2926   inline void clear_has_max_iter();
2927   inline void set_has_iter_size();
2928   inline void clear_has_iter_size();
2929   inline void set_has_lr_policy();
2930   inline void clear_has_lr_policy();
2931   inline void set_has_gamma();
2932   inline void clear_has_gamma();
2933   inline void set_has_power();
2934   inline void clear_has_power();
2935   inline void set_has_momentum();
2936   inline void clear_has_momentum();
2937   inline void set_has_weight_decay();
2938   inline void clear_has_weight_decay();
2939   inline void set_has_regularization_type();
2940   inline void clear_has_regularization_type();
2941   inline void set_has_stepsize();
2942   inline void clear_has_stepsize();
2943   inline void set_has_clip_gradients();
2944   inline void clear_has_clip_gradients();
2945   inline void set_has_snapshot();
2946   inline void clear_has_snapshot();
2947   inline void set_has_snapshot_prefix();
2948   inline void clear_has_snapshot_prefix();
2949   inline void set_has_snapshot_diff();
2950   inline void clear_has_snapshot_diff();
2951   inline void set_has_snapshot_format();
2952   inline void clear_has_snapshot_format();
2953   inline void set_has_solver_mode();
2954   inline void clear_has_solver_mode();
2955   inline void set_has_device_id();
2956   inline void clear_has_device_id();
2957   inline void set_has_random_seed();
2958   inline void clear_has_random_seed();
2959   inline void set_has_type();
2960   inline void clear_has_type();
2961   inline void set_has_delta();
2962   inline void clear_has_delta();
2963   inline void set_has_momentum2();
2964   inline void clear_has_momentum2();
2965   inline void set_has_rms_decay();
2966   inline void clear_has_rms_decay();
2967   inline void set_has_debug_info();
2968   inline void clear_has_debug_info();
2969   inline void set_has_snapshot_after_train();
2970   inline void clear_has_snapshot_after_train();
2971   inline void set_has_solver_type();
2972   inline void clear_has_solver_type();
2973
2974   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
2975   ::google::protobuf::internal::HasBits<2> _has_bits_;
2976   ::google::protobuf::RepeatedPtrField< ::std::string> test_net_;
2977   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter > test_net_param_;
2978   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState > test_state_;
2979   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > test_iter_;
2980   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > stepvalue_;
2981   ::google::protobuf::internal::ArenaStringPtr net_;
2982   ::google::protobuf::internal::ArenaStringPtr train_net_;
2983   ::google::protobuf::internal::ArenaStringPtr lr_policy_;
2984   static ::std::string* _default_regularization_type_;
2985   ::google::protobuf::internal::ArenaStringPtr regularization_type_;
2986   ::google::protobuf::internal::ArenaStringPtr snapshot_prefix_;
2987   static ::std::string* _default_type_;
2988   ::google::protobuf::internal::ArenaStringPtr type_;
2989   ::opencv_caffe::NetParameter* net_param_;
2990   ::opencv_caffe::NetParameter* train_net_param_;
2991   ::opencv_caffe::NetState* train_state_;
2992   ::google::protobuf::int32 test_interval_;
2993   float base_lr_;
2994   ::google::protobuf::int32 display_;
2995   ::google::protobuf::int32 max_iter_;
2996   float gamma_;
2997   float power_;
2998   float momentum_;
2999   float weight_decay_;
3000   ::google::protobuf::int32 stepsize_;
3001   bool test_compute_loss_;
3002   bool snapshot_diff_;
3003   bool debug_info_;
3004   ::google::protobuf::int32 snapshot_;
3005   ::google::protobuf::int32 device_id_;
3006   int solver_type_;
3007   float rms_decay_;
3008   ::google::protobuf::int32 average_loss_;
3009   ::google::protobuf::int32 iter_size_;
3010   bool test_initialization_;
3011   bool snapshot_after_train_;
3012   float clip_gradients_;
3013   int snapshot_format_;
3014   int solver_mode_;
3015   ::google::protobuf::int64 random_seed_;
3016   float delta_;
3017   float momentum2_;
3018   mutable int _cached_size_;
3019   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3020   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3021   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3022   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3023
3024   void InitAsDefaultInstance();
3025 };
3026 extern ::google::protobuf::internal::ExplicitlyConstructed<SolverParameter> SolverParameter_default_instance_;
3027
3028 // -------------------------------------------------------------------
3029
3030 class SolverState : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SolverState) */ {
3031  public:
3032   SolverState();
3033   virtual ~SolverState();
3034
3035   SolverState(const SolverState& from);
3036
3037   inline SolverState& operator=(const SolverState& from) {
3038     CopyFrom(from);
3039     return *this;
3040   }
3041
3042   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3043     return _internal_metadata_.unknown_fields();
3044   }
3045
3046   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3047     return _internal_metadata_.mutable_unknown_fields();
3048   }
3049
3050   static const ::google::protobuf::Descriptor* descriptor();
3051   static const SolverState& default_instance();
3052
3053   static const SolverState* internal_default_instance();
3054
3055   void Swap(SolverState* other);
3056
3057   // implements Message ----------------------------------------------
3058
3059   inline SolverState* New() const { return New(NULL); }
3060
3061   SolverState* New(::google::protobuf::Arena* arena) const;
3062   void CopyFrom(const ::google::protobuf::Message& from);
3063   void MergeFrom(const ::google::protobuf::Message& from);
3064   void CopyFrom(const SolverState& from);
3065   void MergeFrom(const SolverState& from);
3066   void Clear();
3067   bool IsInitialized() const;
3068
3069   size_t ByteSizeLong() const;
3070   bool MergePartialFromCodedStream(
3071       ::google::protobuf::io::CodedInputStream* input);
3072   void SerializeWithCachedSizes(
3073       ::google::protobuf::io::CodedOutputStream* output) const;
3074   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3075       bool deterministic, ::google::protobuf::uint8* output) const;
3076   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3077     return InternalSerializeWithCachedSizesToArray(false, output);
3078   }
3079   int GetCachedSize() const { return _cached_size_; }
3080   private:
3081   void SharedCtor();
3082   void SharedDtor();
3083   void SetCachedSize(int size) const;
3084   void InternalSwap(SolverState* other);
3085   void UnsafeMergeFrom(const SolverState& from);
3086   private:
3087   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3088     return _internal_metadata_.arena();
3089   }
3090   inline void* MaybeArenaPtr() const {
3091     return _internal_metadata_.raw_arena_ptr();
3092   }
3093   public:
3094
3095   ::google::protobuf::Metadata GetMetadata() const;
3096
3097   // nested types ----------------------------------------------------
3098
3099   // accessors -------------------------------------------------------
3100
3101   // optional int32 iter = 1;
3102   bool has_iter() const;
3103   void clear_iter();
3104   static const int kIterFieldNumber = 1;
3105   ::google::protobuf::int32 iter() const;
3106   void set_iter(::google::protobuf::int32 value);
3107
3108   // optional string learned_net = 2;
3109   bool has_learned_net() const;
3110   void clear_learned_net();
3111   static const int kLearnedNetFieldNumber = 2;
3112   const ::std::string& learned_net() const;
3113   void set_learned_net(const ::std::string& value);
3114   void set_learned_net(const char* value);
3115   void set_learned_net(const char* value, size_t size);
3116   ::std::string* mutable_learned_net();
3117   ::std::string* release_learned_net();
3118   void set_allocated_learned_net(::std::string* learned_net);
3119
3120   // repeated .opencv_caffe.BlobProto history = 3;
3121   int history_size() const;
3122   void clear_history();
3123   static const int kHistoryFieldNumber = 3;
3124   const ::opencv_caffe::BlobProto& history(int index) const;
3125   ::opencv_caffe::BlobProto* mutable_history(int index);
3126   ::opencv_caffe::BlobProto* add_history();
3127   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
3128       mutable_history();
3129   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
3130       history() const;
3131
3132   // optional int32 current_step = 4 [default = 0];
3133   bool has_current_step() const;
3134   void clear_current_step();
3135   static const int kCurrentStepFieldNumber = 4;
3136   ::google::protobuf::int32 current_step() const;
3137   void set_current_step(::google::protobuf::int32 value);
3138
3139   // @@protoc_insertion_point(class_scope:opencv_caffe.SolverState)
3140  private:
3141   inline void set_has_iter();
3142   inline void clear_has_iter();
3143   inline void set_has_learned_net();
3144   inline void clear_has_learned_net();
3145   inline void set_has_current_step();
3146   inline void clear_has_current_step();
3147
3148   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3149   ::google::protobuf::internal::HasBits<1> _has_bits_;
3150   mutable int _cached_size_;
3151   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > history_;
3152   ::google::protobuf::internal::ArenaStringPtr learned_net_;
3153   ::google::protobuf::int32 iter_;
3154   ::google::protobuf::int32 current_step_;
3155   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3156   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3157   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3158   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3159
3160   void InitAsDefaultInstance();
3161 };
3162 extern ::google::protobuf::internal::ExplicitlyConstructed<SolverState> SolverState_default_instance_;
3163
3164 // -------------------------------------------------------------------
3165
3166 class NetState : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NetState) */ {
3167  public:
3168   NetState();
3169   virtual ~NetState();
3170
3171   NetState(const NetState& from);
3172
3173   inline NetState& operator=(const NetState& from) {
3174     CopyFrom(from);
3175     return *this;
3176   }
3177
3178   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3179     return _internal_metadata_.unknown_fields();
3180   }
3181
3182   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3183     return _internal_metadata_.mutable_unknown_fields();
3184   }
3185
3186   static const ::google::protobuf::Descriptor* descriptor();
3187   static const NetState& default_instance();
3188
3189   static const NetState* internal_default_instance();
3190
3191   void Swap(NetState* other);
3192
3193   // implements Message ----------------------------------------------
3194
3195   inline NetState* New() const { return New(NULL); }
3196
3197   NetState* New(::google::protobuf::Arena* arena) const;
3198   void CopyFrom(const ::google::protobuf::Message& from);
3199   void MergeFrom(const ::google::protobuf::Message& from);
3200   void CopyFrom(const NetState& from);
3201   void MergeFrom(const NetState& from);
3202   void Clear();
3203   bool IsInitialized() const;
3204
3205   size_t ByteSizeLong() const;
3206   bool MergePartialFromCodedStream(
3207       ::google::protobuf::io::CodedInputStream* input);
3208   void SerializeWithCachedSizes(
3209       ::google::protobuf::io::CodedOutputStream* output) const;
3210   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3211       bool deterministic, ::google::protobuf::uint8* output) const;
3212   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3213     return InternalSerializeWithCachedSizesToArray(false, output);
3214   }
3215   int GetCachedSize() const { return _cached_size_; }
3216   private:
3217   void SharedCtor();
3218   void SharedDtor();
3219   void SetCachedSize(int size) const;
3220   void InternalSwap(NetState* other);
3221   void UnsafeMergeFrom(const NetState& from);
3222   private:
3223   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3224     return _internal_metadata_.arena();
3225   }
3226   inline void* MaybeArenaPtr() const {
3227     return _internal_metadata_.raw_arena_ptr();
3228   }
3229   public:
3230
3231   ::google::protobuf::Metadata GetMetadata() const;
3232
3233   // nested types ----------------------------------------------------
3234
3235   // accessors -------------------------------------------------------
3236
3237   // optional .opencv_caffe.Phase phase = 1 [default = TEST];
3238   bool has_phase() const;
3239   void clear_phase();
3240   static const int kPhaseFieldNumber = 1;
3241   ::opencv_caffe::Phase phase() const;
3242   void set_phase(::opencv_caffe::Phase value);
3243
3244   // optional int32 level = 2 [default = 0];
3245   bool has_level() const;
3246   void clear_level();
3247   static const int kLevelFieldNumber = 2;
3248   ::google::protobuf::int32 level() const;
3249   void set_level(::google::protobuf::int32 value);
3250
3251   // repeated string stage = 3;
3252   int stage_size() const;
3253   void clear_stage();
3254   static const int kStageFieldNumber = 3;
3255   const ::std::string& stage(int index) const;
3256   ::std::string* mutable_stage(int index);
3257   void set_stage(int index, const ::std::string& value);
3258   void set_stage(int index, const char* value);
3259   void set_stage(int index, const char* value, size_t size);
3260   ::std::string* add_stage();
3261   void add_stage(const ::std::string& value);
3262   void add_stage(const char* value);
3263   void add_stage(const char* value, size_t size);
3264   const ::google::protobuf::RepeatedPtrField< ::std::string>& stage() const;
3265   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_stage();
3266
3267   // @@protoc_insertion_point(class_scope:opencv_caffe.NetState)
3268  private:
3269   inline void set_has_phase();
3270   inline void clear_has_phase();
3271   inline void set_has_level();
3272   inline void clear_has_level();
3273
3274   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3275   ::google::protobuf::internal::HasBits<1> _has_bits_;
3276   mutable int _cached_size_;
3277   ::google::protobuf::RepeatedPtrField< ::std::string> stage_;
3278   ::google::protobuf::int32 level_;
3279   int phase_;
3280   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3281   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3282   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3283   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3284
3285   void InitAsDefaultInstance();
3286 };
3287 extern ::google::protobuf::internal::ExplicitlyConstructed<NetState> NetState_default_instance_;
3288
3289 // -------------------------------------------------------------------
3290
3291 class NetStateRule : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NetStateRule) */ {
3292  public:
3293   NetStateRule();
3294   virtual ~NetStateRule();
3295
3296   NetStateRule(const NetStateRule& from);
3297
3298   inline NetStateRule& operator=(const NetStateRule& from) {
3299     CopyFrom(from);
3300     return *this;
3301   }
3302
3303   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3304     return _internal_metadata_.unknown_fields();
3305   }
3306
3307   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3308     return _internal_metadata_.mutable_unknown_fields();
3309   }
3310
3311   static const ::google::protobuf::Descriptor* descriptor();
3312   static const NetStateRule& default_instance();
3313
3314   static const NetStateRule* internal_default_instance();
3315
3316   void Swap(NetStateRule* other);
3317
3318   // implements Message ----------------------------------------------
3319
3320   inline NetStateRule* New() const { return New(NULL); }
3321
3322   NetStateRule* New(::google::protobuf::Arena* arena) const;
3323   void CopyFrom(const ::google::protobuf::Message& from);
3324   void MergeFrom(const ::google::protobuf::Message& from);
3325   void CopyFrom(const NetStateRule& from);
3326   void MergeFrom(const NetStateRule& from);
3327   void Clear();
3328   bool IsInitialized() const;
3329
3330   size_t ByteSizeLong() const;
3331   bool MergePartialFromCodedStream(
3332       ::google::protobuf::io::CodedInputStream* input);
3333   void SerializeWithCachedSizes(
3334       ::google::protobuf::io::CodedOutputStream* output) const;
3335   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3336       bool deterministic, ::google::protobuf::uint8* output) const;
3337   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3338     return InternalSerializeWithCachedSizesToArray(false, output);
3339   }
3340   int GetCachedSize() const { return _cached_size_; }
3341   private:
3342   void SharedCtor();
3343   void SharedDtor();
3344   void SetCachedSize(int size) const;
3345   void InternalSwap(NetStateRule* other);
3346   void UnsafeMergeFrom(const NetStateRule& from);
3347   private:
3348   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3349     return _internal_metadata_.arena();
3350   }
3351   inline void* MaybeArenaPtr() const {
3352     return _internal_metadata_.raw_arena_ptr();
3353   }
3354   public:
3355
3356   ::google::protobuf::Metadata GetMetadata() const;
3357
3358   // nested types ----------------------------------------------------
3359
3360   // accessors -------------------------------------------------------
3361
3362   // optional .opencv_caffe.Phase phase = 1;
3363   bool has_phase() const;
3364   void clear_phase();
3365   static const int kPhaseFieldNumber = 1;
3366   ::opencv_caffe::Phase phase() const;
3367   void set_phase(::opencv_caffe::Phase value);
3368
3369   // optional int32 min_level = 2;
3370   bool has_min_level() const;
3371   void clear_min_level();
3372   static const int kMinLevelFieldNumber = 2;
3373   ::google::protobuf::int32 min_level() const;
3374   void set_min_level(::google::protobuf::int32 value);
3375
3376   // optional int32 max_level = 3;
3377   bool has_max_level() const;
3378   void clear_max_level();
3379   static const int kMaxLevelFieldNumber = 3;
3380   ::google::protobuf::int32 max_level() const;
3381   void set_max_level(::google::protobuf::int32 value);
3382
3383   // repeated string stage = 4;
3384   int stage_size() const;
3385   void clear_stage();
3386   static const int kStageFieldNumber = 4;
3387   const ::std::string& stage(int index) const;
3388   ::std::string* mutable_stage(int index);
3389   void set_stage(int index, const ::std::string& value);
3390   void set_stage(int index, const char* value);
3391   void set_stage(int index, const char* value, size_t size);
3392   ::std::string* add_stage();
3393   void add_stage(const ::std::string& value);
3394   void add_stage(const char* value);
3395   void add_stage(const char* value, size_t size);
3396   const ::google::protobuf::RepeatedPtrField< ::std::string>& stage() const;
3397   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_stage();
3398
3399   // repeated string not_stage = 5;
3400   int not_stage_size() const;
3401   void clear_not_stage();
3402   static const int kNotStageFieldNumber = 5;
3403   const ::std::string& not_stage(int index) const;
3404   ::std::string* mutable_not_stage(int index);
3405   void set_not_stage(int index, const ::std::string& value);
3406   void set_not_stage(int index, const char* value);
3407   void set_not_stage(int index, const char* value, size_t size);
3408   ::std::string* add_not_stage();
3409   void add_not_stage(const ::std::string& value);
3410   void add_not_stage(const char* value);
3411   void add_not_stage(const char* value, size_t size);
3412   const ::google::protobuf::RepeatedPtrField< ::std::string>& not_stage() const;
3413   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_not_stage();
3414
3415   // @@protoc_insertion_point(class_scope:opencv_caffe.NetStateRule)
3416  private:
3417   inline void set_has_phase();
3418   inline void clear_has_phase();
3419   inline void set_has_min_level();
3420   inline void clear_has_min_level();
3421   inline void set_has_max_level();
3422   inline void clear_has_max_level();
3423
3424   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3425   ::google::protobuf::internal::HasBits<1> _has_bits_;
3426   mutable int _cached_size_;
3427   ::google::protobuf::RepeatedPtrField< ::std::string> stage_;
3428   ::google::protobuf::RepeatedPtrField< ::std::string> not_stage_;
3429   int phase_;
3430   ::google::protobuf::int32 min_level_;
3431   ::google::protobuf::int32 max_level_;
3432   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3433   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3434   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3435   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3436
3437   void InitAsDefaultInstance();
3438 };
3439 extern ::google::protobuf::internal::ExplicitlyConstructed<NetStateRule> NetStateRule_default_instance_;
3440
3441 // -------------------------------------------------------------------
3442
3443 class ParamSpec : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ParamSpec) */ {
3444  public:
3445   ParamSpec();
3446   virtual ~ParamSpec();
3447
3448   ParamSpec(const ParamSpec& from);
3449
3450   inline ParamSpec& operator=(const ParamSpec& from) {
3451     CopyFrom(from);
3452     return *this;
3453   }
3454
3455   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3456     return _internal_metadata_.unknown_fields();
3457   }
3458
3459   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3460     return _internal_metadata_.mutable_unknown_fields();
3461   }
3462
3463   static const ::google::protobuf::Descriptor* descriptor();
3464   static const ParamSpec& default_instance();
3465
3466   static const ParamSpec* internal_default_instance();
3467
3468   void Swap(ParamSpec* other);
3469
3470   // implements Message ----------------------------------------------
3471
3472   inline ParamSpec* New() const { return New(NULL); }
3473
3474   ParamSpec* New(::google::protobuf::Arena* arena) const;
3475   void CopyFrom(const ::google::protobuf::Message& from);
3476   void MergeFrom(const ::google::protobuf::Message& from);
3477   void CopyFrom(const ParamSpec& from);
3478   void MergeFrom(const ParamSpec& from);
3479   void Clear();
3480   bool IsInitialized() const;
3481
3482   size_t ByteSizeLong() const;
3483   bool MergePartialFromCodedStream(
3484       ::google::protobuf::io::CodedInputStream* input);
3485   void SerializeWithCachedSizes(
3486       ::google::protobuf::io::CodedOutputStream* output) const;
3487   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3488       bool deterministic, ::google::protobuf::uint8* output) const;
3489   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3490     return InternalSerializeWithCachedSizesToArray(false, output);
3491   }
3492   int GetCachedSize() const { return _cached_size_; }
3493   private:
3494   void SharedCtor();
3495   void SharedDtor();
3496   void SetCachedSize(int size) const;
3497   void InternalSwap(ParamSpec* other);
3498   void UnsafeMergeFrom(const ParamSpec& from);
3499   private:
3500   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3501     return _internal_metadata_.arena();
3502   }
3503   inline void* MaybeArenaPtr() const {
3504     return _internal_metadata_.raw_arena_ptr();
3505   }
3506   public:
3507
3508   ::google::protobuf::Metadata GetMetadata() const;
3509
3510   // nested types ----------------------------------------------------
3511
3512   typedef ParamSpec_DimCheckMode DimCheckMode;
3513   static const DimCheckMode STRICT =
3514     ParamSpec_DimCheckMode_STRICT;
3515   static const DimCheckMode PERMISSIVE =
3516     ParamSpec_DimCheckMode_PERMISSIVE;
3517   static inline bool DimCheckMode_IsValid(int value) {
3518     return ParamSpec_DimCheckMode_IsValid(value);
3519   }
3520   static const DimCheckMode DimCheckMode_MIN =
3521     ParamSpec_DimCheckMode_DimCheckMode_MIN;
3522   static const DimCheckMode DimCheckMode_MAX =
3523     ParamSpec_DimCheckMode_DimCheckMode_MAX;
3524   static const int DimCheckMode_ARRAYSIZE =
3525     ParamSpec_DimCheckMode_DimCheckMode_ARRAYSIZE;
3526   static inline const ::google::protobuf::EnumDescriptor*
3527   DimCheckMode_descriptor() {
3528     return ParamSpec_DimCheckMode_descriptor();
3529   }
3530   static inline const ::std::string& DimCheckMode_Name(DimCheckMode value) {
3531     return ParamSpec_DimCheckMode_Name(value);
3532   }
3533   static inline bool DimCheckMode_Parse(const ::std::string& name,
3534       DimCheckMode* value) {
3535     return ParamSpec_DimCheckMode_Parse(name, value);
3536   }
3537
3538   // accessors -------------------------------------------------------
3539
3540   // optional string name = 1;
3541   bool has_name() const;
3542   void clear_name();
3543   static const int kNameFieldNumber = 1;
3544   const ::std::string& name() const;
3545   void set_name(const ::std::string& value);
3546   void set_name(const char* value);
3547   void set_name(const char* value, size_t size);
3548   ::std::string* mutable_name();
3549   ::std::string* release_name();
3550   void set_allocated_name(::std::string* name);
3551
3552   // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
3553   bool has_share_mode() const;
3554   void clear_share_mode();
3555   static const int kShareModeFieldNumber = 2;
3556   ::opencv_caffe::ParamSpec_DimCheckMode share_mode() const;
3557   void set_share_mode(::opencv_caffe::ParamSpec_DimCheckMode value);
3558
3559   // optional float lr_mult = 3 [default = 1];
3560   bool has_lr_mult() const;
3561   void clear_lr_mult();
3562   static const int kLrMultFieldNumber = 3;
3563   float lr_mult() const;
3564   void set_lr_mult(float value);
3565
3566   // optional float decay_mult = 4 [default = 1];
3567   bool has_decay_mult() const;
3568   void clear_decay_mult();
3569   static const int kDecayMultFieldNumber = 4;
3570   float decay_mult() const;
3571   void set_decay_mult(float value);
3572
3573   // @@protoc_insertion_point(class_scope:opencv_caffe.ParamSpec)
3574  private:
3575   inline void set_has_name();
3576   inline void clear_has_name();
3577   inline void set_has_share_mode();
3578   inline void clear_has_share_mode();
3579   inline void set_has_lr_mult();
3580   inline void clear_has_lr_mult();
3581   inline void set_has_decay_mult();
3582   inline void clear_has_decay_mult();
3583
3584   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3585   ::google::protobuf::internal::HasBits<1> _has_bits_;
3586   mutable int _cached_size_;
3587   ::google::protobuf::internal::ArenaStringPtr name_;
3588   int share_mode_;
3589   float lr_mult_;
3590   float decay_mult_;
3591   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3592   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3593   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3594   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3595
3596   void InitAsDefaultInstance();
3597 };
3598 extern ::google::protobuf::internal::ExplicitlyConstructed<ParamSpec> ParamSpec_default_instance_;
3599
3600 // -------------------------------------------------------------------
3601
3602 class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LayerParameter) */ {
3603  public:
3604   LayerParameter();
3605   virtual ~LayerParameter();
3606
3607   LayerParameter(const LayerParameter& from);
3608
3609   inline LayerParameter& operator=(const LayerParameter& from) {
3610     CopyFrom(from);
3611     return *this;
3612   }
3613
3614   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3615     return _internal_metadata_.unknown_fields();
3616   }
3617
3618   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3619     return _internal_metadata_.mutable_unknown_fields();
3620   }
3621
3622   static const ::google::protobuf::Descriptor* descriptor();
3623   static const LayerParameter& default_instance();
3624
3625   static const LayerParameter* internal_default_instance();
3626
3627   void Swap(LayerParameter* other);
3628
3629   // implements Message ----------------------------------------------
3630
3631   inline LayerParameter* New() const { return New(NULL); }
3632
3633   LayerParameter* New(::google::protobuf::Arena* arena) const;
3634   void CopyFrom(const ::google::protobuf::Message& from);
3635   void MergeFrom(const ::google::protobuf::Message& from);
3636   void CopyFrom(const LayerParameter& from);
3637   void MergeFrom(const LayerParameter& from);
3638   void Clear();
3639   bool IsInitialized() const;
3640
3641   size_t ByteSizeLong() const;
3642   bool MergePartialFromCodedStream(
3643       ::google::protobuf::io::CodedInputStream* input);
3644   void SerializeWithCachedSizes(
3645       ::google::protobuf::io::CodedOutputStream* output) const;
3646   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3647       bool deterministic, ::google::protobuf::uint8* output) const;
3648   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3649     return InternalSerializeWithCachedSizesToArray(false, output);
3650   }
3651   int GetCachedSize() const { return _cached_size_; }
3652   private:
3653   void SharedCtor();
3654   void SharedDtor();
3655   void SetCachedSize(int size) const;
3656   void InternalSwap(LayerParameter* other);
3657   void UnsafeMergeFrom(const LayerParameter& from);
3658   private:
3659   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3660     return _internal_metadata_.arena();
3661   }
3662   inline void* MaybeArenaPtr() const {
3663     return _internal_metadata_.raw_arena_ptr();
3664   }
3665   public:
3666
3667   ::google::protobuf::Metadata GetMetadata() const;
3668
3669   // nested types ----------------------------------------------------
3670
3671   // accessors -------------------------------------------------------
3672
3673   // optional string name = 1;
3674   bool has_name() const;
3675   void clear_name();
3676   static const int kNameFieldNumber = 1;
3677   const ::std::string& name() const;
3678   void set_name(const ::std::string& value);
3679   void set_name(const char* value);
3680   void set_name(const char* value, size_t size);
3681   ::std::string* mutable_name();
3682   ::std::string* release_name();
3683   void set_allocated_name(::std::string* name);
3684
3685   // optional string type = 2;
3686   bool has_type() const;
3687   void clear_type();
3688   static const int kTypeFieldNumber = 2;
3689   const ::std::string& type() const;
3690   void set_type(const ::std::string& value);
3691   void set_type(const char* value);
3692   void set_type(const char* value, size_t size);
3693   ::std::string* mutable_type();
3694   ::std::string* release_type();
3695   void set_allocated_type(::std::string* type);
3696
3697   // repeated string bottom = 3;
3698   int bottom_size() const;
3699   void clear_bottom();
3700   static const int kBottomFieldNumber = 3;
3701   const ::std::string& bottom(int index) const;
3702   ::std::string* mutable_bottom(int index);
3703   void set_bottom(int index, const ::std::string& value);
3704   void set_bottom(int index, const char* value);
3705   void set_bottom(int index, const char* value, size_t size);
3706   ::std::string* add_bottom();
3707   void add_bottom(const ::std::string& value);
3708   void add_bottom(const char* value);
3709   void add_bottom(const char* value, size_t size);
3710   const ::google::protobuf::RepeatedPtrField< ::std::string>& bottom() const;
3711   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_bottom();
3712
3713   // repeated string top = 4;
3714   int top_size() const;
3715   void clear_top();
3716   static const int kTopFieldNumber = 4;
3717   const ::std::string& top(int index) const;
3718   ::std::string* mutable_top(int index);
3719   void set_top(int index, const ::std::string& value);
3720   void set_top(int index, const char* value);
3721   void set_top(int index, const char* value, size_t size);
3722   ::std::string* add_top();
3723   void add_top(const ::std::string& value);
3724   void add_top(const char* value);
3725   void add_top(const char* value, size_t size);
3726   const ::google::protobuf::RepeatedPtrField< ::std::string>& top() const;
3727   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_top();
3728
3729   // optional .opencv_caffe.Phase phase = 10;
3730   bool has_phase() const;
3731   void clear_phase();
3732   static const int kPhaseFieldNumber = 10;
3733   ::opencv_caffe::Phase phase() const;
3734   void set_phase(::opencv_caffe::Phase value);
3735
3736   // repeated float loss_weight = 5;
3737   int loss_weight_size() const;
3738   void clear_loss_weight();
3739   static const int kLossWeightFieldNumber = 5;
3740   float loss_weight(int index) const;
3741   void set_loss_weight(int index, float value);
3742   void add_loss_weight(float value);
3743   const ::google::protobuf::RepeatedField< float >&
3744       loss_weight() const;
3745   ::google::protobuf::RepeatedField< float >*
3746       mutable_loss_weight();
3747
3748   // repeated .opencv_caffe.ParamSpec param = 6;
3749   int param_size() const;
3750   void clear_param();
3751   static const int kParamFieldNumber = 6;
3752   const ::opencv_caffe::ParamSpec& param(int index) const;
3753   ::opencv_caffe::ParamSpec* mutable_param(int index);
3754   ::opencv_caffe::ParamSpec* add_param();
3755   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >*
3756       mutable_param();
3757   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >&
3758       param() const;
3759
3760   // repeated .opencv_caffe.BlobProto blobs = 7;
3761   int blobs_size() const;
3762   void clear_blobs();
3763   static const int kBlobsFieldNumber = 7;
3764   const ::opencv_caffe::BlobProto& blobs(int index) const;
3765   ::opencv_caffe::BlobProto* mutable_blobs(int index);
3766   ::opencv_caffe::BlobProto* add_blobs();
3767   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
3768       mutable_blobs();
3769   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
3770       blobs() const;
3771
3772   // repeated bool propagate_down = 11;
3773   int propagate_down_size() const;
3774   void clear_propagate_down();
3775   static const int kPropagateDownFieldNumber = 11;
3776   bool propagate_down(int index) const;
3777   void set_propagate_down(int index, bool value);
3778   void add_propagate_down(bool value);
3779   const ::google::protobuf::RepeatedField< bool >&
3780       propagate_down() const;
3781   ::google::protobuf::RepeatedField< bool >*
3782       mutable_propagate_down();
3783
3784   // repeated .opencv_caffe.NetStateRule include = 8;
3785   int include_size() const;
3786   void clear_include();
3787   static const int kIncludeFieldNumber = 8;
3788   const ::opencv_caffe::NetStateRule& include(int index) const;
3789   ::opencv_caffe::NetStateRule* mutable_include(int index);
3790   ::opencv_caffe::NetStateRule* add_include();
3791   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
3792       mutable_include();
3793   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
3794       include() const;
3795
3796   // repeated .opencv_caffe.NetStateRule exclude = 9;
3797   int exclude_size() const;
3798   void clear_exclude();
3799   static const int kExcludeFieldNumber = 9;
3800   const ::opencv_caffe::NetStateRule& exclude(int index) const;
3801   ::opencv_caffe::NetStateRule* mutable_exclude(int index);
3802   ::opencv_caffe::NetStateRule* add_exclude();
3803   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
3804       mutable_exclude();
3805   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
3806       exclude() const;
3807
3808   // optional .opencv_caffe.TransformationParameter transform_param = 100;
3809   bool has_transform_param() const;
3810   void clear_transform_param();
3811   static const int kTransformParamFieldNumber = 100;
3812   const ::opencv_caffe::TransformationParameter& transform_param() const;
3813   ::opencv_caffe::TransformationParameter* mutable_transform_param();
3814   ::opencv_caffe::TransformationParameter* release_transform_param();
3815   void set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param);
3816
3817   // optional .opencv_caffe.LossParameter loss_param = 101;
3818   bool has_loss_param() const;
3819   void clear_loss_param();
3820   static const int kLossParamFieldNumber = 101;
3821   const ::opencv_caffe::LossParameter& loss_param() const;
3822   ::opencv_caffe::LossParameter* mutable_loss_param();
3823   ::opencv_caffe::LossParameter* release_loss_param();
3824   void set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param);
3825
3826   // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
3827   bool has_accuracy_param() const;
3828   void clear_accuracy_param();
3829   static const int kAccuracyParamFieldNumber = 102;
3830   const ::opencv_caffe::AccuracyParameter& accuracy_param() const;
3831   ::opencv_caffe::AccuracyParameter* mutable_accuracy_param();
3832   ::opencv_caffe::AccuracyParameter* release_accuracy_param();
3833   void set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param);
3834
3835   // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
3836   bool has_argmax_param() const;
3837   void clear_argmax_param();
3838   static const int kArgmaxParamFieldNumber = 103;
3839   const ::opencv_caffe::ArgMaxParameter& argmax_param() const;
3840   ::opencv_caffe::ArgMaxParameter* mutable_argmax_param();
3841   ::opencv_caffe::ArgMaxParameter* release_argmax_param();
3842   void set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param);
3843
3844   // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
3845   bool has_batch_norm_param() const;
3846   void clear_batch_norm_param();
3847   static const int kBatchNormParamFieldNumber = 139;
3848   const ::opencv_caffe::BatchNormParameter& batch_norm_param() const;
3849   ::opencv_caffe::BatchNormParameter* mutable_batch_norm_param();
3850   ::opencv_caffe::BatchNormParameter* release_batch_norm_param();
3851   void set_allocated_batch_norm_param(::opencv_caffe::BatchNormParameter* batch_norm_param);
3852
3853   // optional .opencv_caffe.BiasParameter bias_param = 141;
3854   bool has_bias_param() const;
3855   void clear_bias_param();
3856   static const int kBiasParamFieldNumber = 141;
3857   const ::opencv_caffe::BiasParameter& bias_param() const;
3858   ::opencv_caffe::BiasParameter* mutable_bias_param();
3859   ::opencv_caffe::BiasParameter* release_bias_param();
3860   void set_allocated_bias_param(::opencv_caffe::BiasParameter* bias_param);
3861
3862   // optional .opencv_caffe.ConcatParameter concat_param = 104;
3863   bool has_concat_param() const;
3864   void clear_concat_param();
3865   static const int kConcatParamFieldNumber = 104;
3866   const ::opencv_caffe::ConcatParameter& concat_param() const;
3867   ::opencv_caffe::ConcatParameter* mutable_concat_param();
3868   ::opencv_caffe::ConcatParameter* release_concat_param();
3869   void set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param);
3870
3871   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
3872   bool has_contrastive_loss_param() const;
3873   void clear_contrastive_loss_param();
3874   static const int kContrastiveLossParamFieldNumber = 105;
3875   const ::opencv_caffe::ContrastiveLossParameter& contrastive_loss_param() const;
3876   ::opencv_caffe::ContrastiveLossParameter* mutable_contrastive_loss_param();
3877   ::opencv_caffe::ContrastiveLossParameter* release_contrastive_loss_param();
3878   void set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param);
3879
3880   // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
3881   bool has_convolution_param() const;
3882   void clear_convolution_param();
3883   static const int kConvolutionParamFieldNumber = 106;
3884   const ::opencv_caffe::ConvolutionParameter& convolution_param() const;
3885   ::opencv_caffe::ConvolutionParameter* mutable_convolution_param();
3886   ::opencv_caffe::ConvolutionParameter* release_convolution_param();
3887   void set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param);
3888
3889   // optional .opencv_caffe.CropParameter crop_param = 144;
3890   bool has_crop_param() const;
3891   void clear_crop_param();
3892   static const int kCropParamFieldNumber = 144;
3893   const ::opencv_caffe::CropParameter& crop_param() const;
3894   ::opencv_caffe::CropParameter* mutable_crop_param();
3895   ::opencv_caffe::CropParameter* release_crop_param();
3896   void set_allocated_crop_param(::opencv_caffe::CropParameter* crop_param);
3897
3898   // optional .opencv_caffe.DataParameter data_param = 107;
3899   bool has_data_param() const;
3900   void clear_data_param();
3901   static const int kDataParamFieldNumber = 107;
3902   const ::opencv_caffe::DataParameter& data_param() const;
3903   ::opencv_caffe::DataParameter* mutable_data_param();
3904   ::opencv_caffe::DataParameter* release_data_param();
3905   void set_allocated_data_param(::opencv_caffe::DataParameter* data_param);
3906
3907   // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
3908   bool has_detection_output_param() const;
3909   void clear_detection_output_param();
3910   static const int kDetectionOutputParamFieldNumber = 147;
3911   const ::opencv_caffe::DetectionOutputParameter& detection_output_param() const;
3912   ::opencv_caffe::DetectionOutputParameter* mutable_detection_output_param();
3913   ::opencv_caffe::DetectionOutputParameter* release_detection_output_param();
3914   void set_allocated_detection_output_param(::opencv_caffe::DetectionOutputParameter* detection_output_param);
3915
3916   // optional .opencv_caffe.DropoutParameter dropout_param = 108;
3917   bool has_dropout_param() const;
3918   void clear_dropout_param();
3919   static const int kDropoutParamFieldNumber = 108;
3920   const ::opencv_caffe::DropoutParameter& dropout_param() const;
3921   ::opencv_caffe::DropoutParameter* mutable_dropout_param();
3922   ::opencv_caffe::DropoutParameter* release_dropout_param();
3923   void set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param);
3924
3925   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
3926   bool has_dummy_data_param() const;
3927   void clear_dummy_data_param();
3928   static const int kDummyDataParamFieldNumber = 109;
3929   const ::opencv_caffe::DummyDataParameter& dummy_data_param() const;
3930   ::opencv_caffe::DummyDataParameter* mutable_dummy_data_param();
3931   ::opencv_caffe::DummyDataParameter* release_dummy_data_param();
3932   void set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param);
3933
3934   // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
3935   bool has_eltwise_param() const;
3936   void clear_eltwise_param();
3937   static const int kEltwiseParamFieldNumber = 110;
3938   const ::opencv_caffe::EltwiseParameter& eltwise_param() const;
3939   ::opencv_caffe::EltwiseParameter* mutable_eltwise_param();
3940   ::opencv_caffe::EltwiseParameter* release_eltwise_param();
3941   void set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param);
3942
3943   // optional .opencv_caffe.ELUParameter elu_param = 140;
3944   bool has_elu_param() const;
3945   void clear_elu_param();
3946   static const int kEluParamFieldNumber = 140;
3947   const ::opencv_caffe::ELUParameter& elu_param() const;
3948   ::opencv_caffe::ELUParameter* mutable_elu_param();
3949   ::opencv_caffe::ELUParameter* release_elu_param();
3950   void set_allocated_elu_param(::opencv_caffe::ELUParameter* elu_param);
3951
3952   // optional .opencv_caffe.EmbedParameter embed_param = 137;
3953   bool has_embed_param() const;
3954   void clear_embed_param();
3955   static const int kEmbedParamFieldNumber = 137;
3956   const ::opencv_caffe::EmbedParameter& embed_param() const;
3957   ::opencv_caffe::EmbedParameter* mutable_embed_param();
3958   ::opencv_caffe::EmbedParameter* release_embed_param();
3959   void set_allocated_embed_param(::opencv_caffe::EmbedParameter* embed_param);
3960
3961   // optional .opencv_caffe.ExpParameter exp_param = 111;
3962   bool has_exp_param() const;
3963   void clear_exp_param();
3964   static const int kExpParamFieldNumber = 111;
3965   const ::opencv_caffe::ExpParameter& exp_param() const;
3966   ::opencv_caffe::ExpParameter* mutable_exp_param();
3967   ::opencv_caffe::ExpParameter* release_exp_param();
3968   void set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param);
3969
3970   // optional .opencv_caffe.FlattenParameter flatten_param = 135;
3971   bool has_flatten_param() const;
3972   void clear_flatten_param();
3973   static const int kFlattenParamFieldNumber = 135;
3974   const ::opencv_caffe::FlattenParameter& flatten_param() const;
3975   ::opencv_caffe::FlattenParameter* mutable_flatten_param();
3976   ::opencv_caffe::FlattenParameter* release_flatten_param();
3977   void set_allocated_flatten_param(::opencv_caffe::FlattenParameter* flatten_param);
3978
3979   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
3980   bool has_hdf5_data_param() const;
3981   void clear_hdf5_data_param();
3982   static const int kHdf5DataParamFieldNumber = 112;
3983   const ::opencv_caffe::HDF5DataParameter& hdf5_data_param() const;
3984   ::opencv_caffe::HDF5DataParameter* mutable_hdf5_data_param();
3985   ::opencv_caffe::HDF5DataParameter* release_hdf5_data_param();
3986   void set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param);
3987
3988   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
3989   bool has_hdf5_output_param() const;
3990   void clear_hdf5_output_param();
3991   static const int kHdf5OutputParamFieldNumber = 113;
3992   const ::opencv_caffe::HDF5OutputParameter& hdf5_output_param() const;
3993   ::opencv_caffe::HDF5OutputParameter* mutable_hdf5_output_param();
3994   ::opencv_caffe::HDF5OutputParameter* release_hdf5_output_param();
3995   void set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param);
3996
3997   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
3998   bool has_hinge_loss_param() const;
3999   void clear_hinge_loss_param();
4000   static const int kHingeLossParamFieldNumber = 114;
4001   const ::opencv_caffe::HingeLossParameter& hinge_loss_param() const;
4002   ::opencv_caffe::HingeLossParameter* mutable_hinge_loss_param();
4003   ::opencv_caffe::HingeLossParameter* release_hinge_loss_param();
4004   void set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param);
4005
4006   // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
4007   bool has_image_data_param() const;
4008   void clear_image_data_param();
4009   static const int kImageDataParamFieldNumber = 115;
4010   const ::opencv_caffe::ImageDataParameter& image_data_param() const;
4011   ::opencv_caffe::ImageDataParameter* mutable_image_data_param();
4012   ::opencv_caffe::ImageDataParameter* release_image_data_param();
4013   void set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param);
4014
4015   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
4016   bool has_infogain_loss_param() const;
4017   void clear_infogain_loss_param();
4018   static const int kInfogainLossParamFieldNumber = 116;
4019   const ::opencv_caffe::InfogainLossParameter& infogain_loss_param() const;
4020   ::opencv_caffe::InfogainLossParameter* mutable_infogain_loss_param();
4021   ::opencv_caffe::InfogainLossParameter* release_infogain_loss_param();
4022   void set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param);
4023
4024   // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
4025   bool has_inner_product_param() const;
4026   void clear_inner_product_param();
4027   static const int kInnerProductParamFieldNumber = 117;
4028   const ::opencv_caffe::InnerProductParameter& inner_product_param() const;
4029   ::opencv_caffe::InnerProductParameter* mutable_inner_product_param();
4030   ::opencv_caffe::InnerProductParameter* release_inner_product_param();
4031   void set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param);
4032
4033   // optional .opencv_caffe.InputParameter input_param = 143;
4034   bool has_input_param() const;
4035   void clear_input_param();
4036   static const int kInputParamFieldNumber = 143;
4037   const ::opencv_caffe::InputParameter& input_param() const;
4038   ::opencv_caffe::InputParameter* mutable_input_param();
4039   ::opencv_caffe::InputParameter* release_input_param();
4040   void set_allocated_input_param(::opencv_caffe::InputParameter* input_param);
4041
4042   // optional .opencv_caffe.LogParameter log_param = 134;
4043   bool has_log_param() const;
4044   void clear_log_param();
4045   static const int kLogParamFieldNumber = 134;
4046   const ::opencv_caffe::LogParameter& log_param() const;
4047   ::opencv_caffe::LogParameter* mutable_log_param();
4048   ::opencv_caffe::LogParameter* release_log_param();
4049   void set_allocated_log_param(::opencv_caffe::LogParameter* log_param);
4050
4051   // optional .opencv_caffe.LRNParameter lrn_param = 118;
4052   bool has_lrn_param() const;
4053   void clear_lrn_param();
4054   static const int kLrnParamFieldNumber = 118;
4055   const ::opencv_caffe::LRNParameter& lrn_param() const;
4056   ::opencv_caffe::LRNParameter* mutable_lrn_param();
4057   ::opencv_caffe::LRNParameter* release_lrn_param();
4058   void set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param);
4059
4060   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
4061   bool has_memory_data_param() const;
4062   void clear_memory_data_param();
4063   static const int kMemoryDataParamFieldNumber = 119;
4064   const ::opencv_caffe::MemoryDataParameter& memory_data_param() const;
4065   ::opencv_caffe::MemoryDataParameter* mutable_memory_data_param();
4066   ::opencv_caffe::MemoryDataParameter* release_memory_data_param();
4067   void set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param);
4068
4069   // optional .opencv_caffe.MVNParameter mvn_param = 120;
4070   bool has_mvn_param() const;
4071   void clear_mvn_param();
4072   static const int kMvnParamFieldNumber = 120;
4073   const ::opencv_caffe::MVNParameter& mvn_param() const;
4074   ::opencv_caffe::MVNParameter* mutable_mvn_param();
4075   ::opencv_caffe::MVNParameter* release_mvn_param();
4076   void set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param);
4077
4078   // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
4079   bool has_norm_param() const;
4080   void clear_norm_param();
4081   static const int kNormParamFieldNumber = 149;
4082   const ::opencv_caffe::NormalizeBBoxParameter& norm_param() const;
4083   ::opencv_caffe::NormalizeBBoxParameter* mutable_norm_param();
4084   ::opencv_caffe::NormalizeBBoxParameter* release_norm_param();
4085   void set_allocated_norm_param(::opencv_caffe::NormalizeBBoxParameter* norm_param);
4086
4087   // optional .opencv_caffe.PermuteParameter permute_param = 148;
4088   bool has_permute_param() const;
4089   void clear_permute_param();
4090   static const int kPermuteParamFieldNumber = 148;
4091   const ::opencv_caffe::PermuteParameter& permute_param() const;
4092   ::opencv_caffe::PermuteParameter* mutable_permute_param();
4093   ::opencv_caffe::PermuteParameter* release_permute_param();
4094   void set_allocated_permute_param(::opencv_caffe::PermuteParameter* permute_param);
4095
4096   // optional .opencv_caffe.ParameterParameter parameter_param = 145;
4097   bool has_parameter_param() const;
4098   void clear_parameter_param();
4099   static const int kParameterParamFieldNumber = 145;
4100   const ::opencv_caffe::ParameterParameter& parameter_param() const;
4101   ::opencv_caffe::ParameterParameter* mutable_parameter_param();
4102   ::opencv_caffe::ParameterParameter* release_parameter_param();
4103   void set_allocated_parameter_param(::opencv_caffe::ParameterParameter* parameter_param);
4104
4105   // optional .opencv_caffe.PoolingParameter pooling_param = 121;
4106   bool has_pooling_param() const;
4107   void clear_pooling_param();
4108   static const int kPoolingParamFieldNumber = 121;
4109   const ::opencv_caffe::PoolingParameter& pooling_param() const;
4110   ::opencv_caffe::PoolingParameter* mutable_pooling_param();
4111   ::opencv_caffe::PoolingParameter* release_pooling_param();
4112   void set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param);
4113
4114   // optional .opencv_caffe.PowerParameter power_param = 122;
4115   bool has_power_param() const;
4116   void clear_power_param();
4117   static const int kPowerParamFieldNumber = 122;
4118   const ::opencv_caffe::PowerParameter& power_param() const;
4119   ::opencv_caffe::PowerParameter* mutable_power_param();
4120   ::opencv_caffe::PowerParameter* release_power_param();
4121   void set_allocated_power_param(::opencv_caffe::PowerParameter* power_param);
4122
4123   // optional .opencv_caffe.PReLUParameter prelu_param = 131;
4124   bool has_prelu_param() const;
4125   void clear_prelu_param();
4126   static const int kPreluParamFieldNumber = 131;
4127   const ::opencv_caffe::PReLUParameter& prelu_param() const;
4128   ::opencv_caffe::PReLUParameter* mutable_prelu_param();
4129   ::opencv_caffe::PReLUParameter* release_prelu_param();
4130   void set_allocated_prelu_param(::opencv_caffe::PReLUParameter* prelu_param);
4131
4132   // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
4133   bool has_prior_box_param() const;
4134   void clear_prior_box_param();
4135   static const int kPriorBoxParamFieldNumber = 150;
4136   const ::opencv_caffe::PriorBoxParameter& prior_box_param() const;
4137   ::opencv_caffe::PriorBoxParameter* mutable_prior_box_param();
4138   ::opencv_caffe::PriorBoxParameter* release_prior_box_param();
4139   void set_allocated_prior_box_param(::opencv_caffe::PriorBoxParameter* prior_box_param);
4140
4141   // optional .opencv_caffe.PythonParameter python_param = 130;
4142   bool has_python_param() const;
4143   void clear_python_param();
4144   static const int kPythonParamFieldNumber = 130;
4145   const ::opencv_caffe::PythonParameter& python_param() const;
4146   ::opencv_caffe::PythonParameter* mutable_python_param();
4147   ::opencv_caffe::PythonParameter* release_python_param();
4148   void set_allocated_python_param(::opencv_caffe::PythonParameter* python_param);
4149
4150   // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
4151   bool has_recurrent_param() const;
4152   void clear_recurrent_param();
4153   static const int kRecurrentParamFieldNumber = 146;
4154   const ::opencv_caffe::RecurrentParameter& recurrent_param() const;
4155   ::opencv_caffe::RecurrentParameter* mutable_recurrent_param();
4156   ::opencv_caffe::RecurrentParameter* release_recurrent_param();
4157   void set_allocated_recurrent_param(::opencv_caffe::RecurrentParameter* recurrent_param);
4158
4159   // optional .opencv_caffe.ReductionParameter reduction_param = 136;
4160   bool has_reduction_param() const;
4161   void clear_reduction_param();
4162   static const int kReductionParamFieldNumber = 136;
4163   const ::opencv_caffe::ReductionParameter& reduction_param() const;
4164   ::opencv_caffe::ReductionParameter* mutable_reduction_param();
4165   ::opencv_caffe::ReductionParameter* release_reduction_param();
4166   void set_allocated_reduction_param(::opencv_caffe::ReductionParameter* reduction_param);
4167
4168   // optional .opencv_caffe.ReLUParameter relu_param = 123;
4169   bool has_relu_param() const;
4170   void clear_relu_param();
4171   static const int kReluParamFieldNumber = 123;
4172   const ::opencv_caffe::ReLUParameter& relu_param() const;
4173   ::opencv_caffe::ReLUParameter* mutable_relu_param();
4174   ::opencv_caffe::ReLUParameter* release_relu_param();
4175   void set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param);
4176
4177   // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
4178   bool has_reshape_param() const;
4179   void clear_reshape_param();
4180   static const int kReshapeParamFieldNumber = 133;
4181   const ::opencv_caffe::ReshapeParameter& reshape_param() const;
4182   ::opencv_caffe::ReshapeParameter* mutable_reshape_param();
4183   ::opencv_caffe::ReshapeParameter* release_reshape_param();
4184   void set_allocated_reshape_param(::opencv_caffe::ReshapeParameter* reshape_param);
4185
4186   // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
4187   bool has_roi_pooling_param() const;
4188   void clear_roi_pooling_param();
4189   static const int kRoiPoolingParamFieldNumber = 8266711;
4190   const ::opencv_caffe::ROIPoolingParameter& roi_pooling_param() const;
4191   ::opencv_caffe::ROIPoolingParameter* mutable_roi_pooling_param();
4192   ::opencv_caffe::ROIPoolingParameter* release_roi_pooling_param();
4193   void set_allocated_roi_pooling_param(::opencv_caffe::ROIPoolingParameter* roi_pooling_param);
4194
4195   // optional .opencv_caffe.ScaleParameter scale_param = 142;
4196   bool has_scale_param() const;
4197   void clear_scale_param();
4198   static const int kScaleParamFieldNumber = 142;
4199   const ::opencv_caffe::ScaleParameter& scale_param() const;
4200   ::opencv_caffe::ScaleParameter* mutable_scale_param();
4201   ::opencv_caffe::ScaleParameter* release_scale_param();
4202   void set_allocated_scale_param(::opencv_caffe::ScaleParameter* scale_param);
4203
4204   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
4205   bool has_sigmoid_param() const;
4206   void clear_sigmoid_param();
4207   static const int kSigmoidParamFieldNumber = 124;
4208   const ::opencv_caffe::SigmoidParameter& sigmoid_param() const;
4209   ::opencv_caffe::SigmoidParameter* mutable_sigmoid_param();
4210   ::opencv_caffe::SigmoidParameter* release_sigmoid_param();
4211   void set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param);
4212
4213   // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
4214   bool has_softmax_param() const;
4215   void clear_softmax_param();
4216   static const int kSoftmaxParamFieldNumber = 125;
4217   const ::opencv_caffe::SoftmaxParameter& softmax_param() const;
4218   ::opencv_caffe::SoftmaxParameter* mutable_softmax_param();
4219   ::opencv_caffe::SoftmaxParameter* release_softmax_param();
4220   void set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param);
4221
4222   // optional .opencv_caffe.SPPParameter spp_param = 132;
4223   bool has_spp_param() const;
4224   void clear_spp_param();
4225   static const int kSppParamFieldNumber = 132;
4226   const ::opencv_caffe::SPPParameter& spp_param() const;
4227   ::opencv_caffe::SPPParameter* mutable_spp_param();
4228   ::opencv_caffe::SPPParameter* release_spp_param();
4229   void set_allocated_spp_param(::opencv_caffe::SPPParameter* spp_param);
4230
4231   // optional .opencv_caffe.SliceParameter slice_param = 126;
4232   bool has_slice_param() const;
4233   void clear_slice_param();
4234   static const int kSliceParamFieldNumber = 126;
4235   const ::opencv_caffe::SliceParameter& slice_param() const;
4236   ::opencv_caffe::SliceParameter* mutable_slice_param();
4237   ::opencv_caffe::SliceParameter* release_slice_param();
4238   void set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param);
4239
4240   // optional .opencv_caffe.TanHParameter tanh_param = 127;
4241   bool has_tanh_param() const;
4242   void clear_tanh_param();
4243   static const int kTanhParamFieldNumber = 127;
4244   const ::opencv_caffe::TanHParameter& tanh_param() const;
4245   ::opencv_caffe::TanHParameter* mutable_tanh_param();
4246   ::opencv_caffe::TanHParameter* release_tanh_param();
4247   void set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param);
4248
4249   // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
4250   bool has_threshold_param() const;
4251   void clear_threshold_param();
4252   static const int kThresholdParamFieldNumber = 128;
4253   const ::opencv_caffe::ThresholdParameter& threshold_param() const;
4254   ::opencv_caffe::ThresholdParameter* mutable_threshold_param();
4255   ::opencv_caffe::ThresholdParameter* release_threshold_param();
4256   void set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param);
4257
4258   // optional .opencv_caffe.TileParameter tile_param = 138;
4259   bool has_tile_param() const;
4260   void clear_tile_param();
4261   static const int kTileParamFieldNumber = 138;
4262   const ::opencv_caffe::TileParameter& tile_param() const;
4263   ::opencv_caffe::TileParameter* mutable_tile_param();
4264   ::opencv_caffe::TileParameter* release_tile_param();
4265   void set_allocated_tile_param(::opencv_caffe::TileParameter* tile_param);
4266
4267   // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
4268   bool has_window_data_param() const;
4269   void clear_window_data_param();
4270   static const int kWindowDataParamFieldNumber = 129;
4271   const ::opencv_caffe::WindowDataParameter& window_data_param() const;
4272   ::opencv_caffe::WindowDataParameter* mutable_window_data_param();
4273   ::opencv_caffe::WindowDataParameter* release_window_data_param();
4274   void set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param);
4275
4276   // @@protoc_insertion_point(class_scope:opencv_caffe.LayerParameter)
4277  private:
4278   inline void set_has_name();
4279   inline void clear_has_name();
4280   inline void set_has_type();
4281   inline void clear_has_type();
4282   inline void set_has_phase();
4283   inline void clear_has_phase();
4284   inline void set_has_transform_param();
4285   inline void clear_has_transform_param();
4286   inline void set_has_loss_param();
4287   inline void clear_has_loss_param();
4288   inline void set_has_accuracy_param();
4289   inline void clear_has_accuracy_param();
4290   inline void set_has_argmax_param();
4291   inline void clear_has_argmax_param();
4292   inline void set_has_batch_norm_param();
4293   inline void clear_has_batch_norm_param();
4294   inline void set_has_bias_param();
4295   inline void clear_has_bias_param();
4296   inline void set_has_concat_param();
4297   inline void clear_has_concat_param();
4298   inline void set_has_contrastive_loss_param();
4299   inline void clear_has_contrastive_loss_param();
4300   inline void set_has_convolution_param();
4301   inline void clear_has_convolution_param();
4302   inline void set_has_crop_param();
4303   inline void clear_has_crop_param();
4304   inline void set_has_data_param();
4305   inline void clear_has_data_param();
4306   inline void set_has_detection_output_param();
4307   inline void clear_has_detection_output_param();
4308   inline void set_has_dropout_param();
4309   inline void clear_has_dropout_param();
4310   inline void set_has_dummy_data_param();
4311   inline void clear_has_dummy_data_param();
4312   inline void set_has_eltwise_param();
4313   inline void clear_has_eltwise_param();
4314   inline void set_has_elu_param();
4315   inline void clear_has_elu_param();
4316   inline void set_has_embed_param();
4317   inline void clear_has_embed_param();
4318   inline void set_has_exp_param();
4319   inline void clear_has_exp_param();
4320   inline void set_has_flatten_param();
4321   inline void clear_has_flatten_param();
4322   inline void set_has_hdf5_data_param();
4323   inline void clear_has_hdf5_data_param();
4324   inline void set_has_hdf5_output_param();
4325   inline void clear_has_hdf5_output_param();
4326   inline void set_has_hinge_loss_param();
4327   inline void clear_has_hinge_loss_param();
4328   inline void set_has_image_data_param();
4329   inline void clear_has_image_data_param();
4330   inline void set_has_infogain_loss_param();
4331   inline void clear_has_infogain_loss_param();
4332   inline void set_has_inner_product_param();
4333   inline void clear_has_inner_product_param();
4334   inline void set_has_input_param();
4335   inline void clear_has_input_param();
4336   inline void set_has_log_param();
4337   inline void clear_has_log_param();
4338   inline void set_has_lrn_param();
4339   inline void clear_has_lrn_param();
4340   inline void set_has_memory_data_param();
4341   inline void clear_has_memory_data_param();
4342   inline void set_has_mvn_param();
4343   inline void clear_has_mvn_param();
4344   inline void set_has_norm_param();
4345   inline void clear_has_norm_param();
4346   inline void set_has_permute_param();
4347   inline void clear_has_permute_param();
4348   inline void set_has_parameter_param();
4349   inline void clear_has_parameter_param();
4350   inline void set_has_pooling_param();
4351   inline void clear_has_pooling_param();
4352   inline void set_has_power_param();
4353   inline void clear_has_power_param();
4354   inline void set_has_prelu_param();
4355   inline void clear_has_prelu_param();
4356   inline void set_has_prior_box_param();
4357   inline void clear_has_prior_box_param();
4358   inline void set_has_python_param();
4359   inline void clear_has_python_param();
4360   inline void set_has_recurrent_param();
4361   inline void clear_has_recurrent_param();
4362   inline void set_has_reduction_param();
4363   inline void clear_has_reduction_param();
4364   inline void set_has_relu_param();
4365   inline void clear_has_relu_param();
4366   inline void set_has_reshape_param();
4367   inline void clear_has_reshape_param();
4368   inline void set_has_roi_pooling_param();
4369   inline void clear_has_roi_pooling_param();
4370   inline void set_has_scale_param();
4371   inline void clear_has_scale_param();
4372   inline void set_has_sigmoid_param();
4373   inline void clear_has_sigmoid_param();
4374   inline void set_has_softmax_param();
4375   inline void clear_has_softmax_param();
4376   inline void set_has_spp_param();
4377   inline void clear_has_spp_param();
4378   inline void set_has_slice_param();
4379   inline void clear_has_slice_param();
4380   inline void set_has_tanh_param();
4381   inline void clear_has_tanh_param();
4382   inline void set_has_threshold_param();
4383   inline void clear_has_threshold_param();
4384   inline void set_has_tile_param();
4385   inline void clear_has_tile_param();
4386   inline void set_has_window_data_param();
4387   inline void clear_has_window_data_param();
4388
4389   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4390   ::google::protobuf::internal::HasBits<2> _has_bits_;
4391   ::google::protobuf::RepeatedPtrField< ::std::string> bottom_;
4392   ::google::protobuf::RepeatedPtrField< ::std::string> top_;
4393   ::google::protobuf::RepeatedField< float > loss_weight_;
4394   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec > param_;
4395   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
4396   ::google::protobuf::RepeatedField< bool > propagate_down_;
4397   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > include_;
4398   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > exclude_;
4399   ::google::protobuf::internal::ArenaStringPtr name_;
4400   ::google::protobuf::internal::ArenaStringPtr type_;
4401   ::opencv_caffe::TransformationParameter* transform_param_;
4402   ::opencv_caffe::LossParameter* loss_param_;
4403   ::opencv_caffe::AccuracyParameter* accuracy_param_;
4404   ::opencv_caffe::ArgMaxParameter* argmax_param_;
4405   ::opencv_caffe::BatchNormParameter* batch_norm_param_;
4406   ::opencv_caffe::BiasParameter* bias_param_;
4407   ::opencv_caffe::ConcatParameter* concat_param_;
4408   ::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param_;
4409   ::opencv_caffe::ConvolutionParameter* convolution_param_;
4410   ::opencv_caffe::CropParameter* crop_param_;
4411   ::opencv_caffe::DataParameter* data_param_;
4412   ::opencv_caffe::DetectionOutputParameter* detection_output_param_;
4413   ::opencv_caffe::DropoutParameter* dropout_param_;
4414   ::opencv_caffe::DummyDataParameter* dummy_data_param_;
4415   ::opencv_caffe::EltwiseParameter* eltwise_param_;
4416   ::opencv_caffe::ELUParameter* elu_param_;
4417   ::opencv_caffe::EmbedParameter* embed_param_;
4418   ::opencv_caffe::ExpParameter* exp_param_;
4419   ::opencv_caffe::FlattenParameter* flatten_param_;
4420   ::opencv_caffe::HDF5DataParameter* hdf5_data_param_;
4421   ::opencv_caffe::HDF5OutputParameter* hdf5_output_param_;
4422   ::opencv_caffe::HingeLossParameter* hinge_loss_param_;
4423   ::opencv_caffe::ImageDataParameter* image_data_param_;
4424   ::opencv_caffe::InfogainLossParameter* infogain_loss_param_;
4425   ::opencv_caffe::InnerProductParameter* inner_product_param_;
4426   ::opencv_caffe::InputParameter* input_param_;
4427   ::opencv_caffe::LogParameter* log_param_;
4428   ::opencv_caffe::LRNParameter* lrn_param_;
4429   ::opencv_caffe::MemoryDataParameter* memory_data_param_;
4430   ::opencv_caffe::MVNParameter* mvn_param_;
4431   ::opencv_caffe::NormalizeBBoxParameter* norm_param_;
4432   ::opencv_caffe::PermuteParameter* permute_param_;
4433   ::opencv_caffe::ParameterParameter* parameter_param_;
4434   ::opencv_caffe::PoolingParameter* pooling_param_;
4435   ::opencv_caffe::PowerParameter* power_param_;
4436   ::opencv_caffe::PReLUParameter* prelu_param_;
4437   ::opencv_caffe::PriorBoxParameter* prior_box_param_;
4438   ::opencv_caffe::PythonParameter* python_param_;
4439   ::opencv_caffe::RecurrentParameter* recurrent_param_;
4440   ::opencv_caffe::ReductionParameter* reduction_param_;
4441   ::opencv_caffe::ReLUParameter* relu_param_;
4442   ::opencv_caffe::ReshapeParameter* reshape_param_;
4443   ::opencv_caffe::ROIPoolingParameter* roi_pooling_param_;
4444   ::opencv_caffe::ScaleParameter* scale_param_;
4445   ::opencv_caffe::SigmoidParameter* sigmoid_param_;
4446   ::opencv_caffe::SoftmaxParameter* softmax_param_;
4447   ::opencv_caffe::SPPParameter* spp_param_;
4448   ::opencv_caffe::SliceParameter* slice_param_;
4449   ::opencv_caffe::TanHParameter* tanh_param_;
4450   ::opencv_caffe::ThresholdParameter* threshold_param_;
4451   ::opencv_caffe::TileParameter* tile_param_;
4452   ::opencv_caffe::WindowDataParameter* window_data_param_;
4453   int phase_;
4454   mutable int _cached_size_;
4455   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4456   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4457   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4458   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4459
4460   void InitAsDefaultInstance();
4461 };
4462 extern ::google::protobuf::internal::ExplicitlyConstructed<LayerParameter> LayerParameter_default_instance_;
4463
4464 // -------------------------------------------------------------------
4465
4466 class TransformationParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.TransformationParameter) */ {
4467  public:
4468   TransformationParameter();
4469   virtual ~TransformationParameter();
4470
4471   TransformationParameter(const TransformationParameter& from);
4472
4473   inline TransformationParameter& operator=(const TransformationParameter& from) {
4474     CopyFrom(from);
4475     return *this;
4476   }
4477
4478   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4479     return _internal_metadata_.unknown_fields();
4480   }
4481
4482   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4483     return _internal_metadata_.mutable_unknown_fields();
4484   }
4485
4486   static const ::google::protobuf::Descriptor* descriptor();
4487   static const TransformationParameter& default_instance();
4488
4489   static const TransformationParameter* internal_default_instance();
4490
4491   void Swap(TransformationParameter* other);
4492
4493   // implements Message ----------------------------------------------
4494
4495   inline TransformationParameter* New() const { return New(NULL); }
4496
4497   TransformationParameter* New(::google::protobuf::Arena* arena) const;
4498   void CopyFrom(const ::google::protobuf::Message& from);
4499   void MergeFrom(const ::google::protobuf::Message& from);
4500   void CopyFrom(const TransformationParameter& from);
4501   void MergeFrom(const TransformationParameter& from);
4502   void Clear();
4503   bool IsInitialized() const;
4504
4505   size_t ByteSizeLong() const;
4506   bool MergePartialFromCodedStream(
4507       ::google::protobuf::io::CodedInputStream* input);
4508   void SerializeWithCachedSizes(
4509       ::google::protobuf::io::CodedOutputStream* output) const;
4510   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4511       bool deterministic, ::google::protobuf::uint8* output) const;
4512   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4513     return InternalSerializeWithCachedSizesToArray(false, output);
4514   }
4515   int GetCachedSize() const { return _cached_size_; }
4516   private:
4517   void SharedCtor();
4518   void SharedDtor();
4519   void SetCachedSize(int size) const;
4520   void InternalSwap(TransformationParameter* other);
4521   void UnsafeMergeFrom(const TransformationParameter& from);
4522   private:
4523   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4524     return _internal_metadata_.arena();
4525   }
4526   inline void* MaybeArenaPtr() const {
4527     return _internal_metadata_.raw_arena_ptr();
4528   }
4529   public:
4530
4531   ::google::protobuf::Metadata GetMetadata() const;
4532
4533   // nested types ----------------------------------------------------
4534
4535   // accessors -------------------------------------------------------
4536
4537   // optional float scale = 1 [default = 1];
4538   bool has_scale() const;
4539   void clear_scale();
4540   static const int kScaleFieldNumber = 1;
4541   float scale() const;
4542   void set_scale(float value);
4543
4544   // optional bool mirror = 2 [default = false];
4545   bool has_mirror() const;
4546   void clear_mirror();
4547   static const int kMirrorFieldNumber = 2;
4548   bool mirror() const;
4549   void set_mirror(bool value);
4550
4551   // optional uint32 crop_size = 3 [default = 0];
4552   bool has_crop_size() const;
4553   void clear_crop_size();
4554   static const int kCropSizeFieldNumber = 3;
4555   ::google::protobuf::uint32 crop_size() const;
4556   void set_crop_size(::google::protobuf::uint32 value);
4557
4558   // optional string mean_file = 4;
4559   bool has_mean_file() const;
4560   void clear_mean_file();
4561   static const int kMeanFileFieldNumber = 4;
4562   const ::std::string& mean_file() const;
4563   void set_mean_file(const ::std::string& value);
4564   void set_mean_file(const char* value);
4565   void set_mean_file(const char* value, size_t size);
4566   ::std::string* mutable_mean_file();
4567   ::std::string* release_mean_file();
4568   void set_allocated_mean_file(::std::string* mean_file);
4569
4570   // repeated float mean_value = 5;
4571   int mean_value_size() const;
4572   void clear_mean_value();
4573   static const int kMeanValueFieldNumber = 5;
4574   float mean_value(int index) const;
4575   void set_mean_value(int index, float value);
4576   void add_mean_value(float value);
4577   const ::google::protobuf::RepeatedField< float >&
4578       mean_value() const;
4579   ::google::protobuf::RepeatedField< float >*
4580       mutable_mean_value();
4581
4582   // optional bool force_color = 6 [default = false];
4583   bool has_force_color() const;
4584   void clear_force_color();
4585   static const int kForceColorFieldNumber = 6;
4586   bool force_color() const;
4587   void set_force_color(bool value);
4588
4589   // optional bool force_gray = 7 [default = false];
4590   bool has_force_gray() const;
4591   void clear_force_gray();
4592   static const int kForceGrayFieldNumber = 7;
4593   bool force_gray() const;
4594   void set_force_gray(bool value);
4595
4596   // @@protoc_insertion_point(class_scope:opencv_caffe.TransformationParameter)
4597  private:
4598   inline void set_has_scale();
4599   inline void clear_has_scale();
4600   inline void set_has_mirror();
4601   inline void clear_has_mirror();
4602   inline void set_has_crop_size();
4603   inline void clear_has_crop_size();
4604   inline void set_has_mean_file();
4605   inline void clear_has_mean_file();
4606   inline void set_has_force_color();
4607   inline void clear_has_force_color();
4608   inline void set_has_force_gray();
4609   inline void clear_has_force_gray();
4610
4611   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4612   ::google::protobuf::internal::HasBits<1> _has_bits_;
4613   mutable int _cached_size_;
4614   ::google::protobuf::RepeatedField< float > mean_value_;
4615   ::google::protobuf::internal::ArenaStringPtr mean_file_;
4616   ::google::protobuf::uint32 crop_size_;
4617   bool mirror_;
4618   bool force_color_;
4619   bool force_gray_;
4620   float scale_;
4621   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4622   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4623   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4624   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4625
4626   void InitAsDefaultInstance();
4627 };
4628 extern ::google::protobuf::internal::ExplicitlyConstructed<TransformationParameter> TransformationParameter_default_instance_;
4629
4630 // -------------------------------------------------------------------
4631
4632 class LossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LossParameter) */ {
4633  public:
4634   LossParameter();
4635   virtual ~LossParameter();
4636
4637   LossParameter(const LossParameter& from);
4638
4639   inline LossParameter& operator=(const LossParameter& from) {
4640     CopyFrom(from);
4641     return *this;
4642   }
4643
4644   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4645     return _internal_metadata_.unknown_fields();
4646   }
4647
4648   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4649     return _internal_metadata_.mutable_unknown_fields();
4650   }
4651
4652   static const ::google::protobuf::Descriptor* descriptor();
4653   static const LossParameter& default_instance();
4654
4655   static const LossParameter* internal_default_instance();
4656
4657   void Swap(LossParameter* other);
4658
4659   // implements Message ----------------------------------------------
4660
4661   inline LossParameter* New() const { return New(NULL); }
4662
4663   LossParameter* New(::google::protobuf::Arena* arena) const;
4664   void CopyFrom(const ::google::protobuf::Message& from);
4665   void MergeFrom(const ::google::protobuf::Message& from);
4666   void CopyFrom(const LossParameter& from);
4667   void MergeFrom(const LossParameter& from);
4668   void Clear();
4669   bool IsInitialized() const;
4670
4671   size_t ByteSizeLong() const;
4672   bool MergePartialFromCodedStream(
4673       ::google::protobuf::io::CodedInputStream* input);
4674   void SerializeWithCachedSizes(
4675       ::google::protobuf::io::CodedOutputStream* output) const;
4676   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4677       bool deterministic, ::google::protobuf::uint8* output) const;
4678   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4679     return InternalSerializeWithCachedSizesToArray(false, output);
4680   }
4681   int GetCachedSize() const { return _cached_size_; }
4682   private:
4683   void SharedCtor();
4684   void SharedDtor();
4685   void SetCachedSize(int size) const;
4686   void InternalSwap(LossParameter* other);
4687   void UnsafeMergeFrom(const LossParameter& from);
4688   private:
4689   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4690     return _internal_metadata_.arena();
4691   }
4692   inline void* MaybeArenaPtr() const {
4693     return _internal_metadata_.raw_arena_ptr();
4694   }
4695   public:
4696
4697   ::google::protobuf::Metadata GetMetadata() const;
4698
4699   // nested types ----------------------------------------------------
4700
4701   typedef LossParameter_NormalizationMode NormalizationMode;
4702   static const NormalizationMode FULL =
4703     LossParameter_NormalizationMode_FULL;
4704   static const NormalizationMode VALID =
4705     LossParameter_NormalizationMode_VALID;
4706   static const NormalizationMode BATCH_SIZE =
4707     LossParameter_NormalizationMode_BATCH_SIZE;
4708   static const NormalizationMode NONE =
4709     LossParameter_NormalizationMode_NONE;
4710   static inline bool NormalizationMode_IsValid(int value) {
4711     return LossParameter_NormalizationMode_IsValid(value);
4712   }
4713   static const NormalizationMode NormalizationMode_MIN =
4714     LossParameter_NormalizationMode_NormalizationMode_MIN;
4715   static const NormalizationMode NormalizationMode_MAX =
4716     LossParameter_NormalizationMode_NormalizationMode_MAX;
4717   static const int NormalizationMode_ARRAYSIZE =
4718     LossParameter_NormalizationMode_NormalizationMode_ARRAYSIZE;
4719   static inline const ::google::protobuf::EnumDescriptor*
4720   NormalizationMode_descriptor() {
4721     return LossParameter_NormalizationMode_descriptor();
4722   }
4723   static inline const ::std::string& NormalizationMode_Name(NormalizationMode value) {
4724     return LossParameter_NormalizationMode_Name(value);
4725   }
4726   static inline bool NormalizationMode_Parse(const ::std::string& name,
4727       NormalizationMode* value) {
4728     return LossParameter_NormalizationMode_Parse(name, value);
4729   }
4730
4731   // accessors -------------------------------------------------------
4732
4733   // optional int32 ignore_label = 1;
4734   bool has_ignore_label() const;
4735   void clear_ignore_label();
4736   static const int kIgnoreLabelFieldNumber = 1;
4737   ::google::protobuf::int32 ignore_label() const;
4738   void set_ignore_label(::google::protobuf::int32 value);
4739
4740   // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
4741   bool has_normalization() const;
4742   void clear_normalization();
4743   static const int kNormalizationFieldNumber = 3;
4744   ::opencv_caffe::LossParameter_NormalizationMode normalization() const;
4745   void set_normalization(::opencv_caffe::LossParameter_NormalizationMode value);
4746
4747   // optional bool normalize = 2;
4748   bool has_normalize() const;
4749   void clear_normalize();
4750   static const int kNormalizeFieldNumber = 2;
4751   bool normalize() const;
4752   void set_normalize(bool value);
4753
4754   // @@protoc_insertion_point(class_scope:opencv_caffe.LossParameter)
4755  private:
4756   inline void set_has_ignore_label();
4757   inline void clear_has_ignore_label();
4758   inline void set_has_normalization();
4759   inline void clear_has_normalization();
4760   inline void set_has_normalize();
4761   inline void clear_has_normalize();
4762
4763   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4764   ::google::protobuf::internal::HasBits<1> _has_bits_;
4765   mutable int _cached_size_;
4766   ::google::protobuf::int32 ignore_label_;
4767   bool normalize_;
4768   int normalization_;
4769   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4770   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4771   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4772   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4773
4774   void InitAsDefaultInstance();
4775 };
4776 extern ::google::protobuf::internal::ExplicitlyConstructed<LossParameter> LossParameter_default_instance_;
4777
4778 // -------------------------------------------------------------------
4779
4780 class AccuracyParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.AccuracyParameter) */ {
4781  public:
4782   AccuracyParameter();
4783   virtual ~AccuracyParameter();
4784
4785   AccuracyParameter(const AccuracyParameter& from);
4786
4787   inline AccuracyParameter& operator=(const AccuracyParameter& from) {
4788     CopyFrom(from);
4789     return *this;
4790   }
4791
4792   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4793     return _internal_metadata_.unknown_fields();
4794   }
4795
4796   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4797     return _internal_metadata_.mutable_unknown_fields();
4798   }
4799
4800   static const ::google::protobuf::Descriptor* descriptor();
4801   static const AccuracyParameter& default_instance();
4802
4803   static const AccuracyParameter* internal_default_instance();
4804
4805   void Swap(AccuracyParameter* other);
4806
4807   // implements Message ----------------------------------------------
4808
4809   inline AccuracyParameter* New() const { return New(NULL); }
4810
4811   AccuracyParameter* New(::google::protobuf::Arena* arena) const;
4812   void CopyFrom(const ::google::protobuf::Message& from);
4813   void MergeFrom(const ::google::protobuf::Message& from);
4814   void CopyFrom(const AccuracyParameter& from);
4815   void MergeFrom(const AccuracyParameter& from);
4816   void Clear();
4817   bool IsInitialized() const;
4818
4819   size_t ByteSizeLong() const;
4820   bool MergePartialFromCodedStream(
4821       ::google::protobuf::io::CodedInputStream* input);
4822   void SerializeWithCachedSizes(
4823       ::google::protobuf::io::CodedOutputStream* output) const;
4824   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4825       bool deterministic, ::google::protobuf::uint8* output) const;
4826   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4827     return InternalSerializeWithCachedSizesToArray(false, output);
4828   }
4829   int GetCachedSize() const { return _cached_size_; }
4830   private:
4831   void SharedCtor();
4832   void SharedDtor();
4833   void SetCachedSize(int size) const;
4834   void InternalSwap(AccuracyParameter* other);
4835   void UnsafeMergeFrom(const AccuracyParameter& from);
4836   private:
4837   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4838     return _internal_metadata_.arena();
4839   }
4840   inline void* MaybeArenaPtr() const {
4841     return _internal_metadata_.raw_arena_ptr();
4842   }
4843   public:
4844
4845   ::google::protobuf::Metadata GetMetadata() const;
4846
4847   // nested types ----------------------------------------------------
4848
4849   // accessors -------------------------------------------------------
4850
4851   // optional uint32 top_k = 1 [default = 1];
4852   bool has_top_k() const;
4853   void clear_top_k();
4854   static const int kTopKFieldNumber = 1;
4855   ::google::protobuf::uint32 top_k() const;
4856   void set_top_k(::google::protobuf::uint32 value);
4857
4858   // optional int32 axis = 2 [default = 1];
4859   bool has_axis() const;
4860   void clear_axis();
4861   static const int kAxisFieldNumber = 2;
4862   ::google::protobuf::int32 axis() const;
4863   void set_axis(::google::protobuf::int32 value);
4864
4865   // optional int32 ignore_label = 3;
4866   bool has_ignore_label() const;
4867   void clear_ignore_label();
4868   static const int kIgnoreLabelFieldNumber = 3;
4869   ::google::protobuf::int32 ignore_label() const;
4870   void set_ignore_label(::google::protobuf::int32 value);
4871
4872   // @@protoc_insertion_point(class_scope:opencv_caffe.AccuracyParameter)
4873  private:
4874   inline void set_has_top_k();
4875   inline void clear_has_top_k();
4876   inline void set_has_axis();
4877   inline void clear_has_axis();
4878   inline void set_has_ignore_label();
4879   inline void clear_has_ignore_label();
4880
4881   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4882   ::google::protobuf::internal::HasBits<1> _has_bits_;
4883   mutable int _cached_size_;
4884   ::google::protobuf::int32 ignore_label_;
4885   ::google::protobuf::uint32 top_k_;
4886   ::google::protobuf::int32 axis_;
4887   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4888   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4889   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4890   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4891
4892   void InitAsDefaultInstance();
4893 };
4894 extern ::google::protobuf::internal::ExplicitlyConstructed<AccuracyParameter> AccuracyParameter_default_instance_;
4895
4896 // -------------------------------------------------------------------
4897
4898 class ArgMaxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ArgMaxParameter) */ {
4899  public:
4900   ArgMaxParameter();
4901   virtual ~ArgMaxParameter();
4902
4903   ArgMaxParameter(const ArgMaxParameter& from);
4904
4905   inline ArgMaxParameter& operator=(const ArgMaxParameter& from) {
4906     CopyFrom(from);
4907     return *this;
4908   }
4909
4910   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4911     return _internal_metadata_.unknown_fields();
4912   }
4913
4914   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4915     return _internal_metadata_.mutable_unknown_fields();
4916   }
4917
4918   static const ::google::protobuf::Descriptor* descriptor();
4919   static const ArgMaxParameter& default_instance();
4920
4921   static const ArgMaxParameter* internal_default_instance();
4922
4923   void Swap(ArgMaxParameter* other);
4924
4925   // implements Message ----------------------------------------------
4926
4927   inline ArgMaxParameter* New() const { return New(NULL); }
4928
4929   ArgMaxParameter* New(::google::protobuf::Arena* arena) const;
4930   void CopyFrom(const ::google::protobuf::Message& from);
4931   void MergeFrom(const ::google::protobuf::Message& from);
4932   void CopyFrom(const ArgMaxParameter& from);
4933   void MergeFrom(const ArgMaxParameter& from);
4934   void Clear();
4935   bool IsInitialized() const;
4936
4937   size_t ByteSizeLong() const;
4938   bool MergePartialFromCodedStream(
4939       ::google::protobuf::io::CodedInputStream* input);
4940   void SerializeWithCachedSizes(
4941       ::google::protobuf::io::CodedOutputStream* output) const;
4942   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4943       bool deterministic, ::google::protobuf::uint8* output) const;
4944   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4945     return InternalSerializeWithCachedSizesToArray(false, output);
4946   }
4947   int GetCachedSize() const { return _cached_size_; }
4948   private:
4949   void SharedCtor();
4950   void SharedDtor();
4951   void SetCachedSize(int size) const;
4952   void InternalSwap(ArgMaxParameter* other);
4953   void UnsafeMergeFrom(const ArgMaxParameter& from);
4954   private:
4955   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4956     return _internal_metadata_.arena();
4957   }
4958   inline void* MaybeArenaPtr() const {
4959     return _internal_metadata_.raw_arena_ptr();
4960   }
4961   public:
4962
4963   ::google::protobuf::Metadata GetMetadata() const;
4964
4965   // nested types ----------------------------------------------------
4966
4967   // accessors -------------------------------------------------------
4968
4969   // optional bool out_max_val = 1 [default = false];
4970   bool has_out_max_val() const;
4971   void clear_out_max_val();
4972   static const int kOutMaxValFieldNumber = 1;
4973   bool out_max_val() const;
4974   void set_out_max_val(bool value);
4975
4976   // optional uint32 top_k = 2 [default = 1];
4977   bool has_top_k() const;
4978   void clear_top_k();
4979   static const int kTopKFieldNumber = 2;
4980   ::google::protobuf::uint32 top_k() const;
4981   void set_top_k(::google::protobuf::uint32 value);
4982
4983   // optional int32 axis = 3;
4984   bool has_axis() const;
4985   void clear_axis();
4986   static const int kAxisFieldNumber = 3;
4987   ::google::protobuf::int32 axis() const;
4988   void set_axis(::google::protobuf::int32 value);
4989
4990   // @@protoc_insertion_point(class_scope:opencv_caffe.ArgMaxParameter)
4991  private:
4992   inline void set_has_out_max_val();
4993   inline void clear_has_out_max_val();
4994   inline void set_has_top_k();
4995   inline void clear_has_top_k();
4996   inline void set_has_axis();
4997   inline void clear_has_axis();
4998
4999   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5000   ::google::protobuf::internal::HasBits<1> _has_bits_;
5001   mutable int _cached_size_;
5002   bool out_max_val_;
5003   ::google::protobuf::int32 axis_;
5004   ::google::protobuf::uint32 top_k_;
5005   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5006   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5007   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5008   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5009
5010   void InitAsDefaultInstance();
5011 };
5012 extern ::google::protobuf::internal::ExplicitlyConstructed<ArgMaxParameter> ArgMaxParameter_default_instance_;
5013
5014 // -------------------------------------------------------------------
5015
5016 class ConcatParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ConcatParameter) */ {
5017  public:
5018   ConcatParameter();
5019   virtual ~ConcatParameter();
5020
5021   ConcatParameter(const ConcatParameter& from);
5022
5023   inline ConcatParameter& operator=(const ConcatParameter& from) {
5024     CopyFrom(from);
5025     return *this;
5026   }
5027
5028   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5029     return _internal_metadata_.unknown_fields();
5030   }
5031
5032   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5033     return _internal_metadata_.mutable_unknown_fields();
5034   }
5035
5036   static const ::google::protobuf::Descriptor* descriptor();
5037   static const ConcatParameter& default_instance();
5038
5039   static const ConcatParameter* internal_default_instance();
5040
5041   void Swap(ConcatParameter* other);
5042
5043   // implements Message ----------------------------------------------
5044
5045   inline ConcatParameter* New() const { return New(NULL); }
5046
5047   ConcatParameter* New(::google::protobuf::Arena* arena) const;
5048   void CopyFrom(const ::google::protobuf::Message& from);
5049   void MergeFrom(const ::google::protobuf::Message& from);
5050   void CopyFrom(const ConcatParameter& from);
5051   void MergeFrom(const ConcatParameter& from);
5052   void Clear();
5053   bool IsInitialized() const;
5054
5055   size_t ByteSizeLong() const;
5056   bool MergePartialFromCodedStream(
5057       ::google::protobuf::io::CodedInputStream* input);
5058   void SerializeWithCachedSizes(
5059       ::google::protobuf::io::CodedOutputStream* output) const;
5060   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5061       bool deterministic, ::google::protobuf::uint8* output) const;
5062   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5063     return InternalSerializeWithCachedSizesToArray(false, output);
5064   }
5065   int GetCachedSize() const { return _cached_size_; }
5066   private:
5067   void SharedCtor();
5068   void SharedDtor();
5069   void SetCachedSize(int size) const;
5070   void InternalSwap(ConcatParameter* other);
5071   void UnsafeMergeFrom(const ConcatParameter& from);
5072   private:
5073   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5074     return _internal_metadata_.arena();
5075   }
5076   inline void* MaybeArenaPtr() const {
5077     return _internal_metadata_.raw_arena_ptr();
5078   }
5079   public:
5080
5081   ::google::protobuf::Metadata GetMetadata() const;
5082
5083   // nested types ----------------------------------------------------
5084
5085   // accessors -------------------------------------------------------
5086
5087   // optional int32 axis = 2 [default = 1];
5088   bool has_axis() const;
5089   void clear_axis();
5090   static const int kAxisFieldNumber = 2;
5091   ::google::protobuf::int32 axis() const;
5092   void set_axis(::google::protobuf::int32 value);
5093
5094   // optional uint32 concat_dim = 1 [default = 1];
5095   bool has_concat_dim() const;
5096   void clear_concat_dim();
5097   static const int kConcatDimFieldNumber = 1;
5098   ::google::protobuf::uint32 concat_dim() const;
5099   void set_concat_dim(::google::protobuf::uint32 value);
5100
5101   // @@protoc_insertion_point(class_scope:opencv_caffe.ConcatParameter)
5102  private:
5103   inline void set_has_axis();
5104   inline void clear_has_axis();
5105   inline void set_has_concat_dim();
5106   inline void clear_has_concat_dim();
5107
5108   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5109   ::google::protobuf::internal::HasBits<1> _has_bits_;
5110   mutable int _cached_size_;
5111   ::google::protobuf::int32 axis_;
5112   ::google::protobuf::uint32 concat_dim_;
5113   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5114   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5115   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5116   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5117
5118   void InitAsDefaultInstance();
5119 };
5120 extern ::google::protobuf::internal::ExplicitlyConstructed<ConcatParameter> ConcatParameter_default_instance_;
5121
5122 // -------------------------------------------------------------------
5123
5124 class BatchNormParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BatchNormParameter) */ {
5125  public:
5126   BatchNormParameter();
5127   virtual ~BatchNormParameter();
5128
5129   BatchNormParameter(const BatchNormParameter& from);
5130
5131   inline BatchNormParameter& operator=(const BatchNormParameter& from) {
5132     CopyFrom(from);
5133     return *this;
5134   }
5135
5136   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5137     return _internal_metadata_.unknown_fields();
5138   }
5139
5140   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5141     return _internal_metadata_.mutable_unknown_fields();
5142   }
5143
5144   static const ::google::protobuf::Descriptor* descriptor();
5145   static const BatchNormParameter& default_instance();
5146
5147   static const BatchNormParameter* internal_default_instance();
5148
5149   void Swap(BatchNormParameter* other);
5150
5151   // implements Message ----------------------------------------------
5152
5153   inline BatchNormParameter* New() const { return New(NULL); }
5154
5155   BatchNormParameter* New(::google::protobuf::Arena* arena) const;
5156   void CopyFrom(const ::google::protobuf::Message& from);
5157   void MergeFrom(const ::google::protobuf::Message& from);
5158   void CopyFrom(const BatchNormParameter& from);
5159   void MergeFrom(const BatchNormParameter& from);
5160   void Clear();
5161   bool IsInitialized() const;
5162
5163   size_t ByteSizeLong() const;
5164   bool MergePartialFromCodedStream(
5165       ::google::protobuf::io::CodedInputStream* input);
5166   void SerializeWithCachedSizes(
5167       ::google::protobuf::io::CodedOutputStream* output) const;
5168   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5169       bool deterministic, ::google::protobuf::uint8* output) const;
5170   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5171     return InternalSerializeWithCachedSizesToArray(false, output);
5172   }
5173   int GetCachedSize() const { return _cached_size_; }
5174   private:
5175   void SharedCtor();
5176   void SharedDtor();
5177   void SetCachedSize(int size) const;
5178   void InternalSwap(BatchNormParameter* other);
5179   void UnsafeMergeFrom(const BatchNormParameter& from);
5180   private:
5181   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5182     return _internal_metadata_.arena();
5183   }
5184   inline void* MaybeArenaPtr() const {
5185     return _internal_metadata_.raw_arena_ptr();
5186   }
5187   public:
5188
5189   ::google::protobuf::Metadata GetMetadata() const;
5190
5191   // nested types ----------------------------------------------------
5192
5193   // accessors -------------------------------------------------------
5194
5195   // optional bool use_global_stats = 1;
5196   bool has_use_global_stats() const;
5197   void clear_use_global_stats();
5198   static const int kUseGlobalStatsFieldNumber = 1;
5199   bool use_global_stats() const;
5200   void set_use_global_stats(bool value);
5201
5202   // optional float moving_average_fraction = 2 [default = 0.999];
5203   bool has_moving_average_fraction() const;
5204   void clear_moving_average_fraction();
5205   static const int kMovingAverageFractionFieldNumber = 2;
5206   float moving_average_fraction() const;
5207   void set_moving_average_fraction(float value);
5208
5209   // optional float eps = 3 [default = 1e-05];
5210   bool has_eps() const;
5211   void clear_eps();
5212   static const int kEpsFieldNumber = 3;
5213   float eps() const;
5214   void set_eps(float value);
5215
5216   // @@protoc_insertion_point(class_scope:opencv_caffe.BatchNormParameter)
5217  private:
5218   inline void set_has_use_global_stats();
5219   inline void clear_has_use_global_stats();
5220   inline void set_has_moving_average_fraction();
5221   inline void clear_has_moving_average_fraction();
5222   inline void set_has_eps();
5223   inline void clear_has_eps();
5224
5225   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5226   ::google::protobuf::internal::HasBits<1> _has_bits_;
5227   mutable int _cached_size_;
5228   bool use_global_stats_;
5229   float moving_average_fraction_;
5230   float eps_;
5231   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5232   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5233   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5234   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5235
5236   void InitAsDefaultInstance();
5237 };
5238 extern ::google::protobuf::internal::ExplicitlyConstructed<BatchNormParameter> BatchNormParameter_default_instance_;
5239
5240 // -------------------------------------------------------------------
5241
5242 class BiasParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BiasParameter) */ {
5243  public:
5244   BiasParameter();
5245   virtual ~BiasParameter();
5246
5247   BiasParameter(const BiasParameter& from);
5248
5249   inline BiasParameter& operator=(const BiasParameter& from) {
5250     CopyFrom(from);
5251     return *this;
5252   }
5253
5254   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5255     return _internal_metadata_.unknown_fields();
5256   }
5257
5258   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5259     return _internal_metadata_.mutable_unknown_fields();
5260   }
5261
5262   static const ::google::protobuf::Descriptor* descriptor();
5263   static const BiasParameter& default_instance();
5264
5265   static const BiasParameter* internal_default_instance();
5266
5267   void Swap(BiasParameter* other);
5268
5269   // implements Message ----------------------------------------------
5270
5271   inline BiasParameter* New() const { return New(NULL); }
5272
5273   BiasParameter* New(::google::protobuf::Arena* arena) const;
5274   void CopyFrom(const ::google::protobuf::Message& from);
5275   void MergeFrom(const ::google::protobuf::Message& from);
5276   void CopyFrom(const BiasParameter& from);
5277   void MergeFrom(const BiasParameter& from);
5278   void Clear();
5279   bool IsInitialized() const;
5280
5281   size_t ByteSizeLong() const;
5282   bool MergePartialFromCodedStream(
5283       ::google::protobuf::io::CodedInputStream* input);
5284   void SerializeWithCachedSizes(
5285       ::google::protobuf::io::CodedOutputStream* output) const;
5286   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5287       bool deterministic, ::google::protobuf::uint8* output) const;
5288   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5289     return InternalSerializeWithCachedSizesToArray(false, output);
5290   }
5291   int GetCachedSize() const { return _cached_size_; }
5292   private:
5293   void SharedCtor();
5294   void SharedDtor();
5295   void SetCachedSize(int size) const;
5296   void InternalSwap(BiasParameter* other);
5297   void UnsafeMergeFrom(const BiasParameter& from);
5298   private:
5299   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5300     return _internal_metadata_.arena();
5301   }
5302   inline void* MaybeArenaPtr() const {
5303     return _internal_metadata_.raw_arena_ptr();
5304   }
5305   public:
5306
5307   ::google::protobuf::Metadata GetMetadata() const;
5308
5309   // nested types ----------------------------------------------------
5310
5311   // accessors -------------------------------------------------------
5312
5313   // optional int32 axis = 1 [default = 1];
5314   bool has_axis() const;
5315   void clear_axis();
5316   static const int kAxisFieldNumber = 1;
5317   ::google::protobuf::int32 axis() const;
5318   void set_axis(::google::protobuf::int32 value);
5319
5320   // optional int32 num_axes = 2 [default = 1];
5321   bool has_num_axes() const;
5322   void clear_num_axes();
5323   static const int kNumAxesFieldNumber = 2;
5324   ::google::protobuf::int32 num_axes() const;
5325   void set_num_axes(::google::protobuf::int32 value);
5326
5327   // optional .opencv_caffe.FillerParameter filler = 3;
5328   bool has_filler() const;
5329   void clear_filler();
5330   static const int kFillerFieldNumber = 3;
5331   const ::opencv_caffe::FillerParameter& filler() const;
5332   ::opencv_caffe::FillerParameter* mutable_filler();
5333   ::opencv_caffe::FillerParameter* release_filler();
5334   void set_allocated_filler(::opencv_caffe::FillerParameter* filler);
5335
5336   // @@protoc_insertion_point(class_scope:opencv_caffe.BiasParameter)
5337  private:
5338   inline void set_has_axis();
5339   inline void clear_has_axis();
5340   inline void set_has_num_axes();
5341   inline void clear_has_num_axes();
5342   inline void set_has_filler();
5343   inline void clear_has_filler();
5344
5345   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5346   ::google::protobuf::internal::HasBits<1> _has_bits_;
5347   mutable int _cached_size_;
5348   ::opencv_caffe::FillerParameter* filler_;
5349   ::google::protobuf::int32 axis_;
5350   ::google::protobuf::int32 num_axes_;
5351   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5352   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5353   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5354   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5355
5356   void InitAsDefaultInstance();
5357 };
5358 extern ::google::protobuf::internal::ExplicitlyConstructed<BiasParameter> BiasParameter_default_instance_;
5359
5360 // -------------------------------------------------------------------
5361
5362 class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ContrastiveLossParameter) */ {
5363  public:
5364   ContrastiveLossParameter();
5365   virtual ~ContrastiveLossParameter();
5366
5367   ContrastiveLossParameter(const ContrastiveLossParameter& from);
5368
5369   inline ContrastiveLossParameter& operator=(const ContrastiveLossParameter& from) {
5370     CopyFrom(from);
5371     return *this;
5372   }
5373
5374   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5375     return _internal_metadata_.unknown_fields();
5376   }
5377
5378   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5379     return _internal_metadata_.mutable_unknown_fields();
5380   }
5381
5382   static const ::google::protobuf::Descriptor* descriptor();
5383   static const ContrastiveLossParameter& default_instance();
5384
5385   static const ContrastiveLossParameter* internal_default_instance();
5386
5387   void Swap(ContrastiveLossParameter* other);
5388
5389   // implements Message ----------------------------------------------
5390
5391   inline ContrastiveLossParameter* New() const { return New(NULL); }
5392
5393   ContrastiveLossParameter* New(::google::protobuf::Arena* arena) const;
5394   void CopyFrom(const ::google::protobuf::Message& from);
5395   void MergeFrom(const ::google::protobuf::Message& from);
5396   void CopyFrom(const ContrastiveLossParameter& from);
5397   void MergeFrom(const ContrastiveLossParameter& from);
5398   void Clear();
5399   bool IsInitialized() const;
5400
5401   size_t ByteSizeLong() const;
5402   bool MergePartialFromCodedStream(
5403       ::google::protobuf::io::CodedInputStream* input);
5404   void SerializeWithCachedSizes(
5405       ::google::protobuf::io::CodedOutputStream* output) const;
5406   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5407       bool deterministic, ::google::protobuf::uint8* output) const;
5408   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5409     return InternalSerializeWithCachedSizesToArray(false, output);
5410   }
5411   int GetCachedSize() const { return _cached_size_; }
5412   private:
5413   void SharedCtor();
5414   void SharedDtor();
5415   void SetCachedSize(int size) const;
5416   void InternalSwap(ContrastiveLossParameter* other);
5417   void UnsafeMergeFrom(const ContrastiveLossParameter& from);
5418   private:
5419   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5420     return _internal_metadata_.arena();
5421   }
5422   inline void* MaybeArenaPtr() const {
5423     return _internal_metadata_.raw_arena_ptr();
5424   }
5425   public:
5426
5427   ::google::protobuf::Metadata GetMetadata() const;
5428
5429   // nested types ----------------------------------------------------
5430
5431   // accessors -------------------------------------------------------
5432
5433   // optional float margin = 1 [default = 1];
5434   bool has_margin() const;
5435   void clear_margin();
5436   static const int kMarginFieldNumber = 1;
5437   float margin() const;
5438   void set_margin(float value);
5439
5440   // optional bool legacy_version = 2 [default = false];
5441   bool has_legacy_version() const;
5442   void clear_legacy_version();
5443   static const int kLegacyVersionFieldNumber = 2;
5444   bool legacy_version() const;
5445   void set_legacy_version(bool value);
5446
5447   // @@protoc_insertion_point(class_scope:opencv_caffe.ContrastiveLossParameter)
5448  private:
5449   inline void set_has_margin();
5450   inline void clear_has_margin();
5451   inline void set_has_legacy_version();
5452   inline void clear_has_legacy_version();
5453
5454   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5455   ::google::protobuf::internal::HasBits<1> _has_bits_;
5456   mutable int _cached_size_;
5457   bool legacy_version_;
5458   float margin_;
5459   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5460   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5461   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5462   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5463
5464   void InitAsDefaultInstance();
5465 };
5466 extern ::google::protobuf::internal::ExplicitlyConstructed<ContrastiveLossParameter> ContrastiveLossParameter_default_instance_;
5467
5468 // -------------------------------------------------------------------
5469
5470 class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ConvolutionParameter) */ {
5471  public:
5472   ConvolutionParameter();
5473   virtual ~ConvolutionParameter();
5474
5475   ConvolutionParameter(const ConvolutionParameter& from);
5476
5477   inline ConvolutionParameter& operator=(const ConvolutionParameter& from) {
5478     CopyFrom(from);
5479     return *this;
5480   }
5481
5482   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5483     return _internal_metadata_.unknown_fields();
5484   }
5485
5486   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5487     return _internal_metadata_.mutable_unknown_fields();
5488   }
5489
5490   static const ::google::protobuf::Descriptor* descriptor();
5491   static const ConvolutionParameter& default_instance();
5492
5493   static const ConvolutionParameter* internal_default_instance();
5494
5495   void Swap(ConvolutionParameter* other);
5496
5497   // implements Message ----------------------------------------------
5498
5499   inline ConvolutionParameter* New() const { return New(NULL); }
5500
5501   ConvolutionParameter* New(::google::protobuf::Arena* arena) const;
5502   void CopyFrom(const ::google::protobuf::Message& from);
5503   void MergeFrom(const ::google::protobuf::Message& from);
5504   void CopyFrom(const ConvolutionParameter& from);
5505   void MergeFrom(const ConvolutionParameter& from);
5506   void Clear();
5507   bool IsInitialized() const;
5508
5509   size_t ByteSizeLong() const;
5510   bool MergePartialFromCodedStream(
5511       ::google::protobuf::io::CodedInputStream* input);
5512   void SerializeWithCachedSizes(
5513       ::google::protobuf::io::CodedOutputStream* output) const;
5514   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5515       bool deterministic, ::google::protobuf::uint8* output) const;
5516   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5517     return InternalSerializeWithCachedSizesToArray(false, output);
5518   }
5519   int GetCachedSize() const { return _cached_size_; }
5520   private:
5521   void SharedCtor();
5522   void SharedDtor();
5523   void SetCachedSize(int size) const;
5524   void InternalSwap(ConvolutionParameter* other);
5525   void UnsafeMergeFrom(const ConvolutionParameter& from);
5526   private:
5527   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5528     return _internal_metadata_.arena();
5529   }
5530   inline void* MaybeArenaPtr() const {
5531     return _internal_metadata_.raw_arena_ptr();
5532   }
5533   public:
5534
5535   ::google::protobuf::Metadata GetMetadata() const;
5536
5537   // nested types ----------------------------------------------------
5538
5539   typedef ConvolutionParameter_Engine Engine;
5540   static const Engine DEFAULT =
5541     ConvolutionParameter_Engine_DEFAULT;
5542   static const Engine CAFFE =
5543     ConvolutionParameter_Engine_CAFFE;
5544   static const Engine CUDNN =
5545     ConvolutionParameter_Engine_CUDNN;
5546   static inline bool Engine_IsValid(int value) {
5547     return ConvolutionParameter_Engine_IsValid(value);
5548   }
5549   static const Engine Engine_MIN =
5550     ConvolutionParameter_Engine_Engine_MIN;
5551   static const Engine Engine_MAX =
5552     ConvolutionParameter_Engine_Engine_MAX;
5553   static const int Engine_ARRAYSIZE =
5554     ConvolutionParameter_Engine_Engine_ARRAYSIZE;
5555   static inline const ::google::protobuf::EnumDescriptor*
5556   Engine_descriptor() {
5557     return ConvolutionParameter_Engine_descriptor();
5558   }
5559   static inline const ::std::string& Engine_Name(Engine value) {
5560     return ConvolutionParameter_Engine_Name(value);
5561   }
5562   static inline bool Engine_Parse(const ::std::string& name,
5563       Engine* value) {
5564     return ConvolutionParameter_Engine_Parse(name, value);
5565   }
5566
5567   // accessors -------------------------------------------------------
5568
5569   // optional uint32 num_output = 1;
5570   bool has_num_output() const;
5571   void clear_num_output();
5572   static const int kNumOutputFieldNumber = 1;
5573   ::google::protobuf::uint32 num_output() const;
5574   void set_num_output(::google::protobuf::uint32 value);
5575
5576   // optional bool bias_term = 2 [default = true];
5577   bool has_bias_term() const;
5578   void clear_bias_term();
5579   static const int kBiasTermFieldNumber = 2;
5580   bool bias_term() const;
5581   void set_bias_term(bool value);
5582
5583   // repeated uint32 pad = 3;
5584   int pad_size() const;
5585   void clear_pad();
5586   static const int kPadFieldNumber = 3;
5587   ::google::protobuf::uint32 pad(int index) const;
5588   void set_pad(int index, ::google::protobuf::uint32 value);
5589   void add_pad(::google::protobuf::uint32 value);
5590   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5591       pad() const;
5592   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5593       mutable_pad();
5594
5595   // repeated uint32 kernel_size = 4;
5596   int kernel_size_size() const;
5597   void clear_kernel_size();
5598   static const int kKernelSizeFieldNumber = 4;
5599   ::google::protobuf::uint32 kernel_size(int index) const;
5600   void set_kernel_size(int index, ::google::protobuf::uint32 value);
5601   void add_kernel_size(::google::protobuf::uint32 value);
5602   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5603       kernel_size() const;
5604   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5605       mutable_kernel_size();
5606
5607   // repeated uint32 stride = 6;
5608   int stride_size() const;
5609   void clear_stride();
5610   static const int kStrideFieldNumber = 6;
5611   ::google::protobuf::uint32 stride(int index) const;
5612   void set_stride(int index, ::google::protobuf::uint32 value);
5613   void add_stride(::google::protobuf::uint32 value);
5614   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5615       stride() const;
5616   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5617       mutable_stride();
5618
5619   // repeated uint32 dilation = 18;
5620   int dilation_size() const;
5621   void clear_dilation();
5622   static const int kDilationFieldNumber = 18;
5623   ::google::protobuf::uint32 dilation(int index) const;
5624   void set_dilation(int index, ::google::protobuf::uint32 value);
5625   void add_dilation(::google::protobuf::uint32 value);
5626   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5627       dilation() const;
5628   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5629       mutable_dilation();
5630
5631   // optional uint32 pad_h = 9 [default = 0];
5632   bool has_pad_h() const;
5633   void clear_pad_h();
5634   static const int kPadHFieldNumber = 9;
5635   ::google::protobuf::uint32 pad_h() const;
5636   void set_pad_h(::google::protobuf::uint32 value);
5637
5638   // optional uint32 pad_w = 10 [default = 0];
5639   bool has_pad_w() const;
5640   void clear_pad_w();
5641   static const int kPadWFieldNumber = 10;
5642   ::google::protobuf::uint32 pad_w() const;
5643   void set_pad_w(::google::protobuf::uint32 value);
5644
5645   // optional uint32 kernel_h = 11;
5646   bool has_kernel_h() const;
5647   void clear_kernel_h();
5648   static const int kKernelHFieldNumber = 11;
5649   ::google::protobuf::uint32 kernel_h() const;
5650   void set_kernel_h(::google::protobuf::uint32 value);
5651
5652   // optional uint32 kernel_w = 12;
5653   bool has_kernel_w() const;
5654   void clear_kernel_w();
5655   static const int kKernelWFieldNumber = 12;
5656   ::google::protobuf::uint32 kernel_w() const;
5657   void set_kernel_w(::google::protobuf::uint32 value);
5658
5659   // optional uint32 stride_h = 13;
5660   bool has_stride_h() const;
5661   void clear_stride_h();
5662   static const int kStrideHFieldNumber = 13;
5663   ::google::protobuf::uint32 stride_h() const;
5664   void set_stride_h(::google::protobuf::uint32 value);
5665
5666   // optional uint32 stride_w = 14;
5667   bool has_stride_w() const;
5668   void clear_stride_w();
5669   static const int kStrideWFieldNumber = 14;
5670   ::google::protobuf::uint32 stride_w() const;
5671   void set_stride_w(::google::protobuf::uint32 value);
5672
5673   // optional uint32 group = 5 [default = 1];
5674   bool has_group() const;
5675   void clear_group();
5676   static const int kGroupFieldNumber = 5;
5677   ::google::protobuf::uint32 group() const;
5678   void set_group(::google::protobuf::uint32 value);
5679
5680   // optional .opencv_caffe.FillerParameter weight_filler = 7;
5681   bool has_weight_filler() const;
5682   void clear_weight_filler();
5683   static const int kWeightFillerFieldNumber = 7;
5684   const ::opencv_caffe::FillerParameter& weight_filler() const;
5685   ::opencv_caffe::FillerParameter* mutable_weight_filler();
5686   ::opencv_caffe::FillerParameter* release_weight_filler();
5687   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
5688
5689   // optional .opencv_caffe.FillerParameter bias_filler = 8;
5690   bool has_bias_filler() const;
5691   void clear_bias_filler();
5692   static const int kBiasFillerFieldNumber = 8;
5693   const ::opencv_caffe::FillerParameter& bias_filler() const;
5694   ::opencv_caffe::FillerParameter* mutable_bias_filler();
5695   ::opencv_caffe::FillerParameter* release_bias_filler();
5696   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
5697
5698   // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
5699   bool has_engine() const;
5700   void clear_engine();
5701   static const int kEngineFieldNumber = 15;
5702   ::opencv_caffe::ConvolutionParameter_Engine engine() const;
5703   void set_engine(::opencv_caffe::ConvolutionParameter_Engine value);
5704
5705   // optional int32 axis = 16 [default = 1];
5706   bool has_axis() const;
5707   void clear_axis();
5708   static const int kAxisFieldNumber = 16;
5709   ::google::protobuf::int32 axis() const;
5710   void set_axis(::google::protobuf::int32 value);
5711
5712   // optional bool force_nd_im2col = 17 [default = false];
5713   bool has_force_nd_im2col() const;
5714   void clear_force_nd_im2col();
5715   static const int kForceNdIm2ColFieldNumber = 17;
5716   bool force_nd_im2col() const;
5717   void set_force_nd_im2col(bool value);
5718
5719   // @@protoc_insertion_point(class_scope:opencv_caffe.ConvolutionParameter)
5720  private:
5721   inline void set_has_num_output();
5722   inline void clear_has_num_output();
5723   inline void set_has_bias_term();
5724   inline void clear_has_bias_term();
5725   inline void set_has_pad_h();
5726   inline void clear_has_pad_h();
5727   inline void set_has_pad_w();
5728   inline void clear_has_pad_w();
5729   inline void set_has_kernel_h();
5730   inline void clear_has_kernel_h();
5731   inline void set_has_kernel_w();
5732   inline void clear_has_kernel_w();
5733   inline void set_has_stride_h();
5734   inline void clear_has_stride_h();
5735   inline void set_has_stride_w();
5736   inline void clear_has_stride_w();
5737   inline void set_has_group();
5738   inline void clear_has_group();
5739   inline void set_has_weight_filler();
5740   inline void clear_has_weight_filler();
5741   inline void set_has_bias_filler();
5742   inline void clear_has_bias_filler();
5743   inline void set_has_engine();
5744   inline void clear_has_engine();
5745   inline void set_has_axis();
5746   inline void clear_has_axis();
5747   inline void set_has_force_nd_im2col();
5748   inline void clear_has_force_nd_im2col();
5749
5750   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5751   ::google::protobuf::internal::HasBits<1> _has_bits_;
5752   mutable int _cached_size_;
5753   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > pad_;
5754   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > kernel_size_;
5755   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > stride_;
5756   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > dilation_;
5757   ::opencv_caffe::FillerParameter* weight_filler_;
5758   ::opencv_caffe::FillerParameter* bias_filler_;
5759   ::google::protobuf::uint32 num_output_;
5760   ::google::protobuf::uint32 pad_h_;
5761   ::google::protobuf::uint32 pad_w_;
5762   ::google::protobuf::uint32 kernel_h_;
5763   ::google::protobuf::uint32 kernel_w_;
5764   ::google::protobuf::uint32 stride_h_;
5765   ::google::protobuf::uint32 stride_w_;
5766   int engine_;
5767   bool force_nd_im2col_;
5768   ::google::protobuf::int32 axis_;
5769   bool bias_term_;
5770   ::google::protobuf::uint32 group_;
5771   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5772   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5773   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5774   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5775
5776   void InitAsDefaultInstance();
5777 };
5778 extern ::google::protobuf::internal::ExplicitlyConstructed<ConvolutionParameter> ConvolutionParameter_default_instance_;
5779
5780 // -------------------------------------------------------------------
5781
5782 class CropParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.CropParameter) */ {
5783  public:
5784   CropParameter();
5785   virtual ~CropParameter();
5786
5787   CropParameter(const CropParameter& from);
5788
5789   inline CropParameter& operator=(const CropParameter& from) {
5790     CopyFrom(from);
5791     return *this;
5792   }
5793
5794   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5795     return _internal_metadata_.unknown_fields();
5796   }
5797
5798   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5799     return _internal_metadata_.mutable_unknown_fields();
5800   }
5801
5802   static const ::google::protobuf::Descriptor* descriptor();
5803   static const CropParameter& default_instance();
5804
5805   static const CropParameter* internal_default_instance();
5806
5807   void Swap(CropParameter* other);
5808
5809   // implements Message ----------------------------------------------
5810
5811   inline CropParameter* New() const { return New(NULL); }
5812
5813   CropParameter* New(::google::protobuf::Arena* arena) const;
5814   void CopyFrom(const ::google::protobuf::Message& from);
5815   void MergeFrom(const ::google::protobuf::Message& from);
5816   void CopyFrom(const CropParameter& from);
5817   void MergeFrom(const CropParameter& from);
5818   void Clear();
5819   bool IsInitialized() const;
5820
5821   size_t ByteSizeLong() const;
5822   bool MergePartialFromCodedStream(
5823       ::google::protobuf::io::CodedInputStream* input);
5824   void SerializeWithCachedSizes(
5825       ::google::protobuf::io::CodedOutputStream* output) const;
5826   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5827       bool deterministic, ::google::protobuf::uint8* output) const;
5828   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5829     return InternalSerializeWithCachedSizesToArray(false, output);
5830   }
5831   int GetCachedSize() const { return _cached_size_; }
5832   private:
5833   void SharedCtor();
5834   void SharedDtor();
5835   void SetCachedSize(int size) const;
5836   void InternalSwap(CropParameter* other);
5837   void UnsafeMergeFrom(const CropParameter& from);
5838   private:
5839   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5840     return _internal_metadata_.arena();
5841   }
5842   inline void* MaybeArenaPtr() const {
5843     return _internal_metadata_.raw_arena_ptr();
5844   }
5845   public:
5846
5847   ::google::protobuf::Metadata GetMetadata() const;
5848
5849   // nested types ----------------------------------------------------
5850
5851   // accessors -------------------------------------------------------
5852
5853   // optional int32 axis = 1 [default = 2];
5854   bool has_axis() const;
5855   void clear_axis();
5856   static const int kAxisFieldNumber = 1;
5857   ::google::protobuf::int32 axis() const;
5858   void set_axis(::google::protobuf::int32 value);
5859
5860   // repeated uint32 offset = 2;
5861   int offset_size() const;
5862   void clear_offset();
5863   static const int kOffsetFieldNumber = 2;
5864   ::google::protobuf::uint32 offset(int index) const;
5865   void set_offset(int index, ::google::protobuf::uint32 value);
5866   void add_offset(::google::protobuf::uint32 value);
5867   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5868       offset() const;
5869   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5870       mutable_offset();
5871
5872   // @@protoc_insertion_point(class_scope:opencv_caffe.CropParameter)
5873  private:
5874   inline void set_has_axis();
5875   inline void clear_has_axis();
5876
5877   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5878   ::google::protobuf::internal::HasBits<1> _has_bits_;
5879   mutable int _cached_size_;
5880   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > offset_;
5881   ::google::protobuf::int32 axis_;
5882   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5883   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5884   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5885   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5886
5887   void InitAsDefaultInstance();
5888 };
5889 extern ::google::protobuf::internal::ExplicitlyConstructed<CropParameter> CropParameter_default_instance_;
5890
5891 // -------------------------------------------------------------------
5892
5893 class DataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DataParameter) */ {
5894  public:
5895   DataParameter();
5896   virtual ~DataParameter();
5897
5898   DataParameter(const DataParameter& from);
5899
5900   inline DataParameter& operator=(const DataParameter& from) {
5901     CopyFrom(from);
5902     return *this;
5903   }
5904
5905   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5906     return _internal_metadata_.unknown_fields();
5907   }
5908
5909   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5910     return _internal_metadata_.mutable_unknown_fields();
5911   }
5912
5913   static const ::google::protobuf::Descriptor* descriptor();
5914   static const DataParameter& default_instance();
5915
5916   static const DataParameter* internal_default_instance();
5917
5918   void Swap(DataParameter* other);
5919
5920   // implements Message ----------------------------------------------
5921
5922   inline DataParameter* New() const { return New(NULL); }
5923
5924   DataParameter* New(::google::protobuf::Arena* arena) const;
5925   void CopyFrom(const ::google::protobuf::Message& from);
5926   void MergeFrom(const ::google::protobuf::Message& from);
5927   void CopyFrom(const DataParameter& from);
5928   void MergeFrom(const DataParameter& from);
5929   void Clear();
5930   bool IsInitialized() const;
5931
5932   size_t ByteSizeLong() const;
5933   bool MergePartialFromCodedStream(
5934       ::google::protobuf::io::CodedInputStream* input);
5935   void SerializeWithCachedSizes(
5936       ::google::protobuf::io::CodedOutputStream* output) const;
5937   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5938       bool deterministic, ::google::protobuf::uint8* output) const;
5939   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5940     return InternalSerializeWithCachedSizesToArray(false, output);
5941   }
5942   int GetCachedSize() const { return _cached_size_; }
5943   private:
5944   void SharedCtor();
5945   void SharedDtor();
5946   void SetCachedSize(int size) const;
5947   void InternalSwap(DataParameter* other);
5948   void UnsafeMergeFrom(const DataParameter& from);
5949   private:
5950   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5951     return _internal_metadata_.arena();
5952   }
5953   inline void* MaybeArenaPtr() const {
5954     return _internal_metadata_.raw_arena_ptr();
5955   }
5956   public:
5957
5958   ::google::protobuf::Metadata GetMetadata() const;
5959
5960   // nested types ----------------------------------------------------
5961
5962   typedef DataParameter_DB DB;
5963   static const DB LEVELDB =
5964     DataParameter_DB_LEVELDB;
5965   static const DB LMDB =
5966     DataParameter_DB_LMDB;
5967   static inline bool DB_IsValid(int value) {
5968     return DataParameter_DB_IsValid(value);
5969   }
5970   static const DB DB_MIN =
5971     DataParameter_DB_DB_MIN;
5972   static const DB DB_MAX =
5973     DataParameter_DB_DB_MAX;
5974   static const int DB_ARRAYSIZE =
5975     DataParameter_DB_DB_ARRAYSIZE;
5976   static inline const ::google::protobuf::EnumDescriptor*
5977   DB_descriptor() {
5978     return DataParameter_DB_descriptor();
5979   }
5980   static inline const ::std::string& DB_Name(DB value) {
5981     return DataParameter_DB_Name(value);
5982   }
5983   static inline bool DB_Parse(const ::std::string& name,
5984       DB* value) {
5985     return DataParameter_DB_Parse(name, value);
5986   }
5987
5988   // accessors -------------------------------------------------------
5989
5990   // optional string source = 1;
5991   bool has_source() const;
5992   void clear_source();
5993   static const int kSourceFieldNumber = 1;
5994   const ::std::string& source() const;
5995   void set_source(const ::std::string& value);
5996   void set_source(const char* value);
5997   void set_source(const char* value, size_t size);
5998   ::std::string* mutable_source();
5999   ::std::string* release_source();
6000   void set_allocated_source(::std::string* source);
6001
6002   // optional uint32 batch_size = 4;
6003   bool has_batch_size() const;
6004   void clear_batch_size();
6005   static const int kBatchSizeFieldNumber = 4;
6006   ::google::protobuf::uint32 batch_size() const;
6007   void set_batch_size(::google::protobuf::uint32 value);
6008
6009   // optional uint32 rand_skip = 7 [default = 0];
6010   bool has_rand_skip() const;
6011   void clear_rand_skip();
6012   static const int kRandSkipFieldNumber = 7;
6013   ::google::protobuf::uint32 rand_skip() const;
6014   void set_rand_skip(::google::protobuf::uint32 value);
6015
6016   // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
6017   bool has_backend() const;
6018   void clear_backend();
6019   static const int kBackendFieldNumber = 8;
6020   ::opencv_caffe::DataParameter_DB backend() const;
6021   void set_backend(::opencv_caffe::DataParameter_DB value);
6022
6023   // optional float scale = 2 [default = 1];
6024   bool has_scale() const;
6025   void clear_scale();
6026   static const int kScaleFieldNumber = 2;
6027   float scale() const;
6028   void set_scale(float value);
6029
6030   // optional string mean_file = 3;
6031   bool has_mean_file() const;
6032   void clear_mean_file();
6033   static const int kMeanFileFieldNumber = 3;
6034   const ::std::string& mean_file() const;
6035   void set_mean_file(const ::std::string& value);
6036   void set_mean_file(const char* value);
6037   void set_mean_file(const char* value, size_t size);
6038   ::std::string* mutable_mean_file();
6039   ::std::string* release_mean_file();
6040   void set_allocated_mean_file(::std::string* mean_file);
6041
6042   // optional uint32 crop_size = 5 [default = 0];
6043   bool has_crop_size() const;
6044   void clear_crop_size();
6045   static const int kCropSizeFieldNumber = 5;
6046   ::google::protobuf::uint32 crop_size() const;
6047   void set_crop_size(::google::protobuf::uint32 value);
6048
6049   // optional bool mirror = 6 [default = false];
6050   bool has_mirror() const;
6051   void clear_mirror();
6052   static const int kMirrorFieldNumber = 6;
6053   bool mirror() const;
6054   void set_mirror(bool value);
6055
6056   // optional bool force_encoded_color = 9 [default = false];
6057   bool has_force_encoded_color() const;
6058   void clear_force_encoded_color();
6059   static const int kForceEncodedColorFieldNumber = 9;
6060   bool force_encoded_color() const;
6061   void set_force_encoded_color(bool value);
6062
6063   // optional uint32 prefetch = 10 [default = 4];
6064   bool has_prefetch() const;
6065   void clear_prefetch();
6066   static const int kPrefetchFieldNumber = 10;
6067   ::google::protobuf::uint32 prefetch() const;
6068   void set_prefetch(::google::protobuf::uint32 value);
6069
6070   // @@protoc_insertion_point(class_scope:opencv_caffe.DataParameter)
6071  private:
6072   inline void set_has_source();
6073   inline void clear_has_source();
6074   inline void set_has_batch_size();
6075   inline void clear_has_batch_size();
6076   inline void set_has_rand_skip();
6077   inline void clear_has_rand_skip();
6078   inline void set_has_backend();
6079   inline void clear_has_backend();
6080   inline void set_has_scale();
6081   inline void clear_has_scale();
6082   inline void set_has_mean_file();
6083   inline void clear_has_mean_file();
6084   inline void set_has_crop_size();
6085   inline void clear_has_crop_size();
6086   inline void set_has_mirror();
6087   inline void clear_has_mirror();
6088   inline void set_has_force_encoded_color();
6089   inline void clear_has_force_encoded_color();
6090   inline void set_has_prefetch();
6091   inline void clear_has_prefetch();
6092
6093   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6094   ::google::protobuf::internal::HasBits<1> _has_bits_;
6095   mutable int _cached_size_;
6096   ::google::protobuf::internal::ArenaStringPtr source_;
6097   ::google::protobuf::internal::ArenaStringPtr mean_file_;
6098   ::google::protobuf::uint32 batch_size_;
6099   ::google::protobuf::uint32 rand_skip_;
6100   int backend_;
6101   ::google::protobuf::uint32 crop_size_;
6102   bool mirror_;
6103   bool force_encoded_color_;
6104   float scale_;
6105   ::google::protobuf::uint32 prefetch_;
6106   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6107   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6108   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6109   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6110
6111   void InitAsDefaultInstance();
6112 };
6113 extern ::google::protobuf::internal::ExplicitlyConstructed<DataParameter> DataParameter_default_instance_;
6114
6115 // -------------------------------------------------------------------
6116
6117 class NonMaximumSuppressionParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NonMaximumSuppressionParameter) */ {
6118  public:
6119   NonMaximumSuppressionParameter();
6120   virtual ~NonMaximumSuppressionParameter();
6121
6122   NonMaximumSuppressionParameter(const NonMaximumSuppressionParameter& from);
6123
6124   inline NonMaximumSuppressionParameter& operator=(const NonMaximumSuppressionParameter& from) {
6125     CopyFrom(from);
6126     return *this;
6127   }
6128
6129   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6130     return _internal_metadata_.unknown_fields();
6131   }
6132
6133   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6134     return _internal_metadata_.mutable_unknown_fields();
6135   }
6136
6137   static const ::google::protobuf::Descriptor* descriptor();
6138   static const NonMaximumSuppressionParameter& default_instance();
6139
6140   static const NonMaximumSuppressionParameter* internal_default_instance();
6141
6142   void Swap(NonMaximumSuppressionParameter* other);
6143
6144   // implements Message ----------------------------------------------
6145
6146   inline NonMaximumSuppressionParameter* New() const { return New(NULL); }
6147
6148   NonMaximumSuppressionParameter* New(::google::protobuf::Arena* arena) const;
6149   void CopyFrom(const ::google::protobuf::Message& from);
6150   void MergeFrom(const ::google::protobuf::Message& from);
6151   void CopyFrom(const NonMaximumSuppressionParameter& from);
6152   void MergeFrom(const NonMaximumSuppressionParameter& from);
6153   void Clear();
6154   bool IsInitialized() const;
6155
6156   size_t ByteSizeLong() const;
6157   bool MergePartialFromCodedStream(
6158       ::google::protobuf::io::CodedInputStream* input);
6159   void SerializeWithCachedSizes(
6160       ::google::protobuf::io::CodedOutputStream* output) const;
6161   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6162       bool deterministic, ::google::protobuf::uint8* output) const;
6163   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6164     return InternalSerializeWithCachedSizesToArray(false, output);
6165   }
6166   int GetCachedSize() const { return _cached_size_; }
6167   private:
6168   void SharedCtor();
6169   void SharedDtor();
6170   void SetCachedSize(int size) const;
6171   void InternalSwap(NonMaximumSuppressionParameter* other);
6172   void UnsafeMergeFrom(const NonMaximumSuppressionParameter& from);
6173   private:
6174   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6175     return _internal_metadata_.arena();
6176   }
6177   inline void* MaybeArenaPtr() const {
6178     return _internal_metadata_.raw_arena_ptr();
6179   }
6180   public:
6181
6182   ::google::protobuf::Metadata GetMetadata() const;
6183
6184   // nested types ----------------------------------------------------
6185
6186   // accessors -------------------------------------------------------
6187
6188   // optional float nms_threshold = 1 [default = 0.3];
6189   bool has_nms_threshold() const;
6190   void clear_nms_threshold();
6191   static const int kNmsThresholdFieldNumber = 1;
6192   float nms_threshold() const;
6193   void set_nms_threshold(float value);
6194
6195   // optional int32 top_k = 2;
6196   bool has_top_k() const;
6197   void clear_top_k();
6198   static const int kTopKFieldNumber = 2;
6199   ::google::protobuf::int32 top_k() const;
6200   void set_top_k(::google::protobuf::int32 value);
6201
6202   // optional float eta = 3 [default = 1];
6203   bool has_eta() const;
6204   void clear_eta();
6205   static const int kEtaFieldNumber = 3;
6206   float eta() const;
6207   void set_eta(float value);
6208
6209   // @@protoc_insertion_point(class_scope:opencv_caffe.NonMaximumSuppressionParameter)
6210  private:
6211   inline void set_has_nms_threshold();
6212   inline void clear_has_nms_threshold();
6213   inline void set_has_top_k();
6214   inline void clear_has_top_k();
6215   inline void set_has_eta();
6216   inline void clear_has_eta();
6217
6218   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6219   ::google::protobuf::internal::HasBits<1> _has_bits_;
6220   mutable int _cached_size_;
6221   ::google::protobuf::int32 top_k_;
6222   float nms_threshold_;
6223   float eta_;
6224   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6225   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6226   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6227   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6228
6229   void InitAsDefaultInstance();
6230 };
6231 extern ::google::protobuf::internal::ExplicitlyConstructed<NonMaximumSuppressionParameter> NonMaximumSuppressionParameter_default_instance_;
6232
6233 // -------------------------------------------------------------------
6234
6235 class SaveOutputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SaveOutputParameter) */ {
6236  public:
6237   SaveOutputParameter();
6238   virtual ~SaveOutputParameter();
6239
6240   SaveOutputParameter(const SaveOutputParameter& from);
6241
6242   inline SaveOutputParameter& operator=(const SaveOutputParameter& from) {
6243     CopyFrom(from);
6244     return *this;
6245   }
6246
6247   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6248     return _internal_metadata_.unknown_fields();
6249   }
6250
6251   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6252     return _internal_metadata_.mutable_unknown_fields();
6253   }
6254
6255   static const ::google::protobuf::Descriptor* descriptor();
6256   static const SaveOutputParameter& default_instance();
6257
6258   static const SaveOutputParameter* internal_default_instance();
6259
6260   void Swap(SaveOutputParameter* other);
6261
6262   // implements Message ----------------------------------------------
6263
6264   inline SaveOutputParameter* New() const { return New(NULL); }
6265
6266   SaveOutputParameter* New(::google::protobuf::Arena* arena) const;
6267   void CopyFrom(const ::google::protobuf::Message& from);
6268   void MergeFrom(const ::google::protobuf::Message& from);
6269   void CopyFrom(const SaveOutputParameter& from);
6270   void MergeFrom(const SaveOutputParameter& from);
6271   void Clear();
6272   bool IsInitialized() const;
6273
6274   size_t ByteSizeLong() const;
6275   bool MergePartialFromCodedStream(
6276       ::google::protobuf::io::CodedInputStream* input);
6277   void SerializeWithCachedSizes(
6278       ::google::protobuf::io::CodedOutputStream* output) const;
6279   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6280       bool deterministic, ::google::protobuf::uint8* output) const;
6281   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6282     return InternalSerializeWithCachedSizesToArray(false, output);
6283   }
6284   int GetCachedSize() const { return _cached_size_; }
6285   private:
6286   void SharedCtor();
6287   void SharedDtor();
6288   void SetCachedSize(int size) const;
6289   void InternalSwap(SaveOutputParameter* other);
6290   void UnsafeMergeFrom(const SaveOutputParameter& from);
6291   private:
6292   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6293     return _internal_metadata_.arena();
6294   }
6295   inline void* MaybeArenaPtr() const {
6296     return _internal_metadata_.raw_arena_ptr();
6297   }
6298   public:
6299
6300   ::google::protobuf::Metadata GetMetadata() const;
6301
6302   // nested types ----------------------------------------------------
6303
6304   // accessors -------------------------------------------------------
6305
6306   // optional string output_directory = 1;
6307   bool has_output_directory() const;
6308   void clear_output_directory();
6309   static const int kOutputDirectoryFieldNumber = 1;
6310   const ::std::string& output_directory() const;
6311   void set_output_directory(const ::std::string& value);
6312   void set_output_directory(const char* value);
6313   void set_output_directory(const char* value, size_t size);
6314   ::std::string* mutable_output_directory();
6315   ::std::string* release_output_directory();
6316   void set_allocated_output_directory(::std::string* output_directory);
6317
6318   // optional string output_name_prefix = 2;
6319   bool has_output_name_prefix() const;
6320   void clear_output_name_prefix();
6321   static const int kOutputNamePrefixFieldNumber = 2;
6322   const ::std::string& output_name_prefix() const;
6323   void set_output_name_prefix(const ::std::string& value);
6324   void set_output_name_prefix(const char* value);
6325   void set_output_name_prefix(const char* value, size_t size);
6326   ::std::string* mutable_output_name_prefix();
6327   ::std::string* release_output_name_prefix();
6328   void set_allocated_output_name_prefix(::std::string* output_name_prefix);
6329
6330   // optional string output_format = 3;
6331   bool has_output_format() const;
6332   void clear_output_format();
6333   static const int kOutputFormatFieldNumber = 3;
6334   const ::std::string& output_format() const;
6335   void set_output_format(const ::std::string& value);
6336   void set_output_format(const char* value);
6337   void set_output_format(const char* value, size_t size);
6338   ::std::string* mutable_output_format();
6339   ::std::string* release_output_format();
6340   void set_allocated_output_format(::std::string* output_format);
6341
6342   // optional string label_map_file = 4;
6343   bool has_label_map_file() const;
6344   void clear_label_map_file();
6345   static const int kLabelMapFileFieldNumber = 4;
6346   const ::std::string& label_map_file() const;
6347   void set_label_map_file(const ::std::string& value);
6348   void set_label_map_file(const char* value);
6349   void set_label_map_file(const char* value, size_t size);
6350   ::std::string* mutable_label_map_file();
6351   ::std::string* release_label_map_file();
6352   void set_allocated_label_map_file(::std::string* label_map_file);
6353
6354   // optional string name_size_file = 5;
6355   bool has_name_size_file() const;
6356   void clear_name_size_file();
6357   static const int kNameSizeFileFieldNumber = 5;
6358   const ::std::string& name_size_file() const;
6359   void set_name_size_file(const ::std::string& value);
6360   void set_name_size_file(const char* value);
6361   void set_name_size_file(const char* value, size_t size);
6362   ::std::string* mutable_name_size_file();
6363   ::std::string* release_name_size_file();
6364   void set_allocated_name_size_file(::std::string* name_size_file);
6365
6366   // optional uint32 num_test_image = 6;
6367   bool has_num_test_image() const;
6368   void clear_num_test_image();
6369   static const int kNumTestImageFieldNumber = 6;
6370   ::google::protobuf::uint32 num_test_image() const;
6371   void set_num_test_image(::google::protobuf::uint32 value);
6372
6373   // @@protoc_insertion_point(class_scope:opencv_caffe.SaveOutputParameter)
6374  private:
6375   inline void set_has_output_directory();
6376   inline void clear_has_output_directory();
6377   inline void set_has_output_name_prefix();
6378   inline void clear_has_output_name_prefix();
6379   inline void set_has_output_format();
6380   inline void clear_has_output_format();
6381   inline void set_has_label_map_file();
6382   inline void clear_has_label_map_file();
6383   inline void set_has_name_size_file();
6384   inline void clear_has_name_size_file();
6385   inline void set_has_num_test_image();
6386   inline void clear_has_num_test_image();
6387
6388   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6389   ::google::protobuf::internal::HasBits<1> _has_bits_;
6390   mutable int _cached_size_;
6391   ::google::protobuf::internal::ArenaStringPtr output_directory_;
6392   ::google::protobuf::internal::ArenaStringPtr output_name_prefix_;
6393   ::google::protobuf::internal::ArenaStringPtr output_format_;
6394   ::google::protobuf::internal::ArenaStringPtr label_map_file_;
6395   ::google::protobuf::internal::ArenaStringPtr name_size_file_;
6396   ::google::protobuf::uint32 num_test_image_;
6397   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6398   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6399   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6400   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6401
6402   void InitAsDefaultInstance();
6403 };
6404 extern ::google::protobuf::internal::ExplicitlyConstructed<SaveOutputParameter> SaveOutputParameter_default_instance_;
6405
6406 // -------------------------------------------------------------------
6407
6408 class DropoutParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DropoutParameter) */ {
6409  public:
6410   DropoutParameter();
6411   virtual ~DropoutParameter();
6412
6413   DropoutParameter(const DropoutParameter& from);
6414
6415   inline DropoutParameter& operator=(const DropoutParameter& from) {
6416     CopyFrom(from);
6417     return *this;
6418   }
6419
6420   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6421     return _internal_metadata_.unknown_fields();
6422   }
6423
6424   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6425     return _internal_metadata_.mutable_unknown_fields();
6426   }
6427
6428   static const ::google::protobuf::Descriptor* descriptor();
6429   static const DropoutParameter& default_instance();
6430
6431   static const DropoutParameter* internal_default_instance();
6432
6433   void Swap(DropoutParameter* other);
6434
6435   // implements Message ----------------------------------------------
6436
6437   inline DropoutParameter* New() const { return New(NULL); }
6438
6439   DropoutParameter* New(::google::protobuf::Arena* arena) const;
6440   void CopyFrom(const ::google::protobuf::Message& from);
6441   void MergeFrom(const ::google::protobuf::Message& from);
6442   void CopyFrom(const DropoutParameter& from);
6443   void MergeFrom(const DropoutParameter& from);
6444   void Clear();
6445   bool IsInitialized() const;
6446
6447   size_t ByteSizeLong() const;
6448   bool MergePartialFromCodedStream(
6449       ::google::protobuf::io::CodedInputStream* input);
6450   void SerializeWithCachedSizes(
6451       ::google::protobuf::io::CodedOutputStream* output) const;
6452   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6453       bool deterministic, ::google::protobuf::uint8* output) const;
6454   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6455     return InternalSerializeWithCachedSizesToArray(false, output);
6456   }
6457   int GetCachedSize() const { return _cached_size_; }
6458   private:
6459   void SharedCtor();
6460   void SharedDtor();
6461   void SetCachedSize(int size) const;
6462   void InternalSwap(DropoutParameter* other);
6463   void UnsafeMergeFrom(const DropoutParameter& from);
6464   private:
6465   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6466     return _internal_metadata_.arena();
6467   }
6468   inline void* MaybeArenaPtr() const {
6469     return _internal_metadata_.raw_arena_ptr();
6470   }
6471   public:
6472
6473   ::google::protobuf::Metadata GetMetadata() const;
6474
6475   // nested types ----------------------------------------------------
6476
6477   // accessors -------------------------------------------------------
6478
6479   // optional float dropout_ratio = 1 [default = 0.5];
6480   bool has_dropout_ratio() const;
6481   void clear_dropout_ratio();
6482   static const int kDropoutRatioFieldNumber = 1;
6483   float dropout_ratio() const;
6484   void set_dropout_ratio(float value);
6485
6486   // @@protoc_insertion_point(class_scope:opencv_caffe.DropoutParameter)
6487  private:
6488   inline void set_has_dropout_ratio();
6489   inline void clear_has_dropout_ratio();
6490
6491   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6492   ::google::protobuf::internal::HasBits<1> _has_bits_;
6493   mutable int _cached_size_;
6494   float dropout_ratio_;
6495   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6496   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6497   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6498   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6499
6500   void InitAsDefaultInstance();
6501 };
6502 extern ::google::protobuf::internal::ExplicitlyConstructed<DropoutParameter> DropoutParameter_default_instance_;
6503
6504 // -------------------------------------------------------------------
6505
6506 class DummyDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DummyDataParameter) */ {
6507  public:
6508   DummyDataParameter();
6509   virtual ~DummyDataParameter();
6510
6511   DummyDataParameter(const DummyDataParameter& from);
6512
6513   inline DummyDataParameter& operator=(const DummyDataParameter& from) {
6514     CopyFrom(from);
6515     return *this;
6516   }
6517
6518   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6519     return _internal_metadata_.unknown_fields();
6520   }
6521
6522   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6523     return _internal_metadata_.mutable_unknown_fields();
6524   }
6525
6526   static const ::google::protobuf::Descriptor* descriptor();
6527   static const DummyDataParameter& default_instance();
6528
6529   static const DummyDataParameter* internal_default_instance();
6530
6531   void Swap(DummyDataParameter* other);
6532
6533   // implements Message ----------------------------------------------
6534
6535   inline DummyDataParameter* New() const { return New(NULL); }
6536
6537   DummyDataParameter* New(::google::protobuf::Arena* arena) const;
6538   void CopyFrom(const ::google::protobuf::Message& from);
6539   void MergeFrom(const ::google::protobuf::Message& from);
6540   void CopyFrom(const DummyDataParameter& from);
6541   void MergeFrom(const DummyDataParameter& from);
6542   void Clear();
6543   bool IsInitialized() const;
6544
6545   size_t ByteSizeLong() const;
6546   bool MergePartialFromCodedStream(
6547       ::google::protobuf::io::CodedInputStream* input);
6548   void SerializeWithCachedSizes(
6549       ::google::protobuf::io::CodedOutputStream* output) const;
6550   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6551       bool deterministic, ::google::protobuf::uint8* output) const;
6552   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6553     return InternalSerializeWithCachedSizesToArray(false, output);
6554   }
6555   int GetCachedSize() const { return _cached_size_; }
6556   private:
6557   void SharedCtor();
6558   void SharedDtor();
6559   void SetCachedSize(int size) const;
6560   void InternalSwap(DummyDataParameter* other);
6561   void UnsafeMergeFrom(const DummyDataParameter& from);
6562   private:
6563   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6564     return _internal_metadata_.arena();
6565   }
6566   inline void* MaybeArenaPtr() const {
6567     return _internal_metadata_.raw_arena_ptr();
6568   }
6569   public:
6570
6571   ::google::protobuf::Metadata GetMetadata() const;
6572
6573   // nested types ----------------------------------------------------
6574
6575   // accessors -------------------------------------------------------
6576
6577   // repeated .opencv_caffe.FillerParameter data_filler = 1;
6578   int data_filler_size() const;
6579   void clear_data_filler();
6580   static const int kDataFillerFieldNumber = 1;
6581   const ::opencv_caffe::FillerParameter& data_filler(int index) const;
6582   ::opencv_caffe::FillerParameter* mutable_data_filler(int index);
6583   ::opencv_caffe::FillerParameter* add_data_filler();
6584   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >*
6585       mutable_data_filler();
6586   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >&
6587       data_filler() const;
6588
6589   // repeated .opencv_caffe.BlobShape shape = 6;
6590   int shape_size() const;
6591   void clear_shape();
6592   static const int kShapeFieldNumber = 6;
6593   const ::opencv_caffe::BlobShape& shape(int index) const;
6594   ::opencv_caffe::BlobShape* mutable_shape(int index);
6595   ::opencv_caffe::BlobShape* add_shape();
6596   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
6597       mutable_shape();
6598   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
6599       shape() const;
6600
6601   // repeated uint32 num = 2;
6602   int num_size() const;
6603   void clear_num();
6604   static const int kNumFieldNumber = 2;
6605   ::google::protobuf::uint32 num(int index) const;
6606   void set_num(int index, ::google::protobuf::uint32 value);
6607   void add_num(::google::protobuf::uint32 value);
6608   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6609       num() const;
6610   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6611       mutable_num();
6612
6613   // repeated uint32 channels = 3;
6614   int channels_size() const;
6615   void clear_channels();
6616   static const int kChannelsFieldNumber = 3;
6617   ::google::protobuf::uint32 channels(int index) const;
6618   void set_channels(int index, ::google::protobuf::uint32 value);
6619   void add_channels(::google::protobuf::uint32 value);
6620   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6621       channels() const;
6622   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6623       mutable_channels();
6624
6625   // repeated uint32 height = 4;
6626   int height_size() const;
6627   void clear_height();
6628   static const int kHeightFieldNumber = 4;
6629   ::google::protobuf::uint32 height(int index) const;
6630   void set_height(int index, ::google::protobuf::uint32 value);
6631   void add_height(::google::protobuf::uint32 value);
6632   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6633       height() const;
6634   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6635       mutable_height();
6636
6637   // repeated uint32 width = 5;
6638   int width_size() const;
6639   void clear_width();
6640   static const int kWidthFieldNumber = 5;
6641   ::google::protobuf::uint32 width(int index) const;
6642   void set_width(int index, ::google::protobuf::uint32 value);
6643   void add_width(::google::protobuf::uint32 value);
6644   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6645       width() const;
6646   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6647       mutable_width();
6648
6649   // @@protoc_insertion_point(class_scope:opencv_caffe.DummyDataParameter)
6650  private:
6651
6652   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6653   ::google::protobuf::internal::HasBits<1> _has_bits_;
6654   mutable int _cached_size_;
6655   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter > data_filler_;
6656   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape > shape_;
6657   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > num_;
6658   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > channels_;
6659   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > height_;
6660   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > width_;
6661   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6662   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6663   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6664   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6665
6666   void InitAsDefaultInstance();
6667 };
6668 extern ::google::protobuf::internal::ExplicitlyConstructed<DummyDataParameter> DummyDataParameter_default_instance_;
6669
6670 // -------------------------------------------------------------------
6671
6672 class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.EltwiseParameter) */ {
6673  public:
6674   EltwiseParameter();
6675   virtual ~EltwiseParameter();
6676
6677   EltwiseParameter(const EltwiseParameter& from);
6678
6679   inline EltwiseParameter& operator=(const EltwiseParameter& from) {
6680     CopyFrom(from);
6681     return *this;
6682   }
6683
6684   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6685     return _internal_metadata_.unknown_fields();
6686   }
6687
6688   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6689     return _internal_metadata_.mutable_unknown_fields();
6690   }
6691
6692   static const ::google::protobuf::Descriptor* descriptor();
6693   static const EltwiseParameter& default_instance();
6694
6695   static const EltwiseParameter* internal_default_instance();
6696
6697   void Swap(EltwiseParameter* other);
6698
6699   // implements Message ----------------------------------------------
6700
6701   inline EltwiseParameter* New() const { return New(NULL); }
6702
6703   EltwiseParameter* New(::google::protobuf::Arena* arena) const;
6704   void CopyFrom(const ::google::protobuf::Message& from);
6705   void MergeFrom(const ::google::protobuf::Message& from);
6706   void CopyFrom(const EltwiseParameter& from);
6707   void MergeFrom(const EltwiseParameter& from);
6708   void Clear();
6709   bool IsInitialized() const;
6710
6711   size_t ByteSizeLong() const;
6712   bool MergePartialFromCodedStream(
6713       ::google::protobuf::io::CodedInputStream* input);
6714   void SerializeWithCachedSizes(
6715       ::google::protobuf::io::CodedOutputStream* output) const;
6716   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6717       bool deterministic, ::google::protobuf::uint8* output) const;
6718   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6719     return InternalSerializeWithCachedSizesToArray(false, output);
6720   }
6721   int GetCachedSize() const { return _cached_size_; }
6722   private:
6723   void SharedCtor();
6724   void SharedDtor();
6725   void SetCachedSize(int size) const;
6726   void InternalSwap(EltwiseParameter* other);
6727   void UnsafeMergeFrom(const EltwiseParameter& from);
6728   private:
6729   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6730     return _internal_metadata_.arena();
6731   }
6732   inline void* MaybeArenaPtr() const {
6733     return _internal_metadata_.raw_arena_ptr();
6734   }
6735   public:
6736
6737   ::google::protobuf::Metadata GetMetadata() const;
6738
6739   // nested types ----------------------------------------------------
6740
6741   typedef EltwiseParameter_EltwiseOp EltwiseOp;
6742   static const EltwiseOp PROD =
6743     EltwiseParameter_EltwiseOp_PROD;
6744   static const EltwiseOp SUM =
6745     EltwiseParameter_EltwiseOp_SUM;
6746   static const EltwiseOp MAX =
6747     EltwiseParameter_EltwiseOp_MAX;
6748   static inline bool EltwiseOp_IsValid(int value) {
6749     return EltwiseParameter_EltwiseOp_IsValid(value);
6750   }
6751   static const EltwiseOp EltwiseOp_MIN =
6752     EltwiseParameter_EltwiseOp_EltwiseOp_MIN;
6753   static const EltwiseOp EltwiseOp_MAX =
6754     EltwiseParameter_EltwiseOp_EltwiseOp_MAX;
6755   static const int EltwiseOp_ARRAYSIZE =
6756     EltwiseParameter_EltwiseOp_EltwiseOp_ARRAYSIZE;
6757   static inline const ::google::protobuf::EnumDescriptor*
6758   EltwiseOp_descriptor() {
6759     return EltwiseParameter_EltwiseOp_descriptor();
6760   }
6761   static inline const ::std::string& EltwiseOp_Name(EltwiseOp value) {
6762     return EltwiseParameter_EltwiseOp_Name(value);
6763   }
6764   static inline bool EltwiseOp_Parse(const ::std::string& name,
6765       EltwiseOp* value) {
6766     return EltwiseParameter_EltwiseOp_Parse(name, value);
6767   }
6768
6769   // accessors -------------------------------------------------------
6770
6771   // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
6772   bool has_operation() const;
6773   void clear_operation();
6774   static const int kOperationFieldNumber = 1;
6775   ::opencv_caffe::EltwiseParameter_EltwiseOp operation() const;
6776   void set_operation(::opencv_caffe::EltwiseParameter_EltwiseOp value);
6777
6778   // repeated float coeff = 2;
6779   int coeff_size() const;
6780   void clear_coeff();
6781   static const int kCoeffFieldNumber = 2;
6782   float coeff(int index) const;
6783   void set_coeff(int index, float value);
6784   void add_coeff(float value);
6785   const ::google::protobuf::RepeatedField< float >&
6786       coeff() const;
6787   ::google::protobuf::RepeatedField< float >*
6788       mutable_coeff();
6789
6790   // optional bool stable_prod_grad = 3 [default = true];
6791   bool has_stable_prod_grad() const;
6792   void clear_stable_prod_grad();
6793   static const int kStableProdGradFieldNumber = 3;
6794   bool stable_prod_grad() const;
6795   void set_stable_prod_grad(bool value);
6796
6797   // @@protoc_insertion_point(class_scope:opencv_caffe.EltwiseParameter)
6798  private:
6799   inline void set_has_operation();
6800   inline void clear_has_operation();
6801   inline void set_has_stable_prod_grad();
6802   inline void clear_has_stable_prod_grad();
6803
6804   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6805   ::google::protobuf::internal::HasBits<1> _has_bits_;
6806   mutable int _cached_size_;
6807   ::google::protobuf::RepeatedField< float > coeff_;
6808   int operation_;
6809   bool stable_prod_grad_;
6810   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6811   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6812   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6813   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6814
6815   void InitAsDefaultInstance();
6816 };
6817 extern ::google::protobuf::internal::ExplicitlyConstructed<EltwiseParameter> EltwiseParameter_default_instance_;
6818
6819 // -------------------------------------------------------------------
6820
6821 class ELUParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ELUParameter) */ {
6822  public:
6823   ELUParameter();
6824   virtual ~ELUParameter();
6825
6826   ELUParameter(const ELUParameter& from);
6827
6828   inline ELUParameter& operator=(const ELUParameter& from) {
6829     CopyFrom(from);
6830     return *this;
6831   }
6832
6833   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6834     return _internal_metadata_.unknown_fields();
6835   }
6836
6837   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6838     return _internal_metadata_.mutable_unknown_fields();
6839   }
6840
6841   static const ::google::protobuf::Descriptor* descriptor();
6842   static const ELUParameter& default_instance();
6843
6844   static const ELUParameter* internal_default_instance();
6845
6846   void Swap(ELUParameter* other);
6847
6848   // implements Message ----------------------------------------------
6849
6850   inline ELUParameter* New() const { return New(NULL); }
6851
6852   ELUParameter* New(::google::protobuf::Arena* arena) const;
6853   void CopyFrom(const ::google::protobuf::Message& from);
6854   void MergeFrom(const ::google::protobuf::Message& from);
6855   void CopyFrom(const ELUParameter& from);
6856   void MergeFrom(const ELUParameter& from);
6857   void Clear();
6858   bool IsInitialized() const;
6859
6860   size_t ByteSizeLong() const;
6861   bool MergePartialFromCodedStream(
6862       ::google::protobuf::io::CodedInputStream* input);
6863   void SerializeWithCachedSizes(
6864       ::google::protobuf::io::CodedOutputStream* output) const;
6865   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6866       bool deterministic, ::google::protobuf::uint8* output) const;
6867   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6868     return InternalSerializeWithCachedSizesToArray(false, output);
6869   }
6870   int GetCachedSize() const { return _cached_size_; }
6871   private:
6872   void SharedCtor();
6873   void SharedDtor();
6874   void SetCachedSize(int size) const;
6875   void InternalSwap(ELUParameter* other);
6876   void UnsafeMergeFrom(const ELUParameter& from);
6877   private:
6878   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6879     return _internal_metadata_.arena();
6880   }
6881   inline void* MaybeArenaPtr() const {
6882     return _internal_metadata_.raw_arena_ptr();
6883   }
6884   public:
6885
6886   ::google::protobuf::Metadata GetMetadata() const;
6887
6888   // nested types ----------------------------------------------------
6889
6890   // accessors -------------------------------------------------------
6891
6892   // optional float alpha = 1 [default = 1];
6893   bool has_alpha() const;
6894   void clear_alpha();
6895   static const int kAlphaFieldNumber = 1;
6896   float alpha() const;
6897   void set_alpha(float value);
6898
6899   // @@protoc_insertion_point(class_scope:opencv_caffe.ELUParameter)
6900  private:
6901   inline void set_has_alpha();
6902   inline void clear_has_alpha();
6903
6904   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6905   ::google::protobuf::internal::HasBits<1> _has_bits_;
6906   mutable int _cached_size_;
6907   float alpha_;
6908   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6909   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6910   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6911   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6912
6913   void InitAsDefaultInstance();
6914 };
6915 extern ::google::protobuf::internal::ExplicitlyConstructed<ELUParameter> ELUParameter_default_instance_;
6916
6917 // -------------------------------------------------------------------
6918
6919 class EmbedParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.EmbedParameter) */ {
6920  public:
6921   EmbedParameter();
6922   virtual ~EmbedParameter();
6923
6924   EmbedParameter(const EmbedParameter& from);
6925
6926   inline EmbedParameter& operator=(const EmbedParameter& from) {
6927     CopyFrom(from);
6928     return *this;
6929   }
6930
6931   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6932     return _internal_metadata_.unknown_fields();
6933   }
6934
6935   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6936     return _internal_metadata_.mutable_unknown_fields();
6937   }
6938
6939   static const ::google::protobuf::Descriptor* descriptor();
6940   static const EmbedParameter& default_instance();
6941
6942   static const EmbedParameter* internal_default_instance();
6943
6944   void Swap(EmbedParameter* other);
6945
6946   // implements Message ----------------------------------------------
6947
6948   inline EmbedParameter* New() const { return New(NULL); }
6949
6950   EmbedParameter* New(::google::protobuf::Arena* arena) const;
6951   void CopyFrom(const ::google::protobuf::Message& from);
6952   void MergeFrom(const ::google::protobuf::Message& from);
6953   void CopyFrom(const EmbedParameter& from);
6954   void MergeFrom(const EmbedParameter& from);
6955   void Clear();
6956   bool IsInitialized() const;
6957
6958   size_t ByteSizeLong() const;
6959   bool MergePartialFromCodedStream(
6960       ::google::protobuf::io::CodedInputStream* input);
6961   void SerializeWithCachedSizes(
6962       ::google::protobuf::io::CodedOutputStream* output) const;
6963   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6964       bool deterministic, ::google::protobuf::uint8* output) const;
6965   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6966     return InternalSerializeWithCachedSizesToArray(false, output);
6967   }
6968   int GetCachedSize() const { return _cached_size_; }
6969   private:
6970   void SharedCtor();
6971   void SharedDtor();
6972   void SetCachedSize(int size) const;
6973   void InternalSwap(EmbedParameter* other);
6974   void UnsafeMergeFrom(const EmbedParameter& from);
6975   private:
6976   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6977     return _internal_metadata_.arena();
6978   }
6979   inline void* MaybeArenaPtr() const {
6980     return _internal_metadata_.raw_arena_ptr();
6981   }
6982   public:
6983
6984   ::google::protobuf::Metadata GetMetadata() const;
6985
6986   // nested types ----------------------------------------------------
6987
6988   // accessors -------------------------------------------------------
6989
6990   // optional uint32 num_output = 1;
6991   bool has_num_output() const;
6992   void clear_num_output();
6993   static const int kNumOutputFieldNumber = 1;
6994   ::google::protobuf::uint32 num_output() const;
6995   void set_num_output(::google::protobuf::uint32 value);
6996
6997   // optional uint32 input_dim = 2;
6998   bool has_input_dim() const;
6999   void clear_input_dim();
7000   static const int kInputDimFieldNumber = 2;
7001   ::google::protobuf::uint32 input_dim() const;
7002   void set_input_dim(::google::protobuf::uint32 value);
7003
7004   // optional bool bias_term = 3 [default = true];
7005   bool has_bias_term() const;
7006   void clear_bias_term();
7007   static const int kBiasTermFieldNumber = 3;
7008   bool bias_term() const;
7009   void set_bias_term(bool value);
7010
7011   // optional .opencv_caffe.FillerParameter weight_filler = 4;
7012   bool has_weight_filler() const;
7013   void clear_weight_filler();
7014   static const int kWeightFillerFieldNumber = 4;
7015   const ::opencv_caffe::FillerParameter& weight_filler() const;
7016   ::opencv_caffe::FillerParameter* mutable_weight_filler();
7017   ::opencv_caffe::FillerParameter* release_weight_filler();
7018   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
7019
7020   // optional .opencv_caffe.FillerParameter bias_filler = 5;
7021   bool has_bias_filler() const;
7022   void clear_bias_filler();
7023   static const int kBiasFillerFieldNumber = 5;
7024   const ::opencv_caffe::FillerParameter& bias_filler() const;
7025   ::opencv_caffe::FillerParameter* mutable_bias_filler();
7026   ::opencv_caffe::FillerParameter* release_bias_filler();
7027   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
7028
7029   // @@protoc_insertion_point(class_scope:opencv_caffe.EmbedParameter)
7030  private:
7031   inline void set_has_num_output();
7032   inline void clear_has_num_output();
7033   inline void set_has_input_dim();
7034   inline void clear_has_input_dim();
7035   inline void set_has_bias_term();
7036   inline void clear_has_bias_term();
7037   inline void set_has_weight_filler();
7038   inline void clear_has_weight_filler();
7039   inline void set_has_bias_filler();
7040   inline void clear_has_bias_filler();
7041
7042   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7043   ::google::protobuf::internal::HasBits<1> _has_bits_;
7044   mutable int _cached_size_;
7045   ::opencv_caffe::FillerParameter* weight_filler_;
7046   ::opencv_caffe::FillerParameter* bias_filler_;
7047   ::google::protobuf::uint32 num_output_;
7048   ::google::protobuf::uint32 input_dim_;
7049   bool bias_term_;
7050   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7051   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7052   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7053   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7054
7055   void InitAsDefaultInstance();
7056 };
7057 extern ::google::protobuf::internal::ExplicitlyConstructed<EmbedParameter> EmbedParameter_default_instance_;
7058
7059 // -------------------------------------------------------------------
7060
7061 class ExpParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ExpParameter) */ {
7062  public:
7063   ExpParameter();
7064   virtual ~ExpParameter();
7065
7066   ExpParameter(const ExpParameter& from);
7067
7068   inline ExpParameter& operator=(const ExpParameter& from) {
7069     CopyFrom(from);
7070     return *this;
7071   }
7072
7073   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7074     return _internal_metadata_.unknown_fields();
7075   }
7076
7077   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7078     return _internal_metadata_.mutable_unknown_fields();
7079   }
7080
7081   static const ::google::protobuf::Descriptor* descriptor();
7082   static const ExpParameter& default_instance();
7083
7084   static const ExpParameter* internal_default_instance();
7085
7086   void Swap(ExpParameter* other);
7087
7088   // implements Message ----------------------------------------------
7089
7090   inline ExpParameter* New() const { return New(NULL); }
7091
7092   ExpParameter* New(::google::protobuf::Arena* arena) const;
7093   void CopyFrom(const ::google::protobuf::Message& from);
7094   void MergeFrom(const ::google::protobuf::Message& from);
7095   void CopyFrom(const ExpParameter& from);
7096   void MergeFrom(const ExpParameter& from);
7097   void Clear();
7098   bool IsInitialized() const;
7099
7100   size_t ByteSizeLong() const;
7101   bool MergePartialFromCodedStream(
7102       ::google::protobuf::io::CodedInputStream* input);
7103   void SerializeWithCachedSizes(
7104       ::google::protobuf::io::CodedOutputStream* output) const;
7105   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7106       bool deterministic, ::google::protobuf::uint8* output) const;
7107   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7108     return InternalSerializeWithCachedSizesToArray(false, output);
7109   }
7110   int GetCachedSize() const { return _cached_size_; }
7111   private:
7112   void SharedCtor();
7113   void SharedDtor();
7114   void SetCachedSize(int size) const;
7115   void InternalSwap(ExpParameter* other);
7116   void UnsafeMergeFrom(const ExpParameter& from);
7117   private:
7118   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7119     return _internal_metadata_.arena();
7120   }
7121   inline void* MaybeArenaPtr() const {
7122     return _internal_metadata_.raw_arena_ptr();
7123   }
7124   public:
7125
7126   ::google::protobuf::Metadata GetMetadata() const;
7127
7128   // nested types ----------------------------------------------------
7129
7130   // accessors -------------------------------------------------------
7131
7132   // optional float base = 1 [default = -1];
7133   bool has_base() const;
7134   void clear_base();
7135   static const int kBaseFieldNumber = 1;
7136   float base() const;
7137   void set_base(float value);
7138
7139   // optional float scale = 2 [default = 1];
7140   bool has_scale() const;
7141   void clear_scale();
7142   static const int kScaleFieldNumber = 2;
7143   float scale() const;
7144   void set_scale(float value);
7145
7146   // optional float shift = 3 [default = 0];
7147   bool has_shift() const;
7148   void clear_shift();
7149   static const int kShiftFieldNumber = 3;
7150   float shift() const;
7151   void set_shift(float value);
7152
7153   // @@protoc_insertion_point(class_scope:opencv_caffe.ExpParameter)
7154  private:
7155   inline void set_has_base();
7156   inline void clear_has_base();
7157   inline void set_has_scale();
7158   inline void clear_has_scale();
7159   inline void set_has_shift();
7160   inline void clear_has_shift();
7161
7162   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7163   ::google::protobuf::internal::HasBits<1> _has_bits_;
7164   mutable int _cached_size_;
7165   float shift_;
7166   float base_;
7167   float scale_;
7168   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7169   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7170   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7171   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7172
7173   void InitAsDefaultInstance();
7174 };
7175 extern ::google::protobuf::internal::ExplicitlyConstructed<ExpParameter> ExpParameter_default_instance_;
7176
7177 // -------------------------------------------------------------------
7178
7179 class FlattenParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.FlattenParameter) */ {
7180  public:
7181   FlattenParameter();
7182   virtual ~FlattenParameter();
7183
7184   FlattenParameter(const FlattenParameter& from);
7185
7186   inline FlattenParameter& operator=(const FlattenParameter& from) {
7187     CopyFrom(from);
7188     return *this;
7189   }
7190
7191   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7192     return _internal_metadata_.unknown_fields();
7193   }
7194
7195   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7196     return _internal_metadata_.mutable_unknown_fields();
7197   }
7198
7199   static const ::google::protobuf::Descriptor* descriptor();
7200   static const FlattenParameter& default_instance();
7201
7202   static const FlattenParameter* internal_default_instance();
7203
7204   void Swap(FlattenParameter* other);
7205
7206   // implements Message ----------------------------------------------
7207
7208   inline FlattenParameter* New() const { return New(NULL); }
7209
7210   FlattenParameter* New(::google::protobuf::Arena* arena) const;
7211   void CopyFrom(const ::google::protobuf::Message& from);
7212   void MergeFrom(const ::google::protobuf::Message& from);
7213   void CopyFrom(const FlattenParameter& from);
7214   void MergeFrom(const FlattenParameter& from);
7215   void Clear();
7216   bool IsInitialized() const;
7217
7218   size_t ByteSizeLong() const;
7219   bool MergePartialFromCodedStream(
7220       ::google::protobuf::io::CodedInputStream* input);
7221   void SerializeWithCachedSizes(
7222       ::google::protobuf::io::CodedOutputStream* output) const;
7223   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7224       bool deterministic, ::google::protobuf::uint8* output) const;
7225   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7226     return InternalSerializeWithCachedSizesToArray(false, output);
7227   }
7228   int GetCachedSize() const { return _cached_size_; }
7229   private:
7230   void SharedCtor();
7231   void SharedDtor();
7232   void SetCachedSize(int size) const;
7233   void InternalSwap(FlattenParameter* other);
7234   void UnsafeMergeFrom(const FlattenParameter& from);
7235   private:
7236   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7237     return _internal_metadata_.arena();
7238   }
7239   inline void* MaybeArenaPtr() const {
7240     return _internal_metadata_.raw_arena_ptr();
7241   }
7242   public:
7243
7244   ::google::protobuf::Metadata GetMetadata() const;
7245
7246   // nested types ----------------------------------------------------
7247
7248   // accessors -------------------------------------------------------
7249
7250   // optional int32 axis = 1 [default = 1];
7251   bool has_axis() const;
7252   void clear_axis();
7253   static const int kAxisFieldNumber = 1;
7254   ::google::protobuf::int32 axis() const;
7255   void set_axis(::google::protobuf::int32 value);
7256
7257   // optional int32 end_axis = 2 [default = -1];
7258   bool has_end_axis() const;
7259   void clear_end_axis();
7260   static const int kEndAxisFieldNumber = 2;
7261   ::google::protobuf::int32 end_axis() const;
7262   void set_end_axis(::google::protobuf::int32 value);
7263
7264   // @@protoc_insertion_point(class_scope:opencv_caffe.FlattenParameter)
7265  private:
7266   inline void set_has_axis();
7267   inline void clear_has_axis();
7268   inline void set_has_end_axis();
7269   inline void clear_has_end_axis();
7270
7271   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7272   ::google::protobuf::internal::HasBits<1> _has_bits_;
7273   mutable int _cached_size_;
7274   ::google::protobuf::int32 axis_;
7275   ::google::protobuf::int32 end_axis_;
7276   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7277   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7278   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7279   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7280
7281   void InitAsDefaultInstance();
7282 };
7283 extern ::google::protobuf::internal::ExplicitlyConstructed<FlattenParameter> FlattenParameter_default_instance_;
7284
7285 // -------------------------------------------------------------------
7286
7287 class HDF5DataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.HDF5DataParameter) */ {
7288  public:
7289   HDF5DataParameter();
7290   virtual ~HDF5DataParameter();
7291
7292   HDF5DataParameter(const HDF5DataParameter& from);
7293
7294   inline HDF5DataParameter& operator=(const HDF5DataParameter& from) {
7295     CopyFrom(from);
7296     return *this;
7297   }
7298
7299   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7300     return _internal_metadata_.unknown_fields();
7301   }
7302
7303   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7304     return _internal_metadata_.mutable_unknown_fields();
7305   }
7306
7307   static const ::google::protobuf::Descriptor* descriptor();
7308   static const HDF5DataParameter& default_instance();
7309
7310   static const HDF5DataParameter* internal_default_instance();
7311
7312   void Swap(HDF5DataParameter* other);
7313
7314   // implements Message ----------------------------------------------
7315
7316   inline HDF5DataParameter* New() const { return New(NULL); }
7317
7318   HDF5DataParameter* New(::google::protobuf::Arena* arena) const;
7319   void CopyFrom(const ::google::protobuf::Message& from);
7320   void MergeFrom(const ::google::protobuf::Message& from);
7321   void CopyFrom(const HDF5DataParameter& from);
7322   void MergeFrom(const HDF5DataParameter& from);
7323   void Clear();
7324   bool IsInitialized() const;
7325
7326   size_t ByteSizeLong() const;
7327   bool MergePartialFromCodedStream(
7328       ::google::protobuf::io::CodedInputStream* input);
7329   void SerializeWithCachedSizes(
7330       ::google::protobuf::io::CodedOutputStream* output) const;
7331   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7332       bool deterministic, ::google::protobuf::uint8* output) const;
7333   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7334     return InternalSerializeWithCachedSizesToArray(false, output);
7335   }
7336   int GetCachedSize() const { return _cached_size_; }
7337   private:
7338   void SharedCtor();
7339   void SharedDtor();
7340   void SetCachedSize(int size) const;
7341   void InternalSwap(HDF5DataParameter* other);
7342   void UnsafeMergeFrom(const HDF5DataParameter& from);
7343   private:
7344   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7345     return _internal_metadata_.arena();
7346   }
7347   inline void* MaybeArenaPtr() const {
7348     return _internal_metadata_.raw_arena_ptr();
7349   }
7350   public:
7351
7352   ::google::protobuf::Metadata GetMetadata() const;
7353
7354   // nested types ----------------------------------------------------
7355
7356   // accessors -------------------------------------------------------
7357
7358   // optional string source = 1;
7359   bool has_source() const;
7360   void clear_source();
7361   static const int kSourceFieldNumber = 1;
7362   const ::std::string& source() const;
7363   void set_source(const ::std::string& value);
7364   void set_source(const char* value);
7365   void set_source(const char* value, size_t size);
7366   ::std::string* mutable_source();
7367   ::std::string* release_source();
7368   void set_allocated_source(::std::string* source);
7369
7370   // optional uint32 batch_size = 2;
7371   bool has_batch_size() const;
7372   void clear_batch_size();
7373   static const int kBatchSizeFieldNumber = 2;
7374   ::google::protobuf::uint32 batch_size() const;
7375   void set_batch_size(::google::protobuf::uint32 value);
7376
7377   // optional bool shuffle = 3 [default = false];
7378   bool has_shuffle() const;
7379   void clear_shuffle();
7380   static const int kShuffleFieldNumber = 3;
7381   bool shuffle() const;
7382   void set_shuffle(bool value);
7383
7384   // @@protoc_insertion_point(class_scope:opencv_caffe.HDF5DataParameter)
7385  private:
7386   inline void set_has_source();
7387   inline void clear_has_source();
7388   inline void set_has_batch_size();
7389   inline void clear_has_batch_size();
7390   inline void set_has_shuffle();
7391   inline void clear_has_shuffle();
7392
7393   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7394   ::google::protobuf::internal::HasBits<1> _has_bits_;
7395   mutable int _cached_size_;
7396   ::google::protobuf::internal::ArenaStringPtr source_;
7397   ::google::protobuf::uint32 batch_size_;
7398   bool shuffle_;
7399   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7400   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7401   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7402   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7403
7404   void InitAsDefaultInstance();
7405 };
7406 extern ::google::protobuf::internal::ExplicitlyConstructed<HDF5DataParameter> HDF5DataParameter_default_instance_;
7407
7408 // -------------------------------------------------------------------
7409
7410 class HDF5OutputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.HDF5OutputParameter) */ {
7411  public:
7412   HDF5OutputParameter();
7413   virtual ~HDF5OutputParameter();
7414
7415   HDF5OutputParameter(const HDF5OutputParameter& from);
7416
7417   inline HDF5OutputParameter& operator=(const HDF5OutputParameter& from) {
7418     CopyFrom(from);
7419     return *this;
7420   }
7421
7422   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7423     return _internal_metadata_.unknown_fields();
7424   }
7425
7426   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7427     return _internal_metadata_.mutable_unknown_fields();
7428   }
7429
7430   static const ::google::protobuf::Descriptor* descriptor();
7431   static const HDF5OutputParameter& default_instance();
7432
7433   static const HDF5OutputParameter* internal_default_instance();
7434
7435   void Swap(HDF5OutputParameter* other);
7436
7437   // implements Message ----------------------------------------------
7438
7439   inline HDF5OutputParameter* New() const { return New(NULL); }
7440
7441   HDF5OutputParameter* New(::google::protobuf::Arena* arena) const;
7442   void CopyFrom(const ::google::protobuf::Message& from);
7443   void MergeFrom(const ::google::protobuf::Message& from);
7444   void CopyFrom(const HDF5OutputParameter& from);
7445   void MergeFrom(const HDF5OutputParameter& from);
7446   void Clear();
7447   bool IsInitialized() const;
7448
7449   size_t ByteSizeLong() const;
7450   bool MergePartialFromCodedStream(
7451       ::google::protobuf::io::CodedInputStream* input);
7452   void SerializeWithCachedSizes(
7453       ::google::protobuf::io::CodedOutputStream* output) const;
7454   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7455       bool deterministic, ::google::protobuf::uint8* output) const;
7456   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7457     return InternalSerializeWithCachedSizesToArray(false, output);
7458   }
7459   int GetCachedSize() const { return _cached_size_; }
7460   private:
7461   void SharedCtor();
7462   void SharedDtor();
7463   void SetCachedSize(int size) const;
7464   void InternalSwap(HDF5OutputParameter* other);
7465   void UnsafeMergeFrom(const HDF5OutputParameter& from);
7466   private:
7467   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7468     return _internal_metadata_.arena();
7469   }
7470   inline void* MaybeArenaPtr() const {
7471     return _internal_metadata_.raw_arena_ptr();
7472   }
7473   public:
7474
7475   ::google::protobuf::Metadata GetMetadata() const;
7476
7477   // nested types ----------------------------------------------------
7478
7479   // accessors -------------------------------------------------------
7480
7481   // optional string file_name = 1;
7482   bool has_file_name() const;
7483   void clear_file_name();
7484   static const int kFileNameFieldNumber = 1;
7485   const ::std::string& file_name() const;
7486   void set_file_name(const ::std::string& value);
7487   void set_file_name(const char* value);
7488   void set_file_name(const char* value, size_t size);
7489   ::std::string* mutable_file_name();
7490   ::std::string* release_file_name();
7491   void set_allocated_file_name(::std::string* file_name);
7492
7493   // @@protoc_insertion_point(class_scope:opencv_caffe.HDF5OutputParameter)
7494  private:
7495   inline void set_has_file_name();
7496   inline void clear_has_file_name();
7497
7498   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7499   ::google::protobuf::internal::HasBits<1> _has_bits_;
7500   mutable int _cached_size_;
7501   ::google::protobuf::internal::ArenaStringPtr file_name_;
7502   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7503   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7504   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7505   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7506
7507   void InitAsDefaultInstance();
7508 };
7509 extern ::google::protobuf::internal::ExplicitlyConstructed<HDF5OutputParameter> HDF5OutputParameter_default_instance_;
7510
7511 // -------------------------------------------------------------------
7512
7513 class HingeLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.HingeLossParameter) */ {
7514  public:
7515   HingeLossParameter();
7516   virtual ~HingeLossParameter();
7517
7518   HingeLossParameter(const HingeLossParameter& from);
7519
7520   inline HingeLossParameter& operator=(const HingeLossParameter& from) {
7521     CopyFrom(from);
7522     return *this;
7523   }
7524
7525   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7526     return _internal_metadata_.unknown_fields();
7527   }
7528
7529   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7530     return _internal_metadata_.mutable_unknown_fields();
7531   }
7532
7533   static const ::google::protobuf::Descriptor* descriptor();
7534   static const HingeLossParameter& default_instance();
7535
7536   static const HingeLossParameter* internal_default_instance();
7537
7538   void Swap(HingeLossParameter* other);
7539
7540   // implements Message ----------------------------------------------
7541
7542   inline HingeLossParameter* New() const { return New(NULL); }
7543
7544   HingeLossParameter* New(::google::protobuf::Arena* arena) const;
7545   void CopyFrom(const ::google::protobuf::Message& from);
7546   void MergeFrom(const ::google::protobuf::Message& from);
7547   void CopyFrom(const HingeLossParameter& from);
7548   void MergeFrom(const HingeLossParameter& from);
7549   void Clear();
7550   bool IsInitialized() const;
7551
7552   size_t ByteSizeLong() const;
7553   bool MergePartialFromCodedStream(
7554       ::google::protobuf::io::CodedInputStream* input);
7555   void SerializeWithCachedSizes(
7556       ::google::protobuf::io::CodedOutputStream* output) const;
7557   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7558       bool deterministic, ::google::protobuf::uint8* output) const;
7559   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7560     return InternalSerializeWithCachedSizesToArray(false, output);
7561   }
7562   int GetCachedSize() const { return _cached_size_; }
7563   private:
7564   void SharedCtor();
7565   void SharedDtor();
7566   void SetCachedSize(int size) const;
7567   void InternalSwap(HingeLossParameter* other);
7568   void UnsafeMergeFrom(const HingeLossParameter& from);
7569   private:
7570   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7571     return _internal_metadata_.arena();
7572   }
7573   inline void* MaybeArenaPtr() const {
7574     return _internal_metadata_.raw_arena_ptr();
7575   }
7576   public:
7577
7578   ::google::protobuf::Metadata GetMetadata() const;
7579
7580   // nested types ----------------------------------------------------
7581
7582   typedef HingeLossParameter_Norm Norm;
7583   static const Norm L1 =
7584     HingeLossParameter_Norm_L1;
7585   static const Norm L2 =
7586     HingeLossParameter_Norm_L2;
7587   static inline bool Norm_IsValid(int value) {
7588     return HingeLossParameter_Norm_IsValid(value);
7589   }
7590   static const Norm Norm_MIN =
7591     HingeLossParameter_Norm_Norm_MIN;
7592   static const Norm Norm_MAX =
7593     HingeLossParameter_Norm_Norm_MAX;
7594   static const int Norm_ARRAYSIZE =
7595     HingeLossParameter_Norm_Norm_ARRAYSIZE;
7596   static inline const ::google::protobuf::EnumDescriptor*
7597   Norm_descriptor() {
7598     return HingeLossParameter_Norm_descriptor();
7599   }
7600   static inline const ::std::string& Norm_Name(Norm value) {
7601     return HingeLossParameter_Norm_Name(value);
7602   }
7603   static inline bool Norm_Parse(const ::std::string& name,
7604       Norm* value) {
7605     return HingeLossParameter_Norm_Parse(name, value);
7606   }
7607
7608   // accessors -------------------------------------------------------
7609
7610   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
7611   bool has_norm() const;
7612   void clear_norm();
7613   static const int kNormFieldNumber = 1;
7614   ::opencv_caffe::HingeLossParameter_Norm norm() const;
7615   void set_norm(::opencv_caffe::HingeLossParameter_Norm value);
7616
7617   // @@protoc_insertion_point(class_scope:opencv_caffe.HingeLossParameter)
7618  private:
7619   inline void set_has_norm();
7620   inline void clear_has_norm();
7621
7622   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7623   ::google::protobuf::internal::HasBits<1> _has_bits_;
7624   mutable int _cached_size_;
7625   int norm_;
7626   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7627   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7628   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7629   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7630
7631   void InitAsDefaultInstance();
7632 };
7633 extern ::google::protobuf::internal::ExplicitlyConstructed<HingeLossParameter> HingeLossParameter_default_instance_;
7634
7635 // -------------------------------------------------------------------
7636
7637 class ImageDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ImageDataParameter) */ {
7638  public:
7639   ImageDataParameter();
7640   virtual ~ImageDataParameter();
7641
7642   ImageDataParameter(const ImageDataParameter& from);
7643
7644   inline ImageDataParameter& operator=(const ImageDataParameter& from) {
7645     CopyFrom(from);
7646     return *this;
7647   }
7648
7649   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7650     return _internal_metadata_.unknown_fields();
7651   }
7652
7653   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7654     return _internal_metadata_.mutable_unknown_fields();
7655   }
7656
7657   static const ::google::protobuf::Descriptor* descriptor();
7658   static const ImageDataParameter& default_instance();
7659
7660   static const ImageDataParameter* internal_default_instance();
7661
7662   void Swap(ImageDataParameter* other);
7663
7664   // implements Message ----------------------------------------------
7665
7666   inline ImageDataParameter* New() const { return New(NULL); }
7667
7668   ImageDataParameter* New(::google::protobuf::Arena* arena) const;
7669   void CopyFrom(const ::google::protobuf::Message& from);
7670   void MergeFrom(const ::google::protobuf::Message& from);
7671   void CopyFrom(const ImageDataParameter& from);
7672   void MergeFrom(const ImageDataParameter& from);
7673   void Clear();
7674   bool IsInitialized() const;
7675
7676   size_t ByteSizeLong() const;
7677   bool MergePartialFromCodedStream(
7678       ::google::protobuf::io::CodedInputStream* input);
7679   void SerializeWithCachedSizes(
7680       ::google::protobuf::io::CodedOutputStream* output) const;
7681   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7682       bool deterministic, ::google::protobuf::uint8* output) const;
7683   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7684     return InternalSerializeWithCachedSizesToArray(false, output);
7685   }
7686   int GetCachedSize() const { return _cached_size_; }
7687   private:
7688   void SharedCtor();
7689   void SharedDtor();
7690   void SetCachedSize(int size) const;
7691   void InternalSwap(ImageDataParameter* other);
7692   void UnsafeMergeFrom(const ImageDataParameter& from);
7693   private:
7694   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7695     return _internal_metadata_.arena();
7696   }
7697   inline void* MaybeArenaPtr() const {
7698     return _internal_metadata_.raw_arena_ptr();
7699   }
7700   public:
7701
7702   ::google::protobuf::Metadata GetMetadata() const;
7703
7704   // nested types ----------------------------------------------------
7705
7706   // accessors -------------------------------------------------------
7707
7708   // optional string source = 1;
7709   bool has_source() const;
7710   void clear_source();
7711   static const int kSourceFieldNumber = 1;
7712   const ::std::string& source() const;
7713   void set_source(const ::std::string& value);
7714   void set_source(const char* value);
7715   void set_source(const char* value, size_t size);
7716   ::std::string* mutable_source();
7717   ::std::string* release_source();
7718   void set_allocated_source(::std::string* source);
7719
7720   // optional uint32 batch_size = 4 [default = 1];
7721   bool has_batch_size() const;
7722   void clear_batch_size();
7723   static const int kBatchSizeFieldNumber = 4;
7724   ::google::protobuf::uint32 batch_size() const;
7725   void set_batch_size(::google::protobuf::uint32 value);
7726
7727   // optional uint32 rand_skip = 7 [default = 0];
7728   bool has_rand_skip() const;
7729   void clear_rand_skip();
7730   static const int kRandSkipFieldNumber = 7;
7731   ::google::protobuf::uint32 rand_skip() const;
7732   void set_rand_skip(::google::protobuf::uint32 value);
7733
7734   // optional bool shuffle = 8 [default = false];
7735   bool has_shuffle() const;
7736   void clear_shuffle();
7737   static const int kShuffleFieldNumber = 8;
7738   bool shuffle() const;
7739   void set_shuffle(bool value);
7740
7741   // optional uint32 new_height = 9 [default = 0];
7742   bool has_new_height() const;
7743   void clear_new_height();
7744   static const int kNewHeightFieldNumber = 9;
7745   ::google::protobuf::uint32 new_height() const;
7746   void set_new_height(::google::protobuf::uint32 value);
7747
7748   // optional uint32 new_width = 10 [default = 0];
7749   bool has_new_width() const;
7750   void clear_new_width();
7751   static const int kNewWidthFieldNumber = 10;
7752   ::google::protobuf::uint32 new_width() const;
7753   void set_new_width(::google::protobuf::uint32 value);
7754
7755   // optional bool is_color = 11 [default = true];
7756   bool has_is_color() const;
7757   void clear_is_color();
7758   static const int kIsColorFieldNumber = 11;
7759   bool is_color() const;
7760   void set_is_color(bool value);
7761
7762   // optional float scale = 2 [default = 1];
7763   bool has_scale() const;
7764   void clear_scale();
7765   static const int kScaleFieldNumber = 2;
7766   float scale() const;
7767   void set_scale(float value);
7768
7769   // optional string mean_file = 3;
7770   bool has_mean_file() const;
7771   void clear_mean_file();
7772   static const int kMeanFileFieldNumber = 3;
7773   const ::std::string& mean_file() const;
7774   void set_mean_file(const ::std::string& value);
7775   void set_mean_file(const char* value);
7776   void set_mean_file(const char* value, size_t size);
7777   ::std::string* mutable_mean_file();
7778   ::std::string* release_mean_file();
7779   void set_allocated_mean_file(::std::string* mean_file);
7780
7781   // optional uint32 crop_size = 5 [default = 0];
7782   bool has_crop_size() const;
7783   void clear_crop_size();
7784   static const int kCropSizeFieldNumber = 5;
7785   ::google::protobuf::uint32 crop_size() const;
7786   void set_crop_size(::google::protobuf::uint32 value);
7787
7788   // optional bool mirror = 6 [default = false];
7789   bool has_mirror() const;
7790   void clear_mirror();
7791   static const int kMirrorFieldNumber = 6;
7792   bool mirror() const;
7793   void set_mirror(bool value);
7794
7795   // optional string root_folder = 12 [default = ""];
7796   bool has_root_folder() const;
7797   void clear_root_folder();
7798   static const int kRootFolderFieldNumber = 12;
7799   const ::std::string& root_folder() const;
7800   void set_root_folder(const ::std::string& value);
7801   void set_root_folder(const char* value);
7802   void set_root_folder(const char* value, size_t size);
7803   ::std::string* mutable_root_folder();
7804   ::std::string* release_root_folder();
7805   void set_allocated_root_folder(::std::string* root_folder);
7806
7807   // @@protoc_insertion_point(class_scope:opencv_caffe.ImageDataParameter)
7808  private:
7809   inline void set_has_source();
7810   inline void clear_has_source();
7811   inline void set_has_batch_size();
7812   inline void clear_has_batch_size();
7813   inline void set_has_rand_skip();
7814   inline void clear_has_rand_skip();
7815   inline void set_has_shuffle();
7816   inline void clear_has_shuffle();
7817   inline void set_has_new_height();
7818   inline void clear_has_new_height();
7819   inline void set_has_new_width();
7820   inline void clear_has_new_width();
7821   inline void set_has_is_color();
7822   inline void clear_has_is_color();
7823   inline void set_has_scale();
7824   inline void clear_has_scale();
7825   inline void set_has_mean_file();
7826   inline void clear_has_mean_file();
7827   inline void set_has_crop_size();
7828   inline void clear_has_crop_size();
7829   inline void set_has_mirror();
7830   inline void clear_has_mirror();
7831   inline void set_has_root_folder();
7832   inline void clear_has_root_folder();
7833
7834   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7835   ::google::protobuf::internal::HasBits<1> _has_bits_;
7836   mutable int _cached_size_;
7837   ::google::protobuf::internal::ArenaStringPtr source_;
7838   ::google::protobuf::internal::ArenaStringPtr mean_file_;
7839   ::google::protobuf::internal::ArenaStringPtr root_folder_;
7840   ::google::protobuf::uint32 rand_skip_;
7841   ::google::protobuf::uint32 new_height_;
7842   ::google::protobuf::uint32 new_width_;
7843   bool shuffle_;
7844   bool mirror_;
7845   ::google::protobuf::uint32 crop_size_;
7846   float scale_;
7847   ::google::protobuf::uint32 batch_size_;
7848   bool is_color_;
7849   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7850   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7851   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7852   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7853
7854   void InitAsDefaultInstance();
7855 };
7856 extern ::google::protobuf::internal::ExplicitlyConstructed<ImageDataParameter> ImageDataParameter_default_instance_;
7857
7858 // -------------------------------------------------------------------
7859
7860 class InfogainLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.InfogainLossParameter) */ {
7861  public:
7862   InfogainLossParameter();
7863   virtual ~InfogainLossParameter();
7864
7865   InfogainLossParameter(const InfogainLossParameter& from);
7866
7867   inline InfogainLossParameter& operator=(const InfogainLossParameter& from) {
7868     CopyFrom(from);
7869     return *this;
7870   }
7871
7872   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7873     return _internal_metadata_.unknown_fields();
7874   }
7875
7876   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7877     return _internal_metadata_.mutable_unknown_fields();
7878   }
7879
7880   static const ::google::protobuf::Descriptor* descriptor();
7881   static const InfogainLossParameter& default_instance();
7882
7883   static const InfogainLossParameter* internal_default_instance();
7884
7885   void Swap(InfogainLossParameter* other);
7886
7887   // implements Message ----------------------------------------------
7888
7889   inline InfogainLossParameter* New() const { return New(NULL); }
7890
7891   InfogainLossParameter* New(::google::protobuf::Arena* arena) const;
7892   void CopyFrom(const ::google::protobuf::Message& from);
7893   void MergeFrom(const ::google::protobuf::Message& from);
7894   void CopyFrom(const InfogainLossParameter& from);
7895   void MergeFrom(const InfogainLossParameter& from);
7896   void Clear();
7897   bool IsInitialized() const;
7898
7899   size_t ByteSizeLong() const;
7900   bool MergePartialFromCodedStream(
7901       ::google::protobuf::io::CodedInputStream* input);
7902   void SerializeWithCachedSizes(
7903       ::google::protobuf::io::CodedOutputStream* output) const;
7904   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7905       bool deterministic, ::google::protobuf::uint8* output) const;
7906   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7907     return InternalSerializeWithCachedSizesToArray(false, output);
7908   }
7909   int GetCachedSize() const { return _cached_size_; }
7910   private:
7911   void SharedCtor();
7912   void SharedDtor();
7913   void SetCachedSize(int size) const;
7914   void InternalSwap(InfogainLossParameter* other);
7915   void UnsafeMergeFrom(const InfogainLossParameter& from);
7916   private:
7917   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7918     return _internal_metadata_.arena();
7919   }
7920   inline void* MaybeArenaPtr() const {
7921     return _internal_metadata_.raw_arena_ptr();
7922   }
7923   public:
7924
7925   ::google::protobuf::Metadata GetMetadata() const;
7926
7927   // nested types ----------------------------------------------------
7928
7929   // accessors -------------------------------------------------------
7930
7931   // optional string source = 1;
7932   bool has_source() const;
7933   void clear_source();
7934   static const int kSourceFieldNumber = 1;
7935   const ::std::string& source() const;
7936   void set_source(const ::std::string& value);
7937   void set_source(const char* value);
7938   void set_source(const char* value, size_t size);
7939   ::std::string* mutable_source();
7940   ::std::string* release_source();
7941   void set_allocated_source(::std::string* source);
7942
7943   // @@protoc_insertion_point(class_scope:opencv_caffe.InfogainLossParameter)
7944  private:
7945   inline void set_has_source();
7946   inline void clear_has_source();
7947
7948   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7949   ::google::protobuf::internal::HasBits<1> _has_bits_;
7950   mutable int _cached_size_;
7951   ::google::protobuf::internal::ArenaStringPtr source_;
7952   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7953   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7954   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7955   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7956
7957   void InitAsDefaultInstance();
7958 };
7959 extern ::google::protobuf::internal::ExplicitlyConstructed<InfogainLossParameter> InfogainLossParameter_default_instance_;
7960
7961 // -------------------------------------------------------------------
7962
7963 class InnerProductParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.InnerProductParameter) */ {
7964  public:
7965   InnerProductParameter();
7966   virtual ~InnerProductParameter();
7967
7968   InnerProductParameter(const InnerProductParameter& from);
7969
7970   inline InnerProductParameter& operator=(const InnerProductParameter& from) {
7971     CopyFrom(from);
7972     return *this;
7973   }
7974
7975   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7976     return _internal_metadata_.unknown_fields();
7977   }
7978
7979   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7980     return _internal_metadata_.mutable_unknown_fields();
7981   }
7982
7983   static const ::google::protobuf::Descriptor* descriptor();
7984   static const InnerProductParameter& default_instance();
7985
7986   static const InnerProductParameter* internal_default_instance();
7987
7988   void Swap(InnerProductParameter* other);
7989
7990   // implements Message ----------------------------------------------
7991
7992   inline InnerProductParameter* New() const { return New(NULL); }
7993
7994   InnerProductParameter* New(::google::protobuf::Arena* arena) const;
7995   void CopyFrom(const ::google::protobuf::Message& from);
7996   void MergeFrom(const ::google::protobuf::Message& from);
7997   void CopyFrom(const InnerProductParameter& from);
7998   void MergeFrom(const InnerProductParameter& from);
7999   void Clear();
8000   bool IsInitialized() const;
8001
8002   size_t ByteSizeLong() const;
8003   bool MergePartialFromCodedStream(
8004       ::google::protobuf::io::CodedInputStream* input);
8005   void SerializeWithCachedSizes(
8006       ::google::protobuf::io::CodedOutputStream* output) const;
8007   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8008       bool deterministic, ::google::protobuf::uint8* output) const;
8009   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8010     return InternalSerializeWithCachedSizesToArray(false, output);
8011   }
8012   int GetCachedSize() const { return _cached_size_; }
8013   private:
8014   void SharedCtor();
8015   void SharedDtor();
8016   void SetCachedSize(int size) const;
8017   void InternalSwap(InnerProductParameter* other);
8018   void UnsafeMergeFrom(const InnerProductParameter& from);
8019   private:
8020   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8021     return _internal_metadata_.arena();
8022   }
8023   inline void* MaybeArenaPtr() const {
8024     return _internal_metadata_.raw_arena_ptr();
8025   }
8026   public:
8027
8028   ::google::protobuf::Metadata GetMetadata() const;
8029
8030   // nested types ----------------------------------------------------
8031
8032   // accessors -------------------------------------------------------
8033
8034   // optional uint32 num_output = 1;
8035   bool has_num_output() const;
8036   void clear_num_output();
8037   static const int kNumOutputFieldNumber = 1;
8038   ::google::protobuf::uint32 num_output() const;
8039   void set_num_output(::google::protobuf::uint32 value);
8040
8041   // optional bool bias_term = 2 [default = true];
8042   bool has_bias_term() const;
8043   void clear_bias_term();
8044   static const int kBiasTermFieldNumber = 2;
8045   bool bias_term() const;
8046   void set_bias_term(bool value);
8047
8048   // optional .opencv_caffe.FillerParameter weight_filler = 3;
8049   bool has_weight_filler() const;
8050   void clear_weight_filler();
8051   static const int kWeightFillerFieldNumber = 3;
8052   const ::opencv_caffe::FillerParameter& weight_filler() const;
8053   ::opencv_caffe::FillerParameter* mutable_weight_filler();
8054   ::opencv_caffe::FillerParameter* release_weight_filler();
8055   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
8056
8057   // optional .opencv_caffe.FillerParameter bias_filler = 4;
8058   bool has_bias_filler() const;
8059   void clear_bias_filler();
8060   static const int kBiasFillerFieldNumber = 4;
8061   const ::opencv_caffe::FillerParameter& bias_filler() const;
8062   ::opencv_caffe::FillerParameter* mutable_bias_filler();
8063   ::opencv_caffe::FillerParameter* release_bias_filler();
8064   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
8065
8066   // optional int32 axis = 5 [default = 1];
8067   bool has_axis() const;
8068   void clear_axis();
8069   static const int kAxisFieldNumber = 5;
8070   ::google::protobuf::int32 axis() const;
8071   void set_axis(::google::protobuf::int32 value);
8072
8073   // optional bool transpose = 6 [default = false];
8074   bool has_transpose() const;
8075   void clear_transpose();
8076   static const int kTransposeFieldNumber = 6;
8077   bool transpose() const;
8078   void set_transpose(bool value);
8079
8080   // @@protoc_insertion_point(class_scope:opencv_caffe.InnerProductParameter)
8081  private:
8082   inline void set_has_num_output();
8083   inline void clear_has_num_output();
8084   inline void set_has_bias_term();
8085   inline void clear_has_bias_term();
8086   inline void set_has_weight_filler();
8087   inline void clear_has_weight_filler();
8088   inline void set_has_bias_filler();
8089   inline void clear_has_bias_filler();
8090   inline void set_has_axis();
8091   inline void clear_has_axis();
8092   inline void set_has_transpose();
8093   inline void clear_has_transpose();
8094
8095   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8096   ::google::protobuf::internal::HasBits<1> _has_bits_;
8097   mutable int _cached_size_;
8098   ::opencv_caffe::FillerParameter* weight_filler_;
8099   ::opencv_caffe::FillerParameter* bias_filler_;
8100   ::google::protobuf::uint32 num_output_;
8101   bool transpose_;
8102   bool bias_term_;
8103   ::google::protobuf::int32 axis_;
8104   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8105   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8106   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8107   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8108
8109   void InitAsDefaultInstance();
8110 };
8111 extern ::google::protobuf::internal::ExplicitlyConstructed<InnerProductParameter> InnerProductParameter_default_instance_;
8112
8113 // -------------------------------------------------------------------
8114
8115 class InputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.InputParameter) */ {
8116  public:
8117   InputParameter();
8118   virtual ~InputParameter();
8119
8120   InputParameter(const InputParameter& from);
8121
8122   inline InputParameter& operator=(const InputParameter& from) {
8123     CopyFrom(from);
8124     return *this;
8125   }
8126
8127   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8128     return _internal_metadata_.unknown_fields();
8129   }
8130
8131   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8132     return _internal_metadata_.mutable_unknown_fields();
8133   }
8134
8135   static const ::google::protobuf::Descriptor* descriptor();
8136   static const InputParameter& default_instance();
8137
8138   static const InputParameter* internal_default_instance();
8139
8140   void Swap(InputParameter* other);
8141
8142   // implements Message ----------------------------------------------
8143
8144   inline InputParameter* New() const { return New(NULL); }
8145
8146   InputParameter* New(::google::protobuf::Arena* arena) const;
8147   void CopyFrom(const ::google::protobuf::Message& from);
8148   void MergeFrom(const ::google::protobuf::Message& from);
8149   void CopyFrom(const InputParameter& from);
8150   void MergeFrom(const InputParameter& from);
8151   void Clear();
8152   bool IsInitialized() const;
8153
8154   size_t ByteSizeLong() const;
8155   bool MergePartialFromCodedStream(
8156       ::google::protobuf::io::CodedInputStream* input);
8157   void SerializeWithCachedSizes(
8158       ::google::protobuf::io::CodedOutputStream* output) const;
8159   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8160       bool deterministic, ::google::protobuf::uint8* output) const;
8161   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8162     return InternalSerializeWithCachedSizesToArray(false, output);
8163   }
8164   int GetCachedSize() const { return _cached_size_; }
8165   private:
8166   void SharedCtor();
8167   void SharedDtor();
8168   void SetCachedSize(int size) const;
8169   void InternalSwap(InputParameter* other);
8170   void UnsafeMergeFrom(const InputParameter& from);
8171   private:
8172   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8173     return _internal_metadata_.arena();
8174   }
8175   inline void* MaybeArenaPtr() const {
8176     return _internal_metadata_.raw_arena_ptr();
8177   }
8178   public:
8179
8180   ::google::protobuf::Metadata GetMetadata() const;
8181
8182   // nested types ----------------------------------------------------
8183
8184   // accessors -------------------------------------------------------
8185
8186   // repeated .opencv_caffe.BlobShape shape = 1;
8187   int shape_size() const;
8188   void clear_shape();
8189   static const int kShapeFieldNumber = 1;
8190   const ::opencv_caffe::BlobShape& shape(int index) const;
8191   ::opencv_caffe::BlobShape* mutable_shape(int index);
8192   ::opencv_caffe::BlobShape* add_shape();
8193   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
8194       mutable_shape();
8195   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
8196       shape() const;
8197
8198   // @@protoc_insertion_point(class_scope:opencv_caffe.InputParameter)
8199  private:
8200
8201   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8202   ::google::protobuf::internal::HasBits<1> _has_bits_;
8203   mutable int _cached_size_;
8204   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape > shape_;
8205   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8206   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8207   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8208   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8209
8210   void InitAsDefaultInstance();
8211 };
8212 extern ::google::protobuf::internal::ExplicitlyConstructed<InputParameter> InputParameter_default_instance_;
8213
8214 // -------------------------------------------------------------------
8215
8216 class LogParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LogParameter) */ {
8217  public:
8218   LogParameter();
8219   virtual ~LogParameter();
8220
8221   LogParameter(const LogParameter& from);
8222
8223   inline LogParameter& operator=(const LogParameter& from) {
8224     CopyFrom(from);
8225     return *this;
8226   }
8227
8228   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8229     return _internal_metadata_.unknown_fields();
8230   }
8231
8232   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8233     return _internal_metadata_.mutable_unknown_fields();
8234   }
8235
8236   static const ::google::protobuf::Descriptor* descriptor();
8237   static const LogParameter& default_instance();
8238
8239   static const LogParameter* internal_default_instance();
8240
8241   void Swap(LogParameter* other);
8242
8243   // implements Message ----------------------------------------------
8244
8245   inline LogParameter* New() const { return New(NULL); }
8246
8247   LogParameter* New(::google::protobuf::Arena* arena) const;
8248   void CopyFrom(const ::google::protobuf::Message& from);
8249   void MergeFrom(const ::google::protobuf::Message& from);
8250   void CopyFrom(const LogParameter& from);
8251   void MergeFrom(const LogParameter& from);
8252   void Clear();
8253   bool IsInitialized() const;
8254
8255   size_t ByteSizeLong() const;
8256   bool MergePartialFromCodedStream(
8257       ::google::protobuf::io::CodedInputStream* input);
8258   void SerializeWithCachedSizes(
8259       ::google::protobuf::io::CodedOutputStream* output) const;
8260   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8261       bool deterministic, ::google::protobuf::uint8* output) const;
8262   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8263     return InternalSerializeWithCachedSizesToArray(false, output);
8264   }
8265   int GetCachedSize() const { return _cached_size_; }
8266   private:
8267   void SharedCtor();
8268   void SharedDtor();
8269   void SetCachedSize(int size) const;
8270   void InternalSwap(LogParameter* other);
8271   void UnsafeMergeFrom(const LogParameter& from);
8272   private:
8273   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8274     return _internal_metadata_.arena();
8275   }
8276   inline void* MaybeArenaPtr() const {
8277     return _internal_metadata_.raw_arena_ptr();
8278   }
8279   public:
8280
8281   ::google::protobuf::Metadata GetMetadata() const;
8282
8283   // nested types ----------------------------------------------------
8284
8285   // accessors -------------------------------------------------------
8286
8287   // optional float base = 1 [default = -1];
8288   bool has_base() const;
8289   void clear_base();
8290   static const int kBaseFieldNumber = 1;
8291   float base() const;
8292   void set_base(float value);
8293
8294   // optional float scale = 2 [default = 1];
8295   bool has_scale() const;
8296   void clear_scale();
8297   static const int kScaleFieldNumber = 2;
8298   float scale() const;
8299   void set_scale(float value);
8300
8301   // optional float shift = 3 [default = 0];
8302   bool has_shift() const;
8303   void clear_shift();
8304   static const int kShiftFieldNumber = 3;
8305   float shift() const;
8306   void set_shift(float value);
8307
8308   // @@protoc_insertion_point(class_scope:opencv_caffe.LogParameter)
8309  private:
8310   inline void set_has_base();
8311   inline void clear_has_base();
8312   inline void set_has_scale();
8313   inline void clear_has_scale();
8314   inline void set_has_shift();
8315   inline void clear_has_shift();
8316
8317   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8318   ::google::protobuf::internal::HasBits<1> _has_bits_;
8319   mutable int _cached_size_;
8320   float shift_;
8321   float base_;
8322   float scale_;
8323   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8324   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8325   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8326   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8327
8328   void InitAsDefaultInstance();
8329 };
8330 extern ::google::protobuf::internal::ExplicitlyConstructed<LogParameter> LogParameter_default_instance_;
8331
8332 // -------------------------------------------------------------------
8333
8334 class LRNParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LRNParameter) */ {
8335  public:
8336   LRNParameter();
8337   virtual ~LRNParameter();
8338
8339   LRNParameter(const LRNParameter& from);
8340
8341   inline LRNParameter& operator=(const LRNParameter& from) {
8342     CopyFrom(from);
8343     return *this;
8344   }
8345
8346   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8347     return _internal_metadata_.unknown_fields();
8348   }
8349
8350   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8351     return _internal_metadata_.mutable_unknown_fields();
8352   }
8353
8354   static const ::google::protobuf::Descriptor* descriptor();
8355   static const LRNParameter& default_instance();
8356
8357   static const LRNParameter* internal_default_instance();
8358
8359   void Swap(LRNParameter* other);
8360
8361   // implements Message ----------------------------------------------
8362
8363   inline LRNParameter* New() const { return New(NULL); }
8364
8365   LRNParameter* New(::google::protobuf::Arena* arena) const;
8366   void CopyFrom(const ::google::protobuf::Message& from);
8367   void MergeFrom(const ::google::protobuf::Message& from);
8368   void CopyFrom(const LRNParameter& from);
8369   void MergeFrom(const LRNParameter& from);
8370   void Clear();
8371   bool IsInitialized() const;
8372
8373   size_t ByteSizeLong() const;
8374   bool MergePartialFromCodedStream(
8375       ::google::protobuf::io::CodedInputStream* input);
8376   void SerializeWithCachedSizes(
8377       ::google::protobuf::io::CodedOutputStream* output) const;
8378   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8379       bool deterministic, ::google::protobuf::uint8* output) const;
8380   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8381     return InternalSerializeWithCachedSizesToArray(false, output);
8382   }
8383   int GetCachedSize() const { return _cached_size_; }
8384   private:
8385   void SharedCtor();
8386   void SharedDtor();
8387   void SetCachedSize(int size) const;
8388   void InternalSwap(LRNParameter* other);
8389   void UnsafeMergeFrom(const LRNParameter& from);
8390   private:
8391   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8392     return _internal_metadata_.arena();
8393   }
8394   inline void* MaybeArenaPtr() const {
8395     return _internal_metadata_.raw_arena_ptr();
8396   }
8397   public:
8398
8399   ::google::protobuf::Metadata GetMetadata() const;
8400
8401   // nested types ----------------------------------------------------
8402
8403   typedef LRNParameter_NormRegion NormRegion;
8404   static const NormRegion ACROSS_CHANNELS =
8405     LRNParameter_NormRegion_ACROSS_CHANNELS;
8406   static const NormRegion WITHIN_CHANNEL =
8407     LRNParameter_NormRegion_WITHIN_CHANNEL;
8408   static inline bool NormRegion_IsValid(int value) {
8409     return LRNParameter_NormRegion_IsValid(value);
8410   }
8411   static const NormRegion NormRegion_MIN =
8412     LRNParameter_NormRegion_NormRegion_MIN;
8413   static const NormRegion NormRegion_MAX =
8414     LRNParameter_NormRegion_NormRegion_MAX;
8415   static const int NormRegion_ARRAYSIZE =
8416     LRNParameter_NormRegion_NormRegion_ARRAYSIZE;
8417   static inline const ::google::protobuf::EnumDescriptor*
8418   NormRegion_descriptor() {
8419     return LRNParameter_NormRegion_descriptor();
8420   }
8421   static inline const ::std::string& NormRegion_Name(NormRegion value) {
8422     return LRNParameter_NormRegion_Name(value);
8423   }
8424   static inline bool NormRegion_Parse(const ::std::string& name,
8425       NormRegion* value) {
8426     return LRNParameter_NormRegion_Parse(name, value);
8427   }
8428
8429   typedef LRNParameter_Engine Engine;
8430   static const Engine DEFAULT =
8431     LRNParameter_Engine_DEFAULT;
8432   static const Engine CAFFE =
8433     LRNParameter_Engine_CAFFE;
8434   static const Engine CUDNN =
8435     LRNParameter_Engine_CUDNN;
8436   static inline bool Engine_IsValid(int value) {
8437     return LRNParameter_Engine_IsValid(value);
8438   }
8439   static const Engine Engine_MIN =
8440     LRNParameter_Engine_Engine_MIN;
8441   static const Engine Engine_MAX =
8442     LRNParameter_Engine_Engine_MAX;
8443   static const int Engine_ARRAYSIZE =
8444     LRNParameter_Engine_Engine_ARRAYSIZE;
8445   static inline const ::google::protobuf::EnumDescriptor*
8446   Engine_descriptor() {
8447     return LRNParameter_Engine_descriptor();
8448   }
8449   static inline const ::std::string& Engine_Name(Engine value) {
8450     return LRNParameter_Engine_Name(value);
8451   }
8452   static inline bool Engine_Parse(const ::std::string& name,
8453       Engine* value) {
8454     return LRNParameter_Engine_Parse(name, value);
8455   }
8456
8457   // accessors -------------------------------------------------------
8458
8459   // optional uint32 local_size = 1 [default = 5];
8460   bool has_local_size() const;
8461   void clear_local_size();
8462   static const int kLocalSizeFieldNumber = 1;
8463   ::google::protobuf::uint32 local_size() const;
8464   void set_local_size(::google::protobuf::uint32 value);
8465
8466   // optional float alpha = 2 [default = 1];
8467   bool has_alpha() const;
8468   void clear_alpha();
8469   static const int kAlphaFieldNumber = 2;
8470   float alpha() const;
8471   void set_alpha(float value);
8472
8473   // optional float beta = 3 [default = 0.75];
8474   bool has_beta() const;
8475   void clear_beta();
8476   static const int kBetaFieldNumber = 3;
8477   float beta() const;
8478   void set_beta(float value);
8479
8480   // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
8481   bool has_norm_region() const;
8482   void clear_norm_region();
8483   static const int kNormRegionFieldNumber = 4;
8484   ::opencv_caffe::LRNParameter_NormRegion norm_region() const;
8485   void set_norm_region(::opencv_caffe::LRNParameter_NormRegion value);
8486
8487   // optional float k = 5 [default = 1];
8488   bool has_k() const;
8489   void clear_k();
8490   static const int kKFieldNumber = 5;
8491   float k() const;
8492   void set_k(float value);
8493
8494   // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
8495   bool has_engine() const;
8496   void clear_engine();
8497   static const int kEngineFieldNumber = 6;
8498   ::opencv_caffe::LRNParameter_Engine engine() const;
8499   void set_engine(::opencv_caffe::LRNParameter_Engine value);
8500
8501   // @@protoc_insertion_point(class_scope:opencv_caffe.LRNParameter)
8502  private:
8503   inline void set_has_local_size();
8504   inline void clear_has_local_size();
8505   inline void set_has_alpha();
8506   inline void clear_has_alpha();
8507   inline void set_has_beta();
8508   inline void clear_has_beta();
8509   inline void set_has_norm_region();
8510   inline void clear_has_norm_region();
8511   inline void set_has_k();
8512   inline void clear_has_k();
8513   inline void set_has_engine();
8514   inline void clear_has_engine();
8515
8516   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8517   ::google::protobuf::internal::HasBits<1> _has_bits_;
8518   mutable int _cached_size_;
8519   int norm_region_;
8520   int engine_;
8521   ::google::protobuf::uint32 local_size_;
8522   float alpha_;
8523   float beta_;
8524   float k_;
8525   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8526   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8527   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8528   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8529
8530   void InitAsDefaultInstance();
8531 };
8532 extern ::google::protobuf::internal::ExplicitlyConstructed<LRNParameter> LRNParameter_default_instance_;
8533
8534 // -------------------------------------------------------------------
8535
8536 class MemoryDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.MemoryDataParameter) */ {
8537  public:
8538   MemoryDataParameter();
8539   virtual ~MemoryDataParameter();
8540
8541   MemoryDataParameter(const MemoryDataParameter& from);
8542
8543   inline MemoryDataParameter& operator=(const MemoryDataParameter& from) {
8544     CopyFrom(from);
8545     return *this;
8546   }
8547
8548   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8549     return _internal_metadata_.unknown_fields();
8550   }
8551
8552   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8553     return _internal_metadata_.mutable_unknown_fields();
8554   }
8555
8556   static const ::google::protobuf::Descriptor* descriptor();
8557   static const MemoryDataParameter& default_instance();
8558
8559   static const MemoryDataParameter* internal_default_instance();
8560
8561   void Swap(MemoryDataParameter* other);
8562
8563   // implements Message ----------------------------------------------
8564
8565   inline MemoryDataParameter* New() const { return New(NULL); }
8566
8567   MemoryDataParameter* New(::google::protobuf::Arena* arena) const;
8568   void CopyFrom(const ::google::protobuf::Message& from);
8569   void MergeFrom(const ::google::protobuf::Message& from);
8570   void CopyFrom(const MemoryDataParameter& from);
8571   void MergeFrom(const MemoryDataParameter& from);
8572   void Clear();
8573   bool IsInitialized() const;
8574
8575   size_t ByteSizeLong() const;
8576   bool MergePartialFromCodedStream(
8577       ::google::protobuf::io::CodedInputStream* input);
8578   void SerializeWithCachedSizes(
8579       ::google::protobuf::io::CodedOutputStream* output) const;
8580   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8581       bool deterministic, ::google::protobuf::uint8* output) const;
8582   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8583     return InternalSerializeWithCachedSizesToArray(false, output);
8584   }
8585   int GetCachedSize() const { return _cached_size_; }
8586   private:
8587   void SharedCtor();
8588   void SharedDtor();
8589   void SetCachedSize(int size) const;
8590   void InternalSwap(MemoryDataParameter* other);
8591   void UnsafeMergeFrom(const MemoryDataParameter& from);
8592   private:
8593   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8594     return _internal_metadata_.arena();
8595   }
8596   inline void* MaybeArenaPtr() const {
8597     return _internal_metadata_.raw_arena_ptr();
8598   }
8599   public:
8600
8601   ::google::protobuf::Metadata GetMetadata() const;
8602
8603   // nested types ----------------------------------------------------
8604
8605   // accessors -------------------------------------------------------
8606
8607   // optional uint32 batch_size = 1;
8608   bool has_batch_size() const;
8609   void clear_batch_size();
8610   static const int kBatchSizeFieldNumber = 1;
8611   ::google::protobuf::uint32 batch_size() const;
8612   void set_batch_size(::google::protobuf::uint32 value);
8613
8614   // optional uint32 channels = 2;
8615   bool has_channels() const;
8616   void clear_channels();
8617   static const int kChannelsFieldNumber = 2;
8618   ::google::protobuf::uint32 channels() const;
8619   void set_channels(::google::protobuf::uint32 value);
8620
8621   // optional uint32 height = 3;
8622   bool has_height() const;
8623   void clear_height();
8624   static const int kHeightFieldNumber = 3;
8625   ::google::protobuf::uint32 height() const;
8626   void set_height(::google::protobuf::uint32 value);
8627
8628   // optional uint32 width = 4;
8629   bool has_width() const;
8630   void clear_width();
8631   static const int kWidthFieldNumber = 4;
8632   ::google::protobuf::uint32 width() const;
8633   void set_width(::google::protobuf::uint32 value);
8634
8635   // @@protoc_insertion_point(class_scope:opencv_caffe.MemoryDataParameter)
8636  private:
8637   inline void set_has_batch_size();
8638   inline void clear_has_batch_size();
8639   inline void set_has_channels();
8640   inline void clear_has_channels();
8641   inline void set_has_height();
8642   inline void clear_has_height();
8643   inline void set_has_width();
8644   inline void clear_has_width();
8645
8646   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8647   ::google::protobuf::internal::HasBits<1> _has_bits_;
8648   mutable int _cached_size_;
8649   ::google::protobuf::uint32 batch_size_;
8650   ::google::protobuf::uint32 channels_;
8651   ::google::protobuf::uint32 height_;
8652   ::google::protobuf::uint32 width_;
8653   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8654   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8655   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8656   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8657
8658   void InitAsDefaultInstance();
8659 };
8660 extern ::google::protobuf::internal::ExplicitlyConstructed<MemoryDataParameter> MemoryDataParameter_default_instance_;
8661
8662 // -------------------------------------------------------------------
8663
8664 class MVNParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.MVNParameter) */ {
8665  public:
8666   MVNParameter();
8667   virtual ~MVNParameter();
8668
8669   MVNParameter(const MVNParameter& from);
8670
8671   inline MVNParameter& operator=(const MVNParameter& from) {
8672     CopyFrom(from);
8673     return *this;
8674   }
8675
8676   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8677     return _internal_metadata_.unknown_fields();
8678   }
8679
8680   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8681     return _internal_metadata_.mutable_unknown_fields();
8682   }
8683
8684   static const ::google::protobuf::Descriptor* descriptor();
8685   static const MVNParameter& default_instance();
8686
8687   static const MVNParameter* internal_default_instance();
8688
8689   void Swap(MVNParameter* other);
8690
8691   // implements Message ----------------------------------------------
8692
8693   inline MVNParameter* New() const { return New(NULL); }
8694
8695   MVNParameter* New(::google::protobuf::Arena* arena) const;
8696   void CopyFrom(const ::google::protobuf::Message& from);
8697   void MergeFrom(const ::google::protobuf::Message& from);
8698   void CopyFrom(const MVNParameter& from);
8699   void MergeFrom(const MVNParameter& from);
8700   void Clear();
8701   bool IsInitialized() const;
8702
8703   size_t ByteSizeLong() const;
8704   bool MergePartialFromCodedStream(
8705       ::google::protobuf::io::CodedInputStream* input);
8706   void SerializeWithCachedSizes(
8707       ::google::protobuf::io::CodedOutputStream* output) const;
8708   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8709       bool deterministic, ::google::protobuf::uint8* output) const;
8710   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8711     return InternalSerializeWithCachedSizesToArray(false, output);
8712   }
8713   int GetCachedSize() const { return _cached_size_; }
8714   private:
8715   void SharedCtor();
8716   void SharedDtor();
8717   void SetCachedSize(int size) const;
8718   void InternalSwap(MVNParameter* other);
8719   void UnsafeMergeFrom(const MVNParameter& from);
8720   private:
8721   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8722     return _internal_metadata_.arena();
8723   }
8724   inline void* MaybeArenaPtr() const {
8725     return _internal_metadata_.raw_arena_ptr();
8726   }
8727   public:
8728
8729   ::google::protobuf::Metadata GetMetadata() const;
8730
8731   // nested types ----------------------------------------------------
8732
8733   // accessors -------------------------------------------------------
8734
8735   // optional bool normalize_variance = 1 [default = true];
8736   bool has_normalize_variance() const;
8737   void clear_normalize_variance();
8738   static const int kNormalizeVarianceFieldNumber = 1;
8739   bool normalize_variance() const;
8740   void set_normalize_variance(bool value);
8741
8742   // optional bool across_channels = 2 [default = false];
8743   bool has_across_channels() const;
8744   void clear_across_channels();
8745   static const int kAcrossChannelsFieldNumber = 2;
8746   bool across_channels() const;
8747   void set_across_channels(bool value);
8748
8749   // optional float eps = 3 [default = 1e-09];
8750   bool has_eps() const;
8751   void clear_eps();
8752   static const int kEpsFieldNumber = 3;
8753   float eps() const;
8754   void set_eps(float value);
8755
8756   // @@protoc_insertion_point(class_scope:opencv_caffe.MVNParameter)
8757  private:
8758   inline void set_has_normalize_variance();
8759   inline void clear_has_normalize_variance();
8760   inline void set_has_across_channels();
8761   inline void clear_has_across_channels();
8762   inline void set_has_eps();
8763   inline void clear_has_eps();
8764
8765   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8766   ::google::protobuf::internal::HasBits<1> _has_bits_;
8767   mutable int _cached_size_;
8768   bool across_channels_;
8769   bool normalize_variance_;
8770   float eps_;
8771   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8772   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8773   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8774   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8775
8776   void InitAsDefaultInstance();
8777 };
8778 extern ::google::protobuf::internal::ExplicitlyConstructed<MVNParameter> MVNParameter_default_instance_;
8779
8780 // -------------------------------------------------------------------
8781
8782 class ParameterParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ParameterParameter) */ {
8783  public:
8784   ParameterParameter();
8785   virtual ~ParameterParameter();
8786
8787   ParameterParameter(const ParameterParameter& from);
8788
8789   inline ParameterParameter& operator=(const ParameterParameter& from) {
8790     CopyFrom(from);
8791     return *this;
8792   }
8793
8794   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8795     return _internal_metadata_.unknown_fields();
8796   }
8797
8798   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8799     return _internal_metadata_.mutable_unknown_fields();
8800   }
8801
8802   static const ::google::protobuf::Descriptor* descriptor();
8803   static const ParameterParameter& default_instance();
8804
8805   static const ParameterParameter* internal_default_instance();
8806
8807   void Swap(ParameterParameter* other);
8808
8809   // implements Message ----------------------------------------------
8810
8811   inline ParameterParameter* New() const { return New(NULL); }
8812
8813   ParameterParameter* New(::google::protobuf::Arena* arena) const;
8814   void CopyFrom(const ::google::protobuf::Message& from);
8815   void MergeFrom(const ::google::protobuf::Message& from);
8816   void CopyFrom(const ParameterParameter& from);
8817   void MergeFrom(const ParameterParameter& from);
8818   void Clear();
8819   bool IsInitialized() const;
8820
8821   size_t ByteSizeLong() const;
8822   bool MergePartialFromCodedStream(
8823       ::google::protobuf::io::CodedInputStream* input);
8824   void SerializeWithCachedSizes(
8825       ::google::protobuf::io::CodedOutputStream* output) const;
8826   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8827       bool deterministic, ::google::protobuf::uint8* output) const;
8828   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8829     return InternalSerializeWithCachedSizesToArray(false, output);
8830   }
8831   int GetCachedSize() const { return _cached_size_; }
8832   private:
8833   void SharedCtor();
8834   void SharedDtor();
8835   void SetCachedSize(int size) const;
8836   void InternalSwap(ParameterParameter* other);
8837   void UnsafeMergeFrom(const ParameterParameter& from);
8838   private:
8839   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8840     return _internal_metadata_.arena();
8841   }
8842   inline void* MaybeArenaPtr() const {
8843     return _internal_metadata_.raw_arena_ptr();
8844   }
8845   public:
8846
8847   ::google::protobuf::Metadata GetMetadata() const;
8848
8849   // nested types ----------------------------------------------------
8850
8851   // accessors -------------------------------------------------------
8852
8853   // optional .opencv_caffe.BlobShape shape = 1;
8854   bool has_shape() const;
8855   void clear_shape();
8856   static const int kShapeFieldNumber = 1;
8857   const ::opencv_caffe::BlobShape& shape() const;
8858   ::opencv_caffe::BlobShape* mutable_shape();
8859   ::opencv_caffe::BlobShape* release_shape();
8860   void set_allocated_shape(::opencv_caffe::BlobShape* shape);
8861
8862   // @@protoc_insertion_point(class_scope:opencv_caffe.ParameterParameter)
8863  private:
8864   inline void set_has_shape();
8865   inline void clear_has_shape();
8866
8867   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8868   ::google::protobuf::internal::HasBits<1> _has_bits_;
8869   mutable int _cached_size_;
8870   ::opencv_caffe::BlobShape* shape_;
8871   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8872   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8873   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8874   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8875
8876   void InitAsDefaultInstance();
8877 };
8878 extern ::google::protobuf::internal::ExplicitlyConstructed<ParameterParameter> ParameterParameter_default_instance_;
8879
8880 // -------------------------------------------------------------------
8881
8882 class PoolingParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PoolingParameter) */ {
8883  public:
8884   PoolingParameter();
8885   virtual ~PoolingParameter();
8886
8887   PoolingParameter(const PoolingParameter& from);
8888
8889   inline PoolingParameter& operator=(const PoolingParameter& from) {
8890     CopyFrom(from);
8891     return *this;
8892   }
8893
8894   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8895     return _internal_metadata_.unknown_fields();
8896   }
8897
8898   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8899     return _internal_metadata_.mutable_unknown_fields();
8900   }
8901
8902   static const ::google::protobuf::Descriptor* descriptor();
8903   static const PoolingParameter& default_instance();
8904
8905   static const PoolingParameter* internal_default_instance();
8906
8907   void Swap(PoolingParameter* other);
8908
8909   // implements Message ----------------------------------------------
8910
8911   inline PoolingParameter* New() const { return New(NULL); }
8912
8913   PoolingParameter* New(::google::protobuf::Arena* arena) const;
8914   void CopyFrom(const ::google::protobuf::Message& from);
8915   void MergeFrom(const ::google::protobuf::Message& from);
8916   void CopyFrom(const PoolingParameter& from);
8917   void MergeFrom(const PoolingParameter& from);
8918   void Clear();
8919   bool IsInitialized() const;
8920
8921   size_t ByteSizeLong() const;
8922   bool MergePartialFromCodedStream(
8923       ::google::protobuf::io::CodedInputStream* input);
8924   void SerializeWithCachedSizes(
8925       ::google::protobuf::io::CodedOutputStream* output) const;
8926   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8927       bool deterministic, ::google::protobuf::uint8* output) const;
8928   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8929     return InternalSerializeWithCachedSizesToArray(false, output);
8930   }
8931   int GetCachedSize() const { return _cached_size_; }
8932   private:
8933   void SharedCtor();
8934   void SharedDtor();
8935   void SetCachedSize(int size) const;
8936   void InternalSwap(PoolingParameter* other);
8937   void UnsafeMergeFrom(const PoolingParameter& from);
8938   private:
8939   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8940     return _internal_metadata_.arena();
8941   }
8942   inline void* MaybeArenaPtr() const {
8943     return _internal_metadata_.raw_arena_ptr();
8944   }
8945   public:
8946
8947   ::google::protobuf::Metadata GetMetadata() const;
8948
8949   // nested types ----------------------------------------------------
8950
8951   typedef PoolingParameter_PoolMethod PoolMethod;
8952   static const PoolMethod MAX =
8953     PoolingParameter_PoolMethod_MAX;
8954   static const PoolMethod AVE =
8955     PoolingParameter_PoolMethod_AVE;
8956   static const PoolMethod STOCHASTIC =
8957     PoolingParameter_PoolMethod_STOCHASTIC;
8958   static inline bool PoolMethod_IsValid(int value) {
8959     return PoolingParameter_PoolMethod_IsValid(value);
8960   }
8961   static const PoolMethod PoolMethod_MIN =
8962     PoolingParameter_PoolMethod_PoolMethod_MIN;
8963   static const PoolMethod PoolMethod_MAX =
8964     PoolingParameter_PoolMethod_PoolMethod_MAX;
8965   static const int PoolMethod_ARRAYSIZE =
8966     PoolingParameter_PoolMethod_PoolMethod_ARRAYSIZE;
8967   static inline const ::google::protobuf::EnumDescriptor*
8968   PoolMethod_descriptor() {
8969     return PoolingParameter_PoolMethod_descriptor();
8970   }
8971   static inline const ::std::string& PoolMethod_Name(PoolMethod value) {
8972     return PoolingParameter_PoolMethod_Name(value);
8973   }
8974   static inline bool PoolMethod_Parse(const ::std::string& name,
8975       PoolMethod* value) {
8976     return PoolingParameter_PoolMethod_Parse(name, value);
8977   }
8978
8979   typedef PoolingParameter_Engine Engine;
8980   static const Engine DEFAULT =
8981     PoolingParameter_Engine_DEFAULT;
8982   static const Engine CAFFE =
8983     PoolingParameter_Engine_CAFFE;
8984   static const Engine CUDNN =
8985     PoolingParameter_Engine_CUDNN;
8986   static inline bool Engine_IsValid(int value) {
8987     return PoolingParameter_Engine_IsValid(value);
8988   }
8989   static const Engine Engine_MIN =
8990     PoolingParameter_Engine_Engine_MIN;
8991   static const Engine Engine_MAX =
8992     PoolingParameter_Engine_Engine_MAX;
8993   static const int Engine_ARRAYSIZE =
8994     PoolingParameter_Engine_Engine_ARRAYSIZE;
8995   static inline const ::google::protobuf::EnumDescriptor*
8996   Engine_descriptor() {
8997     return PoolingParameter_Engine_descriptor();
8998   }
8999   static inline const ::std::string& Engine_Name(Engine value) {
9000     return PoolingParameter_Engine_Name(value);
9001   }
9002   static inline bool Engine_Parse(const ::std::string& name,
9003       Engine* value) {
9004     return PoolingParameter_Engine_Parse(name, value);
9005   }
9006
9007   // accessors -------------------------------------------------------
9008
9009   // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
9010   bool has_pool() const;
9011   void clear_pool();
9012   static const int kPoolFieldNumber = 1;
9013   ::opencv_caffe::PoolingParameter_PoolMethod pool() const;
9014   void set_pool(::opencv_caffe::PoolingParameter_PoolMethod value);
9015
9016   // optional uint32 pad = 4 [default = 0];
9017   bool has_pad() const;
9018   void clear_pad();
9019   static const int kPadFieldNumber = 4;
9020   ::google::protobuf::uint32 pad() const;
9021   void set_pad(::google::protobuf::uint32 value);
9022
9023   // optional uint32 pad_h = 9 [default = 0];
9024   bool has_pad_h() const;
9025   void clear_pad_h();
9026   static const int kPadHFieldNumber = 9;
9027   ::google::protobuf::uint32 pad_h() const;
9028   void set_pad_h(::google::protobuf::uint32 value);
9029
9030   // optional uint32 pad_w = 10 [default = 0];
9031   bool has_pad_w() const;
9032   void clear_pad_w();
9033   static const int kPadWFieldNumber = 10;
9034   ::google::protobuf::uint32 pad_w() const;
9035   void set_pad_w(::google::protobuf::uint32 value);
9036
9037   // optional uint32 kernel_size = 2;
9038   bool has_kernel_size() const;
9039   void clear_kernel_size();
9040   static const int kKernelSizeFieldNumber = 2;
9041   ::google::protobuf::uint32 kernel_size() const;
9042   void set_kernel_size(::google::protobuf::uint32 value);
9043
9044   // optional uint32 kernel_h = 5;
9045   bool has_kernel_h() const;
9046   void clear_kernel_h();
9047   static const int kKernelHFieldNumber = 5;
9048   ::google::protobuf::uint32 kernel_h() const;
9049   void set_kernel_h(::google::protobuf::uint32 value);
9050
9051   // optional uint32 kernel_w = 6;
9052   bool has_kernel_w() const;
9053   void clear_kernel_w();
9054   static const int kKernelWFieldNumber = 6;
9055   ::google::protobuf::uint32 kernel_w() const;
9056   void set_kernel_w(::google::protobuf::uint32 value);
9057
9058   // optional uint32 stride = 3 [default = 1];
9059   bool has_stride() const;
9060   void clear_stride();
9061   static const int kStrideFieldNumber = 3;
9062   ::google::protobuf::uint32 stride() const;
9063   void set_stride(::google::protobuf::uint32 value);
9064
9065   // optional uint32 stride_h = 7;
9066   bool has_stride_h() const;
9067   void clear_stride_h();
9068   static const int kStrideHFieldNumber = 7;
9069   ::google::protobuf::uint32 stride_h() const;
9070   void set_stride_h(::google::protobuf::uint32 value);
9071
9072   // optional uint32 stride_w = 8;
9073   bool has_stride_w() const;
9074   void clear_stride_w();
9075   static const int kStrideWFieldNumber = 8;
9076   ::google::protobuf::uint32 stride_w() const;
9077   void set_stride_w(::google::protobuf::uint32 value);
9078
9079   // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
9080   bool has_engine() const;
9081   void clear_engine();
9082   static const int kEngineFieldNumber = 11;
9083   ::opencv_caffe::PoolingParameter_Engine engine() const;
9084   void set_engine(::opencv_caffe::PoolingParameter_Engine value);
9085
9086   // optional bool global_pooling = 12 [default = false];
9087   bool has_global_pooling() const;
9088   void clear_global_pooling();
9089   static const int kGlobalPoolingFieldNumber = 12;
9090   bool global_pooling() const;
9091   void set_global_pooling(bool value);
9092
9093   // optional bool ceil_mode = 13 [default = true];
9094   bool has_ceil_mode() const;
9095   void clear_ceil_mode();
9096   static const int kCeilModeFieldNumber = 13;
9097   bool ceil_mode() const;
9098   void set_ceil_mode(bool value);
9099
9100   // @@protoc_insertion_point(class_scope:opencv_caffe.PoolingParameter)
9101  private:
9102   inline void set_has_pool();
9103   inline void clear_has_pool();
9104   inline void set_has_pad();
9105   inline void clear_has_pad();
9106   inline void set_has_pad_h();
9107   inline void clear_has_pad_h();
9108   inline void set_has_pad_w();
9109   inline void clear_has_pad_w();
9110   inline void set_has_kernel_size();
9111   inline void clear_has_kernel_size();
9112   inline void set_has_kernel_h();
9113   inline void clear_has_kernel_h();
9114   inline void set_has_kernel_w();
9115   inline void clear_has_kernel_w();
9116   inline void set_has_stride();
9117   inline void clear_has_stride();
9118   inline void set_has_stride_h();
9119   inline void clear_has_stride_h();
9120   inline void set_has_stride_w();
9121   inline void clear_has_stride_w();
9122   inline void set_has_engine();
9123   inline void clear_has_engine();
9124   inline void set_has_global_pooling();
9125   inline void clear_has_global_pooling();
9126   inline void set_has_ceil_mode();
9127   inline void clear_has_ceil_mode();
9128
9129   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9130   ::google::protobuf::internal::HasBits<1> _has_bits_;
9131   mutable int _cached_size_;
9132   int pool_;
9133   ::google::protobuf::uint32 pad_;
9134   ::google::protobuf::uint32 pad_h_;
9135   ::google::protobuf::uint32 pad_w_;
9136   ::google::protobuf::uint32 kernel_size_;
9137   ::google::protobuf::uint32 kernel_h_;
9138   ::google::protobuf::uint32 kernel_w_;
9139   ::google::protobuf::uint32 stride_h_;
9140   ::google::protobuf::uint32 stride_w_;
9141   int engine_;
9142   bool global_pooling_;
9143   ::google::protobuf::uint32 stride_;
9144   bool ceil_mode_;
9145   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9146   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9147   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9148   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9149
9150   void InitAsDefaultInstance();
9151 };
9152 extern ::google::protobuf::internal::ExplicitlyConstructed<PoolingParameter> PoolingParameter_default_instance_;
9153
9154 // -------------------------------------------------------------------
9155
9156 class PowerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PowerParameter) */ {
9157  public:
9158   PowerParameter();
9159   virtual ~PowerParameter();
9160
9161   PowerParameter(const PowerParameter& from);
9162
9163   inline PowerParameter& operator=(const PowerParameter& from) {
9164     CopyFrom(from);
9165     return *this;
9166   }
9167
9168   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9169     return _internal_metadata_.unknown_fields();
9170   }
9171
9172   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9173     return _internal_metadata_.mutable_unknown_fields();
9174   }
9175
9176   static const ::google::protobuf::Descriptor* descriptor();
9177   static const PowerParameter& default_instance();
9178
9179   static const PowerParameter* internal_default_instance();
9180
9181   void Swap(PowerParameter* other);
9182
9183   // implements Message ----------------------------------------------
9184
9185   inline PowerParameter* New() const { return New(NULL); }
9186
9187   PowerParameter* New(::google::protobuf::Arena* arena) const;
9188   void CopyFrom(const ::google::protobuf::Message& from);
9189   void MergeFrom(const ::google::protobuf::Message& from);
9190   void CopyFrom(const PowerParameter& from);
9191   void MergeFrom(const PowerParameter& from);
9192   void Clear();
9193   bool IsInitialized() const;
9194
9195   size_t ByteSizeLong() const;
9196   bool MergePartialFromCodedStream(
9197       ::google::protobuf::io::CodedInputStream* input);
9198   void SerializeWithCachedSizes(
9199       ::google::protobuf::io::CodedOutputStream* output) const;
9200   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9201       bool deterministic, ::google::protobuf::uint8* output) const;
9202   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9203     return InternalSerializeWithCachedSizesToArray(false, output);
9204   }
9205   int GetCachedSize() const { return _cached_size_; }
9206   private:
9207   void SharedCtor();
9208   void SharedDtor();
9209   void SetCachedSize(int size) const;
9210   void InternalSwap(PowerParameter* other);
9211   void UnsafeMergeFrom(const PowerParameter& from);
9212   private:
9213   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9214     return _internal_metadata_.arena();
9215   }
9216   inline void* MaybeArenaPtr() const {
9217     return _internal_metadata_.raw_arena_ptr();
9218   }
9219   public:
9220
9221   ::google::protobuf::Metadata GetMetadata() const;
9222
9223   // nested types ----------------------------------------------------
9224
9225   // accessors -------------------------------------------------------
9226
9227   // optional float power = 1 [default = 1];
9228   bool has_power() const;
9229   void clear_power();
9230   static const int kPowerFieldNumber = 1;
9231   float power() const;
9232   void set_power(float value);
9233
9234   // optional float scale = 2 [default = 1];
9235   bool has_scale() const;
9236   void clear_scale();
9237   static const int kScaleFieldNumber = 2;
9238   float scale() const;
9239   void set_scale(float value);
9240
9241   // optional float shift = 3 [default = 0];
9242   bool has_shift() const;
9243   void clear_shift();
9244   static const int kShiftFieldNumber = 3;
9245   float shift() const;
9246   void set_shift(float value);
9247
9248   // @@protoc_insertion_point(class_scope:opencv_caffe.PowerParameter)
9249  private:
9250   inline void set_has_power();
9251   inline void clear_has_power();
9252   inline void set_has_scale();
9253   inline void clear_has_scale();
9254   inline void set_has_shift();
9255   inline void clear_has_shift();
9256
9257   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9258   ::google::protobuf::internal::HasBits<1> _has_bits_;
9259   mutable int _cached_size_;
9260   float shift_;
9261   float power_;
9262   float scale_;
9263   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9264   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9265   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9266   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9267
9268   void InitAsDefaultInstance();
9269 };
9270 extern ::google::protobuf::internal::ExplicitlyConstructed<PowerParameter> PowerParameter_default_instance_;
9271
9272 // -------------------------------------------------------------------
9273
9274 class PythonParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PythonParameter) */ {
9275  public:
9276   PythonParameter();
9277   virtual ~PythonParameter();
9278
9279   PythonParameter(const PythonParameter& from);
9280
9281   inline PythonParameter& operator=(const PythonParameter& from) {
9282     CopyFrom(from);
9283     return *this;
9284   }
9285
9286   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9287     return _internal_metadata_.unknown_fields();
9288   }
9289
9290   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9291     return _internal_metadata_.mutable_unknown_fields();
9292   }
9293
9294   static const ::google::protobuf::Descriptor* descriptor();
9295   static const PythonParameter& default_instance();
9296
9297   static const PythonParameter* internal_default_instance();
9298
9299   void Swap(PythonParameter* other);
9300
9301   // implements Message ----------------------------------------------
9302
9303   inline PythonParameter* New() const { return New(NULL); }
9304
9305   PythonParameter* New(::google::protobuf::Arena* arena) const;
9306   void CopyFrom(const ::google::protobuf::Message& from);
9307   void MergeFrom(const ::google::protobuf::Message& from);
9308   void CopyFrom(const PythonParameter& from);
9309   void MergeFrom(const PythonParameter& from);
9310   void Clear();
9311   bool IsInitialized() const;
9312
9313   size_t ByteSizeLong() const;
9314   bool MergePartialFromCodedStream(
9315       ::google::protobuf::io::CodedInputStream* input);
9316   void SerializeWithCachedSizes(
9317       ::google::protobuf::io::CodedOutputStream* output) const;
9318   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9319       bool deterministic, ::google::protobuf::uint8* output) const;
9320   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9321     return InternalSerializeWithCachedSizesToArray(false, output);
9322   }
9323   int GetCachedSize() const { return _cached_size_; }
9324   private:
9325   void SharedCtor();
9326   void SharedDtor();
9327   void SetCachedSize(int size) const;
9328   void InternalSwap(PythonParameter* other);
9329   void UnsafeMergeFrom(const PythonParameter& from);
9330   private:
9331   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9332     return _internal_metadata_.arena();
9333   }
9334   inline void* MaybeArenaPtr() const {
9335     return _internal_metadata_.raw_arena_ptr();
9336   }
9337   public:
9338
9339   ::google::protobuf::Metadata GetMetadata() const;
9340
9341   // nested types ----------------------------------------------------
9342
9343   // accessors -------------------------------------------------------
9344
9345   // optional string module = 1;
9346   bool has_module() const;
9347   void clear_module();
9348   static const int kModuleFieldNumber = 1;
9349   const ::std::string& module() const;
9350   void set_module(const ::std::string& value);
9351   void set_module(const char* value);
9352   void set_module(const char* value, size_t size);
9353   ::std::string* mutable_module();
9354   ::std::string* release_module();
9355   void set_allocated_module(::std::string* module);
9356
9357   // optional string layer = 2;
9358   bool has_layer() const;
9359   void clear_layer();
9360   static const int kLayerFieldNumber = 2;
9361   const ::std::string& layer() const;
9362   void set_layer(const ::std::string& value);
9363   void set_layer(const char* value);
9364   void set_layer(const char* value, size_t size);
9365   ::std::string* mutable_layer();
9366   ::std::string* release_layer();
9367   void set_allocated_layer(::std::string* layer);
9368
9369   // optional string param_str = 3 [default = ""];
9370   bool has_param_str() const;
9371   void clear_param_str();
9372   static const int kParamStrFieldNumber = 3;
9373   const ::std::string& param_str() const;
9374   void set_param_str(const ::std::string& value);
9375   void set_param_str(const char* value);
9376   void set_param_str(const char* value, size_t size);
9377   ::std::string* mutable_param_str();
9378   ::std::string* release_param_str();
9379   void set_allocated_param_str(::std::string* param_str);
9380
9381   // optional bool share_in_parallel = 4 [default = false];
9382   bool has_share_in_parallel() const;
9383   void clear_share_in_parallel();
9384   static const int kShareInParallelFieldNumber = 4;
9385   bool share_in_parallel() const;
9386   void set_share_in_parallel(bool value);
9387
9388   // @@protoc_insertion_point(class_scope:opencv_caffe.PythonParameter)
9389  private:
9390   inline void set_has_module();
9391   inline void clear_has_module();
9392   inline void set_has_layer();
9393   inline void clear_has_layer();
9394   inline void set_has_param_str();
9395   inline void clear_has_param_str();
9396   inline void set_has_share_in_parallel();
9397   inline void clear_has_share_in_parallel();
9398
9399   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9400   ::google::protobuf::internal::HasBits<1> _has_bits_;
9401   mutable int _cached_size_;
9402   ::google::protobuf::internal::ArenaStringPtr module_;
9403   ::google::protobuf::internal::ArenaStringPtr layer_;
9404   ::google::protobuf::internal::ArenaStringPtr param_str_;
9405   bool share_in_parallel_;
9406   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9407   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9408   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9409   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9410
9411   void InitAsDefaultInstance();
9412 };
9413 extern ::google::protobuf::internal::ExplicitlyConstructed<PythonParameter> PythonParameter_default_instance_;
9414
9415 // -------------------------------------------------------------------
9416
9417 class RecurrentParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.RecurrentParameter) */ {
9418  public:
9419   RecurrentParameter();
9420   virtual ~RecurrentParameter();
9421
9422   RecurrentParameter(const RecurrentParameter& from);
9423
9424   inline RecurrentParameter& operator=(const RecurrentParameter& from) {
9425     CopyFrom(from);
9426     return *this;
9427   }
9428
9429   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9430     return _internal_metadata_.unknown_fields();
9431   }
9432
9433   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9434     return _internal_metadata_.mutable_unknown_fields();
9435   }
9436
9437   static const ::google::protobuf::Descriptor* descriptor();
9438   static const RecurrentParameter& default_instance();
9439
9440   static const RecurrentParameter* internal_default_instance();
9441
9442   void Swap(RecurrentParameter* other);
9443
9444   // implements Message ----------------------------------------------
9445
9446   inline RecurrentParameter* New() const { return New(NULL); }
9447
9448   RecurrentParameter* New(::google::protobuf::Arena* arena) const;
9449   void CopyFrom(const ::google::protobuf::Message& from);
9450   void MergeFrom(const ::google::protobuf::Message& from);
9451   void CopyFrom(const RecurrentParameter& from);
9452   void MergeFrom(const RecurrentParameter& from);
9453   void Clear();
9454   bool IsInitialized() const;
9455
9456   size_t ByteSizeLong() const;
9457   bool MergePartialFromCodedStream(
9458       ::google::protobuf::io::CodedInputStream* input);
9459   void SerializeWithCachedSizes(
9460       ::google::protobuf::io::CodedOutputStream* output) const;
9461   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9462       bool deterministic, ::google::protobuf::uint8* output) const;
9463   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9464     return InternalSerializeWithCachedSizesToArray(false, output);
9465   }
9466   int GetCachedSize() const { return _cached_size_; }
9467   private:
9468   void SharedCtor();
9469   void SharedDtor();
9470   void SetCachedSize(int size) const;
9471   void InternalSwap(RecurrentParameter* other);
9472   void UnsafeMergeFrom(const RecurrentParameter& from);
9473   private:
9474   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9475     return _internal_metadata_.arena();
9476   }
9477   inline void* MaybeArenaPtr() const {
9478     return _internal_metadata_.raw_arena_ptr();
9479   }
9480   public:
9481
9482   ::google::protobuf::Metadata GetMetadata() const;
9483
9484   // nested types ----------------------------------------------------
9485
9486   // accessors -------------------------------------------------------
9487
9488   // optional uint32 num_output = 1 [default = 0];
9489   bool has_num_output() const;
9490   void clear_num_output();
9491   static const int kNumOutputFieldNumber = 1;
9492   ::google::protobuf::uint32 num_output() const;
9493   void set_num_output(::google::protobuf::uint32 value);
9494
9495   // optional .opencv_caffe.FillerParameter weight_filler = 2;
9496   bool has_weight_filler() const;
9497   void clear_weight_filler();
9498   static const int kWeightFillerFieldNumber = 2;
9499   const ::opencv_caffe::FillerParameter& weight_filler() const;
9500   ::opencv_caffe::FillerParameter* mutable_weight_filler();
9501   ::opencv_caffe::FillerParameter* release_weight_filler();
9502   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
9503
9504   // optional .opencv_caffe.FillerParameter bias_filler = 3;
9505   bool has_bias_filler() const;
9506   void clear_bias_filler();
9507   static const int kBiasFillerFieldNumber = 3;
9508   const ::opencv_caffe::FillerParameter& bias_filler() const;
9509   ::opencv_caffe::FillerParameter* mutable_bias_filler();
9510   ::opencv_caffe::FillerParameter* release_bias_filler();
9511   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
9512
9513   // optional bool debug_info = 4 [default = false];
9514   bool has_debug_info() const;
9515   void clear_debug_info();
9516   static const int kDebugInfoFieldNumber = 4;
9517   bool debug_info() const;
9518   void set_debug_info(bool value);
9519
9520   // optional bool expose_hidden = 5 [default = false];
9521   bool has_expose_hidden() const;
9522   void clear_expose_hidden();
9523   static const int kExposeHiddenFieldNumber = 5;
9524   bool expose_hidden() const;
9525   void set_expose_hidden(bool value);
9526
9527   // @@protoc_insertion_point(class_scope:opencv_caffe.RecurrentParameter)
9528  private:
9529   inline void set_has_num_output();
9530   inline void clear_has_num_output();
9531   inline void set_has_weight_filler();
9532   inline void clear_has_weight_filler();
9533   inline void set_has_bias_filler();
9534   inline void clear_has_bias_filler();
9535   inline void set_has_debug_info();
9536   inline void clear_has_debug_info();
9537   inline void set_has_expose_hidden();
9538   inline void clear_has_expose_hidden();
9539
9540   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9541   ::google::protobuf::internal::HasBits<1> _has_bits_;
9542   mutable int _cached_size_;
9543   ::opencv_caffe::FillerParameter* weight_filler_;
9544   ::opencv_caffe::FillerParameter* bias_filler_;
9545   ::google::protobuf::uint32 num_output_;
9546   bool debug_info_;
9547   bool expose_hidden_;
9548   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9549   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9550   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9551   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9552
9553   void InitAsDefaultInstance();
9554 };
9555 extern ::google::protobuf::internal::ExplicitlyConstructed<RecurrentParameter> RecurrentParameter_default_instance_;
9556
9557 // -------------------------------------------------------------------
9558
9559 class ReductionParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ReductionParameter) */ {
9560  public:
9561   ReductionParameter();
9562   virtual ~ReductionParameter();
9563
9564   ReductionParameter(const ReductionParameter& from);
9565
9566   inline ReductionParameter& operator=(const ReductionParameter& from) {
9567     CopyFrom(from);
9568     return *this;
9569   }
9570
9571   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9572     return _internal_metadata_.unknown_fields();
9573   }
9574
9575   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9576     return _internal_metadata_.mutable_unknown_fields();
9577   }
9578
9579   static const ::google::protobuf::Descriptor* descriptor();
9580   static const ReductionParameter& default_instance();
9581
9582   static const ReductionParameter* internal_default_instance();
9583
9584   void Swap(ReductionParameter* other);
9585
9586   // implements Message ----------------------------------------------
9587
9588   inline ReductionParameter* New() const { return New(NULL); }
9589
9590   ReductionParameter* New(::google::protobuf::Arena* arena) const;
9591   void CopyFrom(const ::google::protobuf::Message& from);
9592   void MergeFrom(const ::google::protobuf::Message& from);
9593   void CopyFrom(const ReductionParameter& from);
9594   void MergeFrom(const ReductionParameter& from);
9595   void Clear();
9596   bool IsInitialized() const;
9597
9598   size_t ByteSizeLong() const;
9599   bool MergePartialFromCodedStream(
9600       ::google::protobuf::io::CodedInputStream* input);
9601   void SerializeWithCachedSizes(
9602       ::google::protobuf::io::CodedOutputStream* output) const;
9603   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9604       bool deterministic, ::google::protobuf::uint8* output) const;
9605   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9606     return InternalSerializeWithCachedSizesToArray(false, output);
9607   }
9608   int GetCachedSize() const { return _cached_size_; }
9609   private:
9610   void SharedCtor();
9611   void SharedDtor();
9612   void SetCachedSize(int size) const;
9613   void InternalSwap(ReductionParameter* other);
9614   void UnsafeMergeFrom(const ReductionParameter& from);
9615   private:
9616   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9617     return _internal_metadata_.arena();
9618   }
9619   inline void* MaybeArenaPtr() const {
9620     return _internal_metadata_.raw_arena_ptr();
9621   }
9622   public:
9623
9624   ::google::protobuf::Metadata GetMetadata() const;
9625
9626   // nested types ----------------------------------------------------
9627
9628   typedef ReductionParameter_ReductionOp ReductionOp;
9629   static const ReductionOp SUM =
9630     ReductionParameter_ReductionOp_SUM;
9631   static const ReductionOp ASUM =
9632     ReductionParameter_ReductionOp_ASUM;
9633   static const ReductionOp SUMSQ =
9634     ReductionParameter_ReductionOp_SUMSQ;
9635   static const ReductionOp MEAN =
9636     ReductionParameter_ReductionOp_MEAN;
9637   static inline bool ReductionOp_IsValid(int value) {
9638     return ReductionParameter_ReductionOp_IsValid(value);
9639   }
9640   static const ReductionOp ReductionOp_MIN =
9641     ReductionParameter_ReductionOp_ReductionOp_MIN;
9642   static const ReductionOp ReductionOp_MAX =
9643     ReductionParameter_ReductionOp_ReductionOp_MAX;
9644   static const int ReductionOp_ARRAYSIZE =
9645     ReductionParameter_ReductionOp_ReductionOp_ARRAYSIZE;
9646   static inline const ::google::protobuf::EnumDescriptor*
9647   ReductionOp_descriptor() {
9648     return ReductionParameter_ReductionOp_descriptor();
9649   }
9650   static inline const ::std::string& ReductionOp_Name(ReductionOp value) {
9651     return ReductionParameter_ReductionOp_Name(value);
9652   }
9653   static inline bool ReductionOp_Parse(const ::std::string& name,
9654       ReductionOp* value) {
9655     return ReductionParameter_ReductionOp_Parse(name, value);
9656   }
9657
9658   // accessors -------------------------------------------------------
9659
9660   // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
9661   bool has_operation() const;
9662   void clear_operation();
9663   static const int kOperationFieldNumber = 1;
9664   ::opencv_caffe::ReductionParameter_ReductionOp operation() const;
9665   void set_operation(::opencv_caffe::ReductionParameter_ReductionOp value);
9666
9667   // optional int32 axis = 2 [default = 0];
9668   bool has_axis() const;
9669   void clear_axis();
9670   static const int kAxisFieldNumber = 2;
9671   ::google::protobuf::int32 axis() const;
9672   void set_axis(::google::protobuf::int32 value);
9673
9674   // optional float coeff = 3 [default = 1];
9675   bool has_coeff() const;
9676   void clear_coeff();
9677   static const int kCoeffFieldNumber = 3;
9678   float coeff() const;
9679   void set_coeff(float value);
9680
9681   // @@protoc_insertion_point(class_scope:opencv_caffe.ReductionParameter)
9682  private:
9683   inline void set_has_operation();
9684   inline void clear_has_operation();
9685   inline void set_has_axis();
9686   inline void clear_has_axis();
9687   inline void set_has_coeff();
9688   inline void clear_has_coeff();
9689
9690   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9691   ::google::protobuf::internal::HasBits<1> _has_bits_;
9692   mutable int _cached_size_;
9693   ::google::protobuf::int32 axis_;
9694   int operation_;
9695   float coeff_;
9696   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9697   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9698   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9699   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9700
9701   void InitAsDefaultInstance();
9702 };
9703 extern ::google::protobuf::internal::ExplicitlyConstructed<ReductionParameter> ReductionParameter_default_instance_;
9704
9705 // -------------------------------------------------------------------
9706
9707 class ReLUParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ReLUParameter) */ {
9708  public:
9709   ReLUParameter();
9710   virtual ~ReLUParameter();
9711
9712   ReLUParameter(const ReLUParameter& from);
9713
9714   inline ReLUParameter& operator=(const ReLUParameter& from) {
9715     CopyFrom(from);
9716     return *this;
9717   }
9718
9719   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9720     return _internal_metadata_.unknown_fields();
9721   }
9722
9723   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9724     return _internal_metadata_.mutable_unknown_fields();
9725   }
9726
9727   static const ::google::protobuf::Descriptor* descriptor();
9728   static const ReLUParameter& default_instance();
9729
9730   static const ReLUParameter* internal_default_instance();
9731
9732   void Swap(ReLUParameter* other);
9733
9734   // implements Message ----------------------------------------------
9735
9736   inline ReLUParameter* New() const { return New(NULL); }
9737
9738   ReLUParameter* New(::google::protobuf::Arena* arena) const;
9739   void CopyFrom(const ::google::protobuf::Message& from);
9740   void MergeFrom(const ::google::protobuf::Message& from);
9741   void CopyFrom(const ReLUParameter& from);
9742   void MergeFrom(const ReLUParameter& from);
9743   void Clear();
9744   bool IsInitialized() const;
9745
9746   size_t ByteSizeLong() const;
9747   bool MergePartialFromCodedStream(
9748       ::google::protobuf::io::CodedInputStream* input);
9749   void SerializeWithCachedSizes(
9750       ::google::protobuf::io::CodedOutputStream* output) const;
9751   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9752       bool deterministic, ::google::protobuf::uint8* output) const;
9753   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9754     return InternalSerializeWithCachedSizesToArray(false, output);
9755   }
9756   int GetCachedSize() const { return _cached_size_; }
9757   private:
9758   void SharedCtor();
9759   void SharedDtor();
9760   void SetCachedSize(int size) const;
9761   void InternalSwap(ReLUParameter* other);
9762   void UnsafeMergeFrom(const ReLUParameter& from);
9763   private:
9764   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9765     return _internal_metadata_.arena();
9766   }
9767   inline void* MaybeArenaPtr() const {
9768     return _internal_metadata_.raw_arena_ptr();
9769   }
9770   public:
9771
9772   ::google::protobuf::Metadata GetMetadata() const;
9773
9774   // nested types ----------------------------------------------------
9775
9776   typedef ReLUParameter_Engine Engine;
9777   static const Engine DEFAULT =
9778     ReLUParameter_Engine_DEFAULT;
9779   static const Engine CAFFE =
9780     ReLUParameter_Engine_CAFFE;
9781   static const Engine CUDNN =
9782     ReLUParameter_Engine_CUDNN;
9783   static inline bool Engine_IsValid(int value) {
9784     return ReLUParameter_Engine_IsValid(value);
9785   }
9786   static const Engine Engine_MIN =
9787     ReLUParameter_Engine_Engine_MIN;
9788   static const Engine Engine_MAX =
9789     ReLUParameter_Engine_Engine_MAX;
9790   static const int Engine_ARRAYSIZE =
9791     ReLUParameter_Engine_Engine_ARRAYSIZE;
9792   static inline const ::google::protobuf::EnumDescriptor*
9793   Engine_descriptor() {
9794     return ReLUParameter_Engine_descriptor();
9795   }
9796   static inline const ::std::string& Engine_Name(Engine value) {
9797     return ReLUParameter_Engine_Name(value);
9798   }
9799   static inline bool Engine_Parse(const ::std::string& name,
9800       Engine* value) {
9801     return ReLUParameter_Engine_Parse(name, value);
9802   }
9803
9804   // accessors -------------------------------------------------------
9805
9806   // optional float negative_slope = 1 [default = 0];
9807   bool has_negative_slope() const;
9808   void clear_negative_slope();
9809   static const int kNegativeSlopeFieldNumber = 1;
9810   float negative_slope() const;
9811   void set_negative_slope(float value);
9812
9813   // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
9814   bool has_engine() const;
9815   void clear_engine();
9816   static const int kEngineFieldNumber = 2;
9817   ::opencv_caffe::ReLUParameter_Engine engine() const;
9818   void set_engine(::opencv_caffe::ReLUParameter_Engine value);
9819
9820   // @@protoc_insertion_point(class_scope:opencv_caffe.ReLUParameter)
9821  private:
9822   inline void set_has_negative_slope();
9823   inline void clear_has_negative_slope();
9824   inline void set_has_engine();
9825   inline void clear_has_engine();
9826
9827   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9828   ::google::protobuf::internal::HasBits<1> _has_bits_;
9829   mutable int _cached_size_;
9830   float negative_slope_;
9831   int engine_;
9832   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9833   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9834   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9835   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9836
9837   void InitAsDefaultInstance();
9838 };
9839 extern ::google::protobuf::internal::ExplicitlyConstructed<ReLUParameter> ReLUParameter_default_instance_;
9840
9841 // -------------------------------------------------------------------
9842
9843 class ReshapeParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ReshapeParameter) */ {
9844  public:
9845   ReshapeParameter();
9846   virtual ~ReshapeParameter();
9847
9848   ReshapeParameter(const ReshapeParameter& from);
9849
9850   inline ReshapeParameter& operator=(const ReshapeParameter& from) {
9851     CopyFrom(from);
9852     return *this;
9853   }
9854
9855   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9856     return _internal_metadata_.unknown_fields();
9857   }
9858
9859   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9860     return _internal_metadata_.mutable_unknown_fields();
9861   }
9862
9863   static const ::google::protobuf::Descriptor* descriptor();
9864   static const ReshapeParameter& default_instance();
9865
9866   static const ReshapeParameter* internal_default_instance();
9867
9868   void Swap(ReshapeParameter* other);
9869
9870   // implements Message ----------------------------------------------
9871
9872   inline ReshapeParameter* New() const { return New(NULL); }
9873
9874   ReshapeParameter* New(::google::protobuf::Arena* arena) const;
9875   void CopyFrom(const ::google::protobuf::Message& from);
9876   void MergeFrom(const ::google::protobuf::Message& from);
9877   void CopyFrom(const ReshapeParameter& from);
9878   void MergeFrom(const ReshapeParameter& from);
9879   void Clear();
9880   bool IsInitialized() const;
9881
9882   size_t ByteSizeLong() const;
9883   bool MergePartialFromCodedStream(
9884       ::google::protobuf::io::CodedInputStream* input);
9885   void SerializeWithCachedSizes(
9886       ::google::protobuf::io::CodedOutputStream* output) const;
9887   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9888       bool deterministic, ::google::protobuf::uint8* output) const;
9889   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9890     return InternalSerializeWithCachedSizesToArray(false, output);
9891   }
9892   int GetCachedSize() const { return _cached_size_; }
9893   private:
9894   void SharedCtor();
9895   void SharedDtor();
9896   void SetCachedSize(int size) const;
9897   void InternalSwap(ReshapeParameter* other);
9898   void UnsafeMergeFrom(const ReshapeParameter& from);
9899   private:
9900   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9901     return _internal_metadata_.arena();
9902   }
9903   inline void* MaybeArenaPtr() const {
9904     return _internal_metadata_.raw_arena_ptr();
9905   }
9906   public:
9907
9908   ::google::protobuf::Metadata GetMetadata() const;
9909
9910   // nested types ----------------------------------------------------
9911
9912   // accessors -------------------------------------------------------
9913
9914   // optional .opencv_caffe.BlobShape shape = 1;
9915   bool has_shape() const;
9916   void clear_shape();
9917   static const int kShapeFieldNumber = 1;
9918   const ::opencv_caffe::BlobShape& shape() const;
9919   ::opencv_caffe::BlobShape* mutable_shape();
9920   ::opencv_caffe::BlobShape* release_shape();
9921   void set_allocated_shape(::opencv_caffe::BlobShape* shape);
9922
9923   // optional int32 axis = 2 [default = 0];
9924   bool has_axis() const;
9925   void clear_axis();
9926   static const int kAxisFieldNumber = 2;
9927   ::google::protobuf::int32 axis() const;
9928   void set_axis(::google::protobuf::int32 value);
9929
9930   // optional int32 num_axes = 3 [default = -1];
9931   bool has_num_axes() const;
9932   void clear_num_axes();
9933   static const int kNumAxesFieldNumber = 3;
9934   ::google::protobuf::int32 num_axes() const;
9935   void set_num_axes(::google::protobuf::int32 value);
9936
9937   // @@protoc_insertion_point(class_scope:opencv_caffe.ReshapeParameter)
9938  private:
9939   inline void set_has_shape();
9940   inline void clear_has_shape();
9941   inline void set_has_axis();
9942   inline void clear_has_axis();
9943   inline void set_has_num_axes();
9944   inline void clear_has_num_axes();
9945
9946   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9947   ::google::protobuf::internal::HasBits<1> _has_bits_;
9948   mutable int _cached_size_;
9949   ::opencv_caffe::BlobShape* shape_;
9950   ::google::protobuf::int32 axis_;
9951   ::google::protobuf::int32 num_axes_;
9952   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9953   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9954   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9955   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9956
9957   void InitAsDefaultInstance();
9958 };
9959 extern ::google::protobuf::internal::ExplicitlyConstructed<ReshapeParameter> ReshapeParameter_default_instance_;
9960
9961 // -------------------------------------------------------------------
9962
9963 class ScaleParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ScaleParameter) */ {
9964  public:
9965   ScaleParameter();
9966   virtual ~ScaleParameter();
9967
9968   ScaleParameter(const ScaleParameter& from);
9969
9970   inline ScaleParameter& operator=(const ScaleParameter& from) {
9971     CopyFrom(from);
9972     return *this;
9973   }
9974
9975   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9976     return _internal_metadata_.unknown_fields();
9977   }
9978
9979   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9980     return _internal_metadata_.mutable_unknown_fields();
9981   }
9982
9983   static const ::google::protobuf::Descriptor* descriptor();
9984   static const ScaleParameter& default_instance();
9985
9986   static const ScaleParameter* internal_default_instance();
9987
9988   void Swap(ScaleParameter* other);
9989
9990   // implements Message ----------------------------------------------
9991
9992   inline ScaleParameter* New() const { return New(NULL); }
9993
9994   ScaleParameter* New(::google::protobuf::Arena* arena) const;
9995   void CopyFrom(const ::google::protobuf::Message& from);
9996   void MergeFrom(const ::google::protobuf::Message& from);
9997   void CopyFrom(const ScaleParameter& from);
9998   void MergeFrom(const ScaleParameter& from);
9999   void Clear();
10000   bool IsInitialized() const;
10001
10002   size_t ByteSizeLong() const;
10003   bool MergePartialFromCodedStream(
10004       ::google::protobuf::io::CodedInputStream* input);
10005   void SerializeWithCachedSizes(
10006       ::google::protobuf::io::CodedOutputStream* output) const;
10007   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10008       bool deterministic, ::google::protobuf::uint8* output) const;
10009   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10010     return InternalSerializeWithCachedSizesToArray(false, output);
10011   }
10012   int GetCachedSize() const { return _cached_size_; }
10013   private:
10014   void SharedCtor();
10015   void SharedDtor();
10016   void SetCachedSize(int size) const;
10017   void InternalSwap(ScaleParameter* other);
10018   void UnsafeMergeFrom(const ScaleParameter& from);
10019   private:
10020   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10021     return _internal_metadata_.arena();
10022   }
10023   inline void* MaybeArenaPtr() const {
10024     return _internal_metadata_.raw_arena_ptr();
10025   }
10026   public:
10027
10028   ::google::protobuf::Metadata GetMetadata() const;
10029
10030   // nested types ----------------------------------------------------
10031
10032   // accessors -------------------------------------------------------
10033
10034   // optional int32 axis = 1 [default = 1];
10035   bool has_axis() const;
10036   void clear_axis();
10037   static const int kAxisFieldNumber = 1;
10038   ::google::protobuf::int32 axis() const;
10039   void set_axis(::google::protobuf::int32 value);
10040
10041   // optional int32 num_axes = 2 [default = 1];
10042   bool has_num_axes() const;
10043   void clear_num_axes();
10044   static const int kNumAxesFieldNumber = 2;
10045   ::google::protobuf::int32 num_axes() const;
10046   void set_num_axes(::google::protobuf::int32 value);
10047
10048   // optional .opencv_caffe.FillerParameter filler = 3;
10049   bool has_filler() const;
10050   void clear_filler();
10051   static const int kFillerFieldNumber = 3;
10052   const ::opencv_caffe::FillerParameter& filler() const;
10053   ::opencv_caffe::FillerParameter* mutable_filler();
10054   ::opencv_caffe::FillerParameter* release_filler();
10055   void set_allocated_filler(::opencv_caffe::FillerParameter* filler);
10056
10057   // optional bool bias_term = 4 [default = false];
10058   bool has_bias_term() const;
10059   void clear_bias_term();
10060   static const int kBiasTermFieldNumber = 4;
10061   bool bias_term() const;
10062   void set_bias_term(bool value);
10063
10064   // optional .opencv_caffe.FillerParameter bias_filler = 5;
10065   bool has_bias_filler() const;
10066   void clear_bias_filler();
10067   static const int kBiasFillerFieldNumber = 5;
10068   const ::opencv_caffe::FillerParameter& bias_filler() const;
10069   ::opencv_caffe::FillerParameter* mutable_bias_filler();
10070   ::opencv_caffe::FillerParameter* release_bias_filler();
10071   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
10072
10073   // @@protoc_insertion_point(class_scope:opencv_caffe.ScaleParameter)
10074  private:
10075   inline void set_has_axis();
10076   inline void clear_has_axis();
10077   inline void set_has_num_axes();
10078   inline void clear_has_num_axes();
10079   inline void set_has_filler();
10080   inline void clear_has_filler();
10081   inline void set_has_bias_term();
10082   inline void clear_has_bias_term();
10083   inline void set_has_bias_filler();
10084   inline void clear_has_bias_filler();
10085
10086   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10087   ::google::protobuf::internal::HasBits<1> _has_bits_;
10088   mutable int _cached_size_;
10089   ::opencv_caffe::FillerParameter* filler_;
10090   ::opencv_caffe::FillerParameter* bias_filler_;
10091   bool bias_term_;
10092   ::google::protobuf::int32 axis_;
10093   ::google::protobuf::int32 num_axes_;
10094   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10095   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10096   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10097   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10098
10099   void InitAsDefaultInstance();
10100 };
10101 extern ::google::protobuf::internal::ExplicitlyConstructed<ScaleParameter> ScaleParameter_default_instance_;
10102
10103 // -------------------------------------------------------------------
10104
10105 class SigmoidParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SigmoidParameter) */ {
10106  public:
10107   SigmoidParameter();
10108   virtual ~SigmoidParameter();
10109
10110   SigmoidParameter(const SigmoidParameter& from);
10111
10112   inline SigmoidParameter& operator=(const SigmoidParameter& from) {
10113     CopyFrom(from);
10114     return *this;
10115   }
10116
10117   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10118     return _internal_metadata_.unknown_fields();
10119   }
10120
10121   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10122     return _internal_metadata_.mutable_unknown_fields();
10123   }
10124
10125   static const ::google::protobuf::Descriptor* descriptor();
10126   static const SigmoidParameter& default_instance();
10127
10128   static const SigmoidParameter* internal_default_instance();
10129
10130   void Swap(SigmoidParameter* other);
10131
10132   // implements Message ----------------------------------------------
10133
10134   inline SigmoidParameter* New() const { return New(NULL); }
10135
10136   SigmoidParameter* New(::google::protobuf::Arena* arena) const;
10137   void CopyFrom(const ::google::protobuf::Message& from);
10138   void MergeFrom(const ::google::protobuf::Message& from);
10139   void CopyFrom(const SigmoidParameter& from);
10140   void MergeFrom(const SigmoidParameter& from);
10141   void Clear();
10142   bool IsInitialized() const;
10143
10144   size_t ByteSizeLong() const;
10145   bool MergePartialFromCodedStream(
10146       ::google::protobuf::io::CodedInputStream* input);
10147   void SerializeWithCachedSizes(
10148       ::google::protobuf::io::CodedOutputStream* output) const;
10149   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10150       bool deterministic, ::google::protobuf::uint8* output) const;
10151   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10152     return InternalSerializeWithCachedSizesToArray(false, output);
10153   }
10154   int GetCachedSize() const { return _cached_size_; }
10155   private:
10156   void SharedCtor();
10157   void SharedDtor();
10158   void SetCachedSize(int size) const;
10159   void InternalSwap(SigmoidParameter* other);
10160   void UnsafeMergeFrom(const SigmoidParameter& from);
10161   private:
10162   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10163     return _internal_metadata_.arena();
10164   }
10165   inline void* MaybeArenaPtr() const {
10166     return _internal_metadata_.raw_arena_ptr();
10167   }
10168   public:
10169
10170   ::google::protobuf::Metadata GetMetadata() const;
10171
10172   // nested types ----------------------------------------------------
10173
10174   typedef SigmoidParameter_Engine Engine;
10175   static const Engine DEFAULT =
10176     SigmoidParameter_Engine_DEFAULT;
10177   static const Engine CAFFE =
10178     SigmoidParameter_Engine_CAFFE;
10179   static const Engine CUDNN =
10180     SigmoidParameter_Engine_CUDNN;
10181   static inline bool Engine_IsValid(int value) {
10182     return SigmoidParameter_Engine_IsValid(value);
10183   }
10184   static const Engine Engine_MIN =
10185     SigmoidParameter_Engine_Engine_MIN;
10186   static const Engine Engine_MAX =
10187     SigmoidParameter_Engine_Engine_MAX;
10188   static const int Engine_ARRAYSIZE =
10189     SigmoidParameter_Engine_Engine_ARRAYSIZE;
10190   static inline const ::google::protobuf::EnumDescriptor*
10191   Engine_descriptor() {
10192     return SigmoidParameter_Engine_descriptor();
10193   }
10194   static inline const ::std::string& Engine_Name(Engine value) {
10195     return SigmoidParameter_Engine_Name(value);
10196   }
10197   static inline bool Engine_Parse(const ::std::string& name,
10198       Engine* value) {
10199     return SigmoidParameter_Engine_Parse(name, value);
10200   }
10201
10202   // accessors -------------------------------------------------------
10203
10204   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
10205   bool has_engine() const;
10206   void clear_engine();
10207   static const int kEngineFieldNumber = 1;
10208   ::opencv_caffe::SigmoidParameter_Engine engine() const;
10209   void set_engine(::opencv_caffe::SigmoidParameter_Engine value);
10210
10211   // @@protoc_insertion_point(class_scope:opencv_caffe.SigmoidParameter)
10212  private:
10213   inline void set_has_engine();
10214   inline void clear_has_engine();
10215
10216   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10217   ::google::protobuf::internal::HasBits<1> _has_bits_;
10218   mutable int _cached_size_;
10219   int engine_;
10220   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10221   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10222   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10223   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10224
10225   void InitAsDefaultInstance();
10226 };
10227 extern ::google::protobuf::internal::ExplicitlyConstructed<SigmoidParameter> SigmoidParameter_default_instance_;
10228
10229 // -------------------------------------------------------------------
10230
10231 class SliceParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SliceParameter) */ {
10232  public:
10233   SliceParameter();
10234   virtual ~SliceParameter();
10235
10236   SliceParameter(const SliceParameter& from);
10237
10238   inline SliceParameter& operator=(const SliceParameter& from) {
10239     CopyFrom(from);
10240     return *this;
10241   }
10242
10243   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10244     return _internal_metadata_.unknown_fields();
10245   }
10246
10247   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10248     return _internal_metadata_.mutable_unknown_fields();
10249   }
10250
10251   static const ::google::protobuf::Descriptor* descriptor();
10252   static const SliceParameter& default_instance();
10253
10254   static const SliceParameter* internal_default_instance();
10255
10256   void Swap(SliceParameter* other);
10257
10258   // implements Message ----------------------------------------------
10259
10260   inline SliceParameter* New() const { return New(NULL); }
10261
10262   SliceParameter* New(::google::protobuf::Arena* arena) const;
10263   void CopyFrom(const ::google::protobuf::Message& from);
10264   void MergeFrom(const ::google::protobuf::Message& from);
10265   void CopyFrom(const SliceParameter& from);
10266   void MergeFrom(const SliceParameter& from);
10267   void Clear();
10268   bool IsInitialized() const;
10269
10270   size_t ByteSizeLong() const;
10271   bool MergePartialFromCodedStream(
10272       ::google::protobuf::io::CodedInputStream* input);
10273   void SerializeWithCachedSizes(
10274       ::google::protobuf::io::CodedOutputStream* output) const;
10275   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10276       bool deterministic, ::google::protobuf::uint8* output) const;
10277   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10278     return InternalSerializeWithCachedSizesToArray(false, output);
10279   }
10280   int GetCachedSize() const { return _cached_size_; }
10281   private:
10282   void SharedCtor();
10283   void SharedDtor();
10284   void SetCachedSize(int size) const;
10285   void InternalSwap(SliceParameter* other);
10286   void UnsafeMergeFrom(const SliceParameter& from);
10287   private:
10288   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10289     return _internal_metadata_.arena();
10290   }
10291   inline void* MaybeArenaPtr() const {
10292     return _internal_metadata_.raw_arena_ptr();
10293   }
10294   public:
10295
10296   ::google::protobuf::Metadata GetMetadata() const;
10297
10298   // nested types ----------------------------------------------------
10299
10300   // accessors -------------------------------------------------------
10301
10302   // optional int32 axis = 3 [default = 1];
10303   bool has_axis() const;
10304   void clear_axis();
10305   static const int kAxisFieldNumber = 3;
10306   ::google::protobuf::int32 axis() const;
10307   void set_axis(::google::protobuf::int32 value);
10308
10309   // repeated uint32 slice_point = 2;
10310   int slice_point_size() const;
10311   void clear_slice_point();
10312   static const int kSlicePointFieldNumber = 2;
10313   ::google::protobuf::uint32 slice_point(int index) const;
10314   void set_slice_point(int index, ::google::protobuf::uint32 value);
10315   void add_slice_point(::google::protobuf::uint32 value);
10316   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
10317       slice_point() const;
10318   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
10319       mutable_slice_point();
10320
10321   // optional uint32 slice_dim = 1 [default = 1];
10322   bool has_slice_dim() const;
10323   void clear_slice_dim();
10324   static const int kSliceDimFieldNumber = 1;
10325   ::google::protobuf::uint32 slice_dim() const;
10326   void set_slice_dim(::google::protobuf::uint32 value);
10327
10328   // @@protoc_insertion_point(class_scope:opencv_caffe.SliceParameter)
10329  private:
10330   inline void set_has_axis();
10331   inline void clear_has_axis();
10332   inline void set_has_slice_dim();
10333   inline void clear_has_slice_dim();
10334
10335   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10336   ::google::protobuf::internal::HasBits<1> _has_bits_;
10337   mutable int _cached_size_;
10338   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > slice_point_;
10339   ::google::protobuf::int32 axis_;
10340   ::google::protobuf::uint32 slice_dim_;
10341   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10342   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10343   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10344   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10345
10346   void InitAsDefaultInstance();
10347 };
10348 extern ::google::protobuf::internal::ExplicitlyConstructed<SliceParameter> SliceParameter_default_instance_;
10349
10350 // -------------------------------------------------------------------
10351
10352 class SoftmaxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SoftmaxParameter) */ {
10353  public:
10354   SoftmaxParameter();
10355   virtual ~SoftmaxParameter();
10356
10357   SoftmaxParameter(const SoftmaxParameter& from);
10358
10359   inline SoftmaxParameter& operator=(const SoftmaxParameter& from) {
10360     CopyFrom(from);
10361     return *this;
10362   }
10363
10364   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10365     return _internal_metadata_.unknown_fields();
10366   }
10367
10368   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10369     return _internal_metadata_.mutable_unknown_fields();
10370   }
10371
10372   static const ::google::protobuf::Descriptor* descriptor();
10373   static const SoftmaxParameter& default_instance();
10374
10375   static const SoftmaxParameter* internal_default_instance();
10376
10377   void Swap(SoftmaxParameter* other);
10378
10379   // implements Message ----------------------------------------------
10380
10381   inline SoftmaxParameter* New() const { return New(NULL); }
10382
10383   SoftmaxParameter* New(::google::protobuf::Arena* arena) const;
10384   void CopyFrom(const ::google::protobuf::Message& from);
10385   void MergeFrom(const ::google::protobuf::Message& from);
10386   void CopyFrom(const SoftmaxParameter& from);
10387   void MergeFrom(const SoftmaxParameter& from);
10388   void Clear();
10389   bool IsInitialized() const;
10390
10391   size_t ByteSizeLong() const;
10392   bool MergePartialFromCodedStream(
10393       ::google::protobuf::io::CodedInputStream* input);
10394   void SerializeWithCachedSizes(
10395       ::google::protobuf::io::CodedOutputStream* output) const;
10396   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10397       bool deterministic, ::google::protobuf::uint8* output) const;
10398   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10399     return InternalSerializeWithCachedSizesToArray(false, output);
10400   }
10401   int GetCachedSize() const { return _cached_size_; }
10402   private:
10403   void SharedCtor();
10404   void SharedDtor();
10405   void SetCachedSize(int size) const;
10406   void InternalSwap(SoftmaxParameter* other);
10407   void UnsafeMergeFrom(const SoftmaxParameter& from);
10408   private:
10409   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10410     return _internal_metadata_.arena();
10411   }
10412   inline void* MaybeArenaPtr() const {
10413     return _internal_metadata_.raw_arena_ptr();
10414   }
10415   public:
10416
10417   ::google::protobuf::Metadata GetMetadata() const;
10418
10419   // nested types ----------------------------------------------------
10420
10421   typedef SoftmaxParameter_Engine Engine;
10422   static const Engine DEFAULT =
10423     SoftmaxParameter_Engine_DEFAULT;
10424   static const Engine CAFFE =
10425     SoftmaxParameter_Engine_CAFFE;
10426   static const Engine CUDNN =
10427     SoftmaxParameter_Engine_CUDNN;
10428   static inline bool Engine_IsValid(int value) {
10429     return SoftmaxParameter_Engine_IsValid(value);
10430   }
10431   static const Engine Engine_MIN =
10432     SoftmaxParameter_Engine_Engine_MIN;
10433   static const Engine Engine_MAX =
10434     SoftmaxParameter_Engine_Engine_MAX;
10435   static const int Engine_ARRAYSIZE =
10436     SoftmaxParameter_Engine_Engine_ARRAYSIZE;
10437   static inline const ::google::protobuf::EnumDescriptor*
10438   Engine_descriptor() {
10439     return SoftmaxParameter_Engine_descriptor();
10440   }
10441   static inline const ::std::string& Engine_Name(Engine value) {
10442     return SoftmaxParameter_Engine_Name(value);
10443   }
10444   static inline bool Engine_Parse(const ::std::string& name,
10445       Engine* value) {
10446     return SoftmaxParameter_Engine_Parse(name, value);
10447   }
10448
10449   // accessors -------------------------------------------------------
10450
10451   // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
10452   bool has_engine() const;
10453   void clear_engine();
10454   static const int kEngineFieldNumber = 1;
10455   ::opencv_caffe::SoftmaxParameter_Engine engine() const;
10456   void set_engine(::opencv_caffe::SoftmaxParameter_Engine value);
10457
10458   // optional int32 axis = 2 [default = 1];
10459   bool has_axis() const;
10460   void clear_axis();
10461   static const int kAxisFieldNumber = 2;
10462   ::google::protobuf::int32 axis() const;
10463   void set_axis(::google::protobuf::int32 value);
10464
10465   // @@protoc_insertion_point(class_scope:opencv_caffe.SoftmaxParameter)
10466  private:
10467   inline void set_has_engine();
10468   inline void clear_has_engine();
10469   inline void set_has_axis();
10470   inline void clear_has_axis();
10471
10472   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10473   ::google::protobuf::internal::HasBits<1> _has_bits_;
10474   mutable int _cached_size_;
10475   int engine_;
10476   ::google::protobuf::int32 axis_;
10477   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10478   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10479   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10480   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10481
10482   void InitAsDefaultInstance();
10483 };
10484 extern ::google::protobuf::internal::ExplicitlyConstructed<SoftmaxParameter> SoftmaxParameter_default_instance_;
10485
10486 // -------------------------------------------------------------------
10487
10488 class TanHParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.TanHParameter) */ {
10489  public:
10490   TanHParameter();
10491   virtual ~TanHParameter();
10492
10493   TanHParameter(const TanHParameter& from);
10494
10495   inline TanHParameter& operator=(const TanHParameter& from) {
10496     CopyFrom(from);
10497     return *this;
10498   }
10499
10500   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10501     return _internal_metadata_.unknown_fields();
10502   }
10503
10504   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10505     return _internal_metadata_.mutable_unknown_fields();
10506   }
10507
10508   static const ::google::protobuf::Descriptor* descriptor();
10509   static const TanHParameter& default_instance();
10510
10511   static const TanHParameter* internal_default_instance();
10512
10513   void Swap(TanHParameter* other);
10514
10515   // implements Message ----------------------------------------------
10516
10517   inline TanHParameter* New() const { return New(NULL); }
10518
10519   TanHParameter* New(::google::protobuf::Arena* arena) const;
10520   void CopyFrom(const ::google::protobuf::Message& from);
10521   void MergeFrom(const ::google::protobuf::Message& from);
10522   void CopyFrom(const TanHParameter& from);
10523   void MergeFrom(const TanHParameter& from);
10524   void Clear();
10525   bool IsInitialized() const;
10526
10527   size_t ByteSizeLong() const;
10528   bool MergePartialFromCodedStream(
10529       ::google::protobuf::io::CodedInputStream* input);
10530   void SerializeWithCachedSizes(
10531       ::google::protobuf::io::CodedOutputStream* output) const;
10532   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10533       bool deterministic, ::google::protobuf::uint8* output) const;
10534   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10535     return InternalSerializeWithCachedSizesToArray(false, output);
10536   }
10537   int GetCachedSize() const { return _cached_size_; }
10538   private:
10539   void SharedCtor();
10540   void SharedDtor();
10541   void SetCachedSize(int size) const;
10542   void InternalSwap(TanHParameter* other);
10543   void UnsafeMergeFrom(const TanHParameter& from);
10544   private:
10545   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10546     return _internal_metadata_.arena();
10547   }
10548   inline void* MaybeArenaPtr() const {
10549     return _internal_metadata_.raw_arena_ptr();
10550   }
10551   public:
10552
10553   ::google::protobuf::Metadata GetMetadata() const;
10554
10555   // nested types ----------------------------------------------------
10556
10557   typedef TanHParameter_Engine Engine;
10558   static const Engine DEFAULT =
10559     TanHParameter_Engine_DEFAULT;
10560   static const Engine CAFFE =
10561     TanHParameter_Engine_CAFFE;
10562   static const Engine CUDNN =
10563     TanHParameter_Engine_CUDNN;
10564   static inline bool Engine_IsValid(int value) {
10565     return TanHParameter_Engine_IsValid(value);
10566   }
10567   static const Engine Engine_MIN =
10568     TanHParameter_Engine_Engine_MIN;
10569   static const Engine Engine_MAX =
10570     TanHParameter_Engine_Engine_MAX;
10571   static const int Engine_ARRAYSIZE =
10572     TanHParameter_Engine_Engine_ARRAYSIZE;
10573   static inline const ::google::protobuf::EnumDescriptor*
10574   Engine_descriptor() {
10575     return TanHParameter_Engine_descriptor();
10576   }
10577   static inline const ::std::string& Engine_Name(Engine value) {
10578     return TanHParameter_Engine_Name(value);
10579   }
10580   static inline bool Engine_Parse(const ::std::string& name,
10581       Engine* value) {
10582     return TanHParameter_Engine_Parse(name, value);
10583   }
10584
10585   // accessors -------------------------------------------------------
10586
10587   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
10588   bool has_engine() const;
10589   void clear_engine();
10590   static const int kEngineFieldNumber = 1;
10591   ::opencv_caffe::TanHParameter_Engine engine() const;
10592   void set_engine(::opencv_caffe::TanHParameter_Engine value);
10593
10594   // @@protoc_insertion_point(class_scope:opencv_caffe.TanHParameter)
10595  private:
10596   inline void set_has_engine();
10597   inline void clear_has_engine();
10598
10599   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10600   ::google::protobuf::internal::HasBits<1> _has_bits_;
10601   mutable int _cached_size_;
10602   int engine_;
10603   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10604   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10605   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10606   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10607
10608   void InitAsDefaultInstance();
10609 };
10610 extern ::google::protobuf::internal::ExplicitlyConstructed<TanHParameter> TanHParameter_default_instance_;
10611
10612 // -------------------------------------------------------------------
10613
10614 class TileParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.TileParameter) */ {
10615  public:
10616   TileParameter();
10617   virtual ~TileParameter();
10618
10619   TileParameter(const TileParameter& from);
10620
10621   inline TileParameter& operator=(const TileParameter& from) {
10622     CopyFrom(from);
10623     return *this;
10624   }
10625
10626   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10627     return _internal_metadata_.unknown_fields();
10628   }
10629
10630   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10631     return _internal_metadata_.mutable_unknown_fields();
10632   }
10633
10634   static const ::google::protobuf::Descriptor* descriptor();
10635   static const TileParameter& default_instance();
10636
10637   static const TileParameter* internal_default_instance();
10638
10639   void Swap(TileParameter* other);
10640
10641   // implements Message ----------------------------------------------
10642
10643   inline TileParameter* New() const { return New(NULL); }
10644
10645   TileParameter* New(::google::protobuf::Arena* arena) const;
10646   void CopyFrom(const ::google::protobuf::Message& from);
10647   void MergeFrom(const ::google::protobuf::Message& from);
10648   void CopyFrom(const TileParameter& from);
10649   void MergeFrom(const TileParameter& from);
10650   void Clear();
10651   bool IsInitialized() const;
10652
10653   size_t ByteSizeLong() const;
10654   bool MergePartialFromCodedStream(
10655       ::google::protobuf::io::CodedInputStream* input);
10656   void SerializeWithCachedSizes(
10657       ::google::protobuf::io::CodedOutputStream* output) const;
10658   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10659       bool deterministic, ::google::protobuf::uint8* output) const;
10660   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10661     return InternalSerializeWithCachedSizesToArray(false, output);
10662   }
10663   int GetCachedSize() const { return _cached_size_; }
10664   private:
10665   void SharedCtor();
10666   void SharedDtor();
10667   void SetCachedSize(int size) const;
10668   void InternalSwap(TileParameter* other);
10669   void UnsafeMergeFrom(const TileParameter& from);
10670   private:
10671   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10672     return _internal_metadata_.arena();
10673   }
10674   inline void* MaybeArenaPtr() const {
10675     return _internal_metadata_.raw_arena_ptr();
10676   }
10677   public:
10678
10679   ::google::protobuf::Metadata GetMetadata() const;
10680
10681   // nested types ----------------------------------------------------
10682
10683   // accessors -------------------------------------------------------
10684
10685   // optional int32 axis = 1 [default = 1];
10686   bool has_axis() const;
10687   void clear_axis();
10688   static const int kAxisFieldNumber = 1;
10689   ::google::protobuf::int32 axis() const;
10690   void set_axis(::google::protobuf::int32 value);
10691
10692   // optional int32 tiles = 2;
10693   bool has_tiles() const;
10694   void clear_tiles();
10695   static const int kTilesFieldNumber = 2;
10696   ::google::protobuf::int32 tiles() const;
10697   void set_tiles(::google::protobuf::int32 value);
10698
10699   // @@protoc_insertion_point(class_scope:opencv_caffe.TileParameter)
10700  private:
10701   inline void set_has_axis();
10702   inline void clear_has_axis();
10703   inline void set_has_tiles();
10704   inline void clear_has_tiles();
10705
10706   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10707   ::google::protobuf::internal::HasBits<1> _has_bits_;
10708   mutable int _cached_size_;
10709   ::google::protobuf::int32 tiles_;
10710   ::google::protobuf::int32 axis_;
10711   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10712   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10713   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10714   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10715
10716   void InitAsDefaultInstance();
10717 };
10718 extern ::google::protobuf::internal::ExplicitlyConstructed<TileParameter> TileParameter_default_instance_;
10719
10720 // -------------------------------------------------------------------
10721
10722 class ThresholdParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ThresholdParameter) */ {
10723  public:
10724   ThresholdParameter();
10725   virtual ~ThresholdParameter();
10726
10727   ThresholdParameter(const ThresholdParameter& from);
10728
10729   inline ThresholdParameter& operator=(const ThresholdParameter& from) {
10730     CopyFrom(from);
10731     return *this;
10732   }
10733
10734   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10735     return _internal_metadata_.unknown_fields();
10736   }
10737
10738   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10739     return _internal_metadata_.mutable_unknown_fields();
10740   }
10741
10742   static const ::google::protobuf::Descriptor* descriptor();
10743   static const ThresholdParameter& default_instance();
10744
10745   static const ThresholdParameter* internal_default_instance();
10746
10747   void Swap(ThresholdParameter* other);
10748
10749   // implements Message ----------------------------------------------
10750
10751   inline ThresholdParameter* New() const { return New(NULL); }
10752
10753   ThresholdParameter* New(::google::protobuf::Arena* arena) const;
10754   void CopyFrom(const ::google::protobuf::Message& from);
10755   void MergeFrom(const ::google::protobuf::Message& from);
10756   void CopyFrom(const ThresholdParameter& from);
10757   void MergeFrom(const ThresholdParameter& from);
10758   void Clear();
10759   bool IsInitialized() const;
10760
10761   size_t ByteSizeLong() const;
10762   bool MergePartialFromCodedStream(
10763       ::google::protobuf::io::CodedInputStream* input);
10764   void SerializeWithCachedSizes(
10765       ::google::protobuf::io::CodedOutputStream* output) const;
10766   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10767       bool deterministic, ::google::protobuf::uint8* output) const;
10768   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10769     return InternalSerializeWithCachedSizesToArray(false, output);
10770   }
10771   int GetCachedSize() const { return _cached_size_; }
10772   private:
10773   void SharedCtor();
10774   void SharedDtor();
10775   void SetCachedSize(int size) const;
10776   void InternalSwap(ThresholdParameter* other);
10777   void UnsafeMergeFrom(const ThresholdParameter& from);
10778   private:
10779   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10780     return _internal_metadata_.arena();
10781   }
10782   inline void* MaybeArenaPtr() const {
10783     return _internal_metadata_.raw_arena_ptr();
10784   }
10785   public:
10786
10787   ::google::protobuf::Metadata GetMetadata() const;
10788
10789   // nested types ----------------------------------------------------
10790
10791   // accessors -------------------------------------------------------
10792
10793   // optional float threshold = 1 [default = 0];
10794   bool has_threshold() const;
10795   void clear_threshold();
10796   static const int kThresholdFieldNumber = 1;
10797   float threshold() const;
10798   void set_threshold(float value);
10799
10800   // @@protoc_insertion_point(class_scope:opencv_caffe.ThresholdParameter)
10801  private:
10802   inline void set_has_threshold();
10803   inline void clear_has_threshold();
10804
10805   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10806   ::google::protobuf::internal::HasBits<1> _has_bits_;
10807   mutable int _cached_size_;
10808   float threshold_;
10809   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10810   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10811   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10812   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10813
10814   void InitAsDefaultInstance();
10815 };
10816 extern ::google::protobuf::internal::ExplicitlyConstructed<ThresholdParameter> ThresholdParameter_default_instance_;
10817
10818 // -------------------------------------------------------------------
10819
10820 class WindowDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.WindowDataParameter) */ {
10821  public:
10822   WindowDataParameter();
10823   virtual ~WindowDataParameter();
10824
10825   WindowDataParameter(const WindowDataParameter& from);
10826
10827   inline WindowDataParameter& operator=(const WindowDataParameter& from) {
10828     CopyFrom(from);
10829     return *this;
10830   }
10831
10832   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10833     return _internal_metadata_.unknown_fields();
10834   }
10835
10836   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10837     return _internal_metadata_.mutable_unknown_fields();
10838   }
10839
10840   static const ::google::protobuf::Descriptor* descriptor();
10841   static const WindowDataParameter& default_instance();
10842
10843   static const WindowDataParameter* internal_default_instance();
10844
10845   void Swap(WindowDataParameter* other);
10846
10847   // implements Message ----------------------------------------------
10848
10849   inline WindowDataParameter* New() const { return New(NULL); }
10850
10851   WindowDataParameter* New(::google::protobuf::Arena* arena) const;
10852   void CopyFrom(const ::google::protobuf::Message& from);
10853   void MergeFrom(const ::google::protobuf::Message& from);
10854   void CopyFrom(const WindowDataParameter& from);
10855   void MergeFrom(const WindowDataParameter& from);
10856   void Clear();
10857   bool IsInitialized() const;
10858
10859   size_t ByteSizeLong() const;
10860   bool MergePartialFromCodedStream(
10861       ::google::protobuf::io::CodedInputStream* input);
10862   void SerializeWithCachedSizes(
10863       ::google::protobuf::io::CodedOutputStream* output) const;
10864   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10865       bool deterministic, ::google::protobuf::uint8* output) const;
10866   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10867     return InternalSerializeWithCachedSizesToArray(false, output);
10868   }
10869   int GetCachedSize() const { return _cached_size_; }
10870   private:
10871   void SharedCtor();
10872   void SharedDtor();
10873   void SetCachedSize(int size) const;
10874   void InternalSwap(WindowDataParameter* other);
10875   void UnsafeMergeFrom(const WindowDataParameter& from);
10876   private:
10877   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10878     return _internal_metadata_.arena();
10879   }
10880   inline void* MaybeArenaPtr() const {
10881     return _internal_metadata_.raw_arena_ptr();
10882   }
10883   public:
10884
10885   ::google::protobuf::Metadata GetMetadata() const;
10886
10887   // nested types ----------------------------------------------------
10888
10889   // accessors -------------------------------------------------------
10890
10891   // optional string source = 1;
10892   bool has_source() const;
10893   void clear_source();
10894   static const int kSourceFieldNumber = 1;
10895   const ::std::string& source() const;
10896   void set_source(const ::std::string& value);
10897   void set_source(const char* value);
10898   void set_source(const char* value, size_t size);
10899   ::std::string* mutable_source();
10900   ::std::string* release_source();
10901   void set_allocated_source(::std::string* source);
10902
10903   // optional float scale = 2 [default = 1];
10904   bool has_scale() const;
10905   void clear_scale();
10906   static const int kScaleFieldNumber = 2;
10907   float scale() const;
10908   void set_scale(float value);
10909
10910   // optional string mean_file = 3;
10911   bool has_mean_file() const;
10912   void clear_mean_file();
10913   static const int kMeanFileFieldNumber = 3;
10914   const ::std::string& mean_file() const;
10915   void set_mean_file(const ::std::string& value);
10916   void set_mean_file(const char* value);
10917   void set_mean_file(const char* value, size_t size);
10918   ::std::string* mutable_mean_file();
10919   ::std::string* release_mean_file();
10920   void set_allocated_mean_file(::std::string* mean_file);
10921
10922   // optional uint32 batch_size = 4;
10923   bool has_batch_size() const;
10924   void clear_batch_size();
10925   static const int kBatchSizeFieldNumber = 4;
10926   ::google::protobuf::uint32 batch_size() const;
10927   void set_batch_size(::google::protobuf::uint32 value);
10928
10929   // optional uint32 crop_size = 5 [default = 0];
10930   bool has_crop_size() const;
10931   void clear_crop_size();
10932   static const int kCropSizeFieldNumber = 5;
10933   ::google::protobuf::uint32 crop_size() const;
10934   void set_crop_size(::google::protobuf::uint32 value);
10935
10936   // optional bool mirror = 6 [default = false];
10937   bool has_mirror() const;
10938   void clear_mirror();
10939   static const int kMirrorFieldNumber = 6;
10940   bool mirror() const;
10941   void set_mirror(bool value);
10942
10943   // optional float fg_threshold = 7 [default = 0.5];
10944   bool has_fg_threshold() const;
10945   void clear_fg_threshold();
10946   static const int kFgThresholdFieldNumber = 7;
10947   float fg_threshold() const;
10948   void set_fg_threshold(float value);
10949
10950   // optional float bg_threshold = 8 [default = 0.5];
10951   bool has_bg_threshold() const;
10952   void clear_bg_threshold();
10953   static const int kBgThresholdFieldNumber = 8;
10954   float bg_threshold() const;
10955   void set_bg_threshold(float value);
10956
10957   // optional float fg_fraction = 9 [default = 0.25];
10958   bool has_fg_fraction() const;
10959   void clear_fg_fraction();
10960   static const int kFgFractionFieldNumber = 9;
10961   float fg_fraction() const;
10962   void set_fg_fraction(float value);
10963
10964   // optional uint32 context_pad = 10 [default = 0];
10965   bool has_context_pad() const;
10966   void clear_context_pad();
10967   static const int kContextPadFieldNumber = 10;
10968   ::google::protobuf::uint32 context_pad() const;
10969   void set_context_pad(::google::protobuf::uint32 value);
10970
10971   // optional string crop_mode = 11 [default = "warp"];
10972   bool has_crop_mode() const;
10973   void clear_crop_mode();
10974   static const int kCropModeFieldNumber = 11;
10975   const ::std::string& crop_mode() const;
10976   void set_crop_mode(const ::std::string& value);
10977   void set_crop_mode(const char* value);
10978   void set_crop_mode(const char* value, size_t size);
10979   ::std::string* mutable_crop_mode();
10980   ::std::string* release_crop_mode();
10981   void set_allocated_crop_mode(::std::string* crop_mode);
10982
10983   // optional bool cache_images = 12 [default = false];
10984   bool has_cache_images() const;
10985   void clear_cache_images();
10986   static const int kCacheImagesFieldNumber = 12;
10987   bool cache_images() const;
10988   void set_cache_images(bool value);
10989
10990   // optional string root_folder = 13 [default = ""];
10991   bool has_root_folder() const;
10992   void clear_root_folder();
10993   static const int kRootFolderFieldNumber = 13;
10994   const ::std::string& root_folder() const;
10995   void set_root_folder(const ::std::string& value);
10996   void set_root_folder(const char* value);
10997   void set_root_folder(const char* value, size_t size);
10998   ::std::string* mutable_root_folder();
10999   ::std::string* release_root_folder();
11000   void set_allocated_root_folder(::std::string* root_folder);
11001
11002   // @@protoc_insertion_point(class_scope:opencv_caffe.WindowDataParameter)
11003  private:
11004   inline void set_has_source();
11005   inline void clear_has_source();
11006   inline void set_has_scale();
11007   inline void clear_has_scale();
11008   inline void set_has_mean_file();
11009   inline void clear_has_mean_file();
11010   inline void set_has_batch_size();
11011   inline void clear_has_batch_size();
11012   inline void set_has_crop_size();
11013   inline void clear_has_crop_size();
11014   inline void set_has_mirror();
11015   inline void clear_has_mirror();
11016   inline void set_has_fg_threshold();
11017   inline void clear_has_fg_threshold();
11018   inline void set_has_bg_threshold();
11019   inline void clear_has_bg_threshold();
11020   inline void set_has_fg_fraction();
11021   inline void clear_has_fg_fraction();
11022   inline void set_has_context_pad();
11023   inline void clear_has_context_pad();
11024   inline void set_has_crop_mode();
11025   inline void clear_has_crop_mode();
11026   inline void set_has_cache_images();
11027   inline void clear_has_cache_images();
11028   inline void set_has_root_folder();
11029   inline void clear_has_root_folder();
11030
11031   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
11032   ::google::protobuf::internal::HasBits<1> _has_bits_;
11033   mutable int _cached_size_;
11034   ::google::protobuf::internal::ArenaStringPtr source_;
11035   ::google::protobuf::internal::ArenaStringPtr mean_file_;
11036   static ::std::string* _default_crop_mode_;
11037   ::google::protobuf::internal::ArenaStringPtr crop_mode_;
11038   ::google::protobuf::internal::ArenaStringPtr root_folder_;
11039   ::google::protobuf::uint32 batch_size_;
11040   ::google::protobuf::uint32 crop_size_;
11041   bool mirror_;
11042   bool cache_images_;
11043   ::google::protobuf::uint32 context_pad_;
11044   float scale_;
11045   float fg_threshold_;
11046   float bg_threshold_;
11047   float fg_fraction_;
11048   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
11049   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
11050   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
11051   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
11052
11053   void InitAsDefaultInstance();
11054 };
11055 extern ::google::protobuf::internal::ExplicitlyConstructed<WindowDataParameter> WindowDataParameter_default_instance_;
11056
11057 // -------------------------------------------------------------------
11058
11059 class SPPParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SPPParameter) */ {
11060  public:
11061   SPPParameter();
11062   virtual ~SPPParameter();
11063
11064   SPPParameter(const SPPParameter& from);
11065
11066   inline SPPParameter& operator=(const SPPParameter& from) {
11067     CopyFrom(from);
11068     return *this;
11069   }
11070
11071   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
11072     return _internal_metadata_.unknown_fields();
11073   }
11074
11075   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
11076     return _internal_metadata_.mutable_unknown_fields();
11077   }
11078
11079   static const ::google::protobuf::Descriptor* descriptor();
11080   static const SPPParameter& default_instance();
11081
11082   static const SPPParameter* internal_default_instance();
11083
11084   void Swap(SPPParameter* other);
11085
11086   // implements Message ----------------------------------------------
11087
11088   inline SPPParameter* New() const { return New(NULL); }
11089
11090   SPPParameter* New(::google::protobuf::Arena* arena) const;
11091   void CopyFrom(const ::google::protobuf::Message& from);
11092   void MergeFrom(const ::google::protobuf::Message& from);
11093   void CopyFrom(const SPPParameter& from);
11094   void MergeFrom(const SPPParameter& from);
11095   void Clear();
11096   bool IsInitialized() const;
11097
11098   size_t ByteSizeLong() const;
11099   bool MergePartialFromCodedStream(
11100       ::google::protobuf::io::CodedInputStream* input);
11101   void SerializeWithCachedSizes(
11102       ::google::protobuf::io::CodedOutputStream* output) const;
11103   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
11104       bool deterministic, ::google::protobuf::uint8* output) const;
11105   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
11106     return InternalSerializeWithCachedSizesToArray(false, output);
11107   }
11108   int GetCachedSize() const { return _cached_size_; }
11109   private:
11110   void SharedCtor();
11111   void SharedDtor();
11112   void SetCachedSize(int size) const;
11113   void InternalSwap(SPPParameter* other);
11114   void UnsafeMergeFrom(const SPPParameter& from);
11115   private:
11116   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
11117     return _internal_metadata_.arena();
11118   }
11119   inline void* MaybeArenaPtr() const {
11120     return _internal_metadata_.raw_arena_ptr();
11121   }
11122   public:
11123
11124   ::google::protobuf::Metadata GetMetadata() const;
11125
11126   // nested types ----------------------------------------------------
11127
11128   typedef SPPParameter_PoolMethod PoolMethod;
11129   static const PoolMethod MAX =
11130     SPPParameter_PoolMethod_MAX;
11131   static const PoolMethod AVE =
11132     SPPParameter_PoolMethod_AVE;
11133   static const PoolMethod STOCHASTIC =
11134     SPPParameter_PoolMethod_STOCHASTIC;
11135   static inline bool PoolMethod_IsValid(int value) {
11136     return SPPParameter_PoolMethod_IsValid(value);
11137   }
11138   static const PoolMethod PoolMethod_MIN =
11139     SPPParameter_PoolMethod_PoolMethod_MIN;
11140   static const PoolMethod PoolMethod_MAX =
11141     SPPParameter_PoolMethod_PoolMethod_MAX;
11142   static const int PoolMethod_ARRAYSIZE =
11143     SPPParameter_PoolMethod_PoolMethod_ARRAYSIZE;
11144   static inline const ::google::protobuf::EnumDescriptor*
11145   PoolMethod_descriptor() {
11146     return SPPParameter_PoolMethod_descriptor();
11147   }
11148   static inline const ::std::string& PoolMethod_Name(PoolMethod value) {
11149     return SPPParameter_PoolMethod_Name(value);
11150   }
11151   static inline bool PoolMethod_Parse(const ::std::string& name,
11152       PoolMethod* value) {
11153     return SPPParameter_PoolMethod_Parse(name, value);
11154   }
11155
11156   typedef SPPParameter_Engine Engine;
11157   static const Engine DEFAULT =
11158     SPPParameter_Engine_DEFAULT;
11159   static const Engine CAFFE =
11160     SPPParameter_Engine_CAFFE;
11161   static const Engine CUDNN =
11162     SPPParameter_Engine_CUDNN;
11163   static inline bool Engine_IsValid(int value) {
11164     return SPPParameter_Engine_IsValid(value);
11165   }
11166   static const Engine Engine_MIN =
11167     SPPParameter_Engine_Engine_MIN;
11168   static const Engine Engine_MAX =
11169     SPPParameter_Engine_Engine_MAX;
11170   static const int Engine_ARRAYSIZE =
11171     SPPParameter_Engine_Engine_ARRAYSIZE;
11172   static inline const ::google::protobuf::EnumDescriptor*
11173   Engine_descriptor() {
11174     return SPPParameter_Engine_descriptor();
11175   }
11176   static inline const ::std::string& Engine_Name(Engine value) {
11177     return SPPParameter_Engine_Name(value);
11178   }
11179   static inline bool Engine_Parse(const ::std::string& name,
11180       Engine* value) {
11181     return SPPParameter_Engine_Parse(name, value);
11182   }
11183
11184   // accessors -------------------------------------------------------
11185
11186   // optional uint32 pyramid_height = 1;
11187   bool has_pyramid_height() const;
11188   void clear_pyramid_height();
11189   static const int kPyramidHeightFieldNumber = 1;
11190   ::google::protobuf::uint32 pyramid_height() const;
11191   void set_pyramid_height(::google::protobuf::uint32 value);
11192
11193   // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
11194   bool has_pool() const;
11195   void clear_pool();
11196   static const int kPoolFieldNumber = 2;
11197   ::opencv_caffe::SPPParameter_PoolMethod pool() const;
11198   void set_pool(::opencv_caffe::SPPParameter_PoolMethod value);
11199
11200   // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
11201   bool has_engine() const;
11202   void clear_engine();
11203   static const int kEngineFieldNumber = 6;
11204   ::opencv_caffe::SPPParameter_Engine engine() const;
11205   void set_engine(::opencv_caffe::SPPParameter_Engine value);
11206
11207   // @@protoc_insertion_point(class_scope:opencv_caffe.SPPParameter)
11208  private:
11209   inline void set_has_pyramid_height();
11210   inline void clear_has_pyramid_height();
11211   inline void set_has_pool();
11212   inline void clear_has_pool();
11213   inline void set_has_engine();
11214   inline void clear_has_engine();
11215
11216   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
11217   ::google::protobuf::internal::HasBits<1> _has_bits_;
11218   mutable int _cached_size_;
11219   ::google::protobuf::uint32 pyramid_height_;
11220   int pool_;
11221   int engine_;
11222   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
11223   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
11224   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
11225   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
11226
11227   void InitAsDefaultInstance();
11228 };
11229 extern ::google::protobuf::internal::ExplicitlyConstructed<SPPParameter> SPPParameter_default_instance_;
11230
11231 // -------------------------------------------------------------------
11232
11233 class V1LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.V1LayerParameter) */ {
11234  public:
11235   V1LayerParameter();
11236   virtual ~V1LayerParameter();
11237
11238   V1LayerParameter(const V1LayerParameter& from);
11239
11240   inline V1LayerParameter& operator=(const V1LayerParameter& from) {
11241     CopyFrom(from);
11242     return *this;
11243   }
11244
11245   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
11246     return _internal_metadata_.unknown_fields();
11247   }
11248
11249   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
11250     return _internal_metadata_.mutable_unknown_fields();
11251   }
11252
11253   static const ::google::protobuf::Descriptor* descriptor();
11254   static const V1LayerParameter& default_instance();
11255
11256   static const V1LayerParameter* internal_default_instance();
11257
11258   void Swap(V1LayerParameter* other);
11259
11260   // implements Message ----------------------------------------------
11261
11262   inline V1LayerParameter* New() const { return New(NULL); }
11263
11264   V1LayerParameter* New(::google::protobuf::Arena* arena) const;
11265   void CopyFrom(const ::google::protobuf::Message& from);
11266   void MergeFrom(const ::google::protobuf::Message& from);
11267   void CopyFrom(const V1LayerParameter& from);
11268   void MergeFrom(const V1LayerParameter& from);
11269   void Clear();
11270   bool IsInitialized() const;
11271
11272   size_t ByteSizeLong() const;
11273   bool MergePartialFromCodedStream(
11274       ::google::protobuf::io::CodedInputStream* input);
11275   void SerializeWithCachedSizes(
11276       ::google::protobuf::io::CodedOutputStream* output) const;
11277   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
11278       bool deterministic, ::google::protobuf::uint8* output) const;
11279   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
11280     return InternalSerializeWithCachedSizesToArray(false, output);
11281   }
11282   int GetCachedSize() const { return _cached_size_; }
11283   private:
11284   void SharedCtor();
11285   void SharedDtor();
11286   void SetCachedSize(int size) const;
11287   void InternalSwap(V1LayerParameter* other);
11288   void UnsafeMergeFrom(const V1LayerParameter& from);
11289   private:
11290   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
11291     return _internal_metadata_.arena();
11292   }
11293   inline void* MaybeArenaPtr() const {
11294     return _internal_metadata_.raw_arena_ptr();
11295   }
11296   public:
11297
11298   ::google::protobuf::Metadata GetMetadata() const;
11299
11300   // nested types ----------------------------------------------------
11301
11302   typedef V1LayerParameter_LayerType LayerType;
11303   static const LayerType NONE =
11304     V1LayerParameter_LayerType_NONE;
11305   static const LayerType ABSVAL =
11306     V1LayerParameter_LayerType_ABSVAL;
11307   static const LayerType ACCURACY =
11308     V1LayerParameter_LayerType_ACCURACY;
11309   static const LayerType ARGMAX =
11310     V1LayerParameter_LayerType_ARGMAX;
11311   static const LayerType BNLL =
11312     V1LayerParameter_LayerType_BNLL;
11313   static const LayerType CONCAT =
11314     V1LayerParameter_LayerType_CONCAT;
11315   static const LayerType CONTRASTIVE_LOSS =
11316     V1LayerParameter_LayerType_CONTRASTIVE_LOSS;
11317   static const LayerType CONVOLUTION =
11318     V1LayerParameter_LayerType_CONVOLUTION;
11319   static const LayerType DATA =
11320     V1LayerParameter_LayerType_DATA;
11321   static const LayerType DECONVOLUTION =
11322     V1LayerParameter_LayerType_DECONVOLUTION;
11323   static const LayerType DROPOUT =
11324     V1LayerParameter_LayerType_DROPOUT;
11325   static const LayerType DUMMY_DATA =
11326     V1LayerParameter_LayerType_DUMMY_DATA;
11327   static const LayerType EUCLIDEAN_LOSS =
11328     V1LayerParameter_LayerType_EUCLIDEAN_LOSS;
11329   static const LayerType ELTWISE =
11330     V1LayerParameter_LayerType_ELTWISE;
11331   static const LayerType EXP =
11332     V1LayerParameter_LayerType_EXP;
11333   static const LayerType FLATTEN =
11334     V1LayerParameter_LayerType_FLATTEN;
11335   static const LayerType HDF5_DATA =
11336     V1LayerParameter_LayerType_HDF5_DATA;
11337   static const LayerType HDF5_OUTPUT =
11338     V1LayerParameter_LayerType_HDF5_OUTPUT;
11339   static const LayerType HINGE_LOSS =
11340     V1LayerParameter_LayerType_HINGE_LOSS;
11341   static const LayerType IM2COL =
11342     V1LayerParameter_LayerType_IM2COL;
11343   static const LayerType IMAGE_DATA =
11344     V1LayerParameter_LayerType_IMAGE_DATA;
11345   static const LayerType INFOGAIN_LOSS =
11346     V1LayerParameter_LayerType_INFOGAIN_LOSS;
11347   static const LayerType INNER_PRODUCT =
11348     V1LayerParameter_LayerType_INNER_PRODUCT;
11349   static const LayerType LRN =
11350     V1LayerParameter_LayerType_LRN;
11351   static const LayerType MEMORY_DATA =
11352     V1LayerParameter_LayerType_MEMORY_DATA;
11353   static const LayerType MULTINOMIAL_LOGISTIC_LOSS =
11354     V1LayerParameter_LayerType_MULTINOMIAL_LOGISTIC_LOSS;
11355   static const LayerType MVN =
11356     V1LayerParameter_LayerType_MVN;
11357   static const LayerType POOLING =
11358     V1LayerParameter_LayerType_POOLING;
11359   static const LayerType POWER =
11360     V1LayerParameter_LayerType_POWER;
11361   static const LayerType RELU =
11362     V1LayerParameter_LayerType_RELU;
11363   static const LayerType SIGMOID =
11364     V1LayerParameter_LayerType_SIGMOID;
11365   static const LayerType SIGMOID_CROSS_ENTROPY_LOSS =
11366     V1LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS;
11367   static const LayerType SILENCE =
11368     V1LayerParameter_LayerType_SILENCE;
11369   static const LayerType SOFTMAX =
11370     V1LayerParameter_LayerType_SOFTMAX;
11371   static const LayerType SOFTMAX_LOSS =
11372     V1LayerParameter_LayerType_SOFTMAX_LOSS;
11373   static const LayerType SPLIT =
11374     V1LayerParameter_LayerType_SPLIT;
11375   static const LayerType SLICE =
11376     V1LayerParameter_LayerType_SLICE;
11377   static const LayerType TANH =
11378     V1LayerParameter_LayerType_TANH;
11379   static const LayerType WINDOW_DATA =
11380     V1LayerParameter_LayerType_WINDOW_DATA;
11381   static const LayerType THRESHOLD =
11382     V1LayerParameter_LayerType_THRESHOLD;
11383   static inline bool LayerType_IsValid(int value) {
11384     return V1LayerParameter_LayerType_IsValid(value);
11385   }
11386   static const LayerType LayerType_MIN =
11387     V1LayerParameter_LayerType_LayerType_MIN;
11388   static const LayerType LayerType_MAX =
11389     V1LayerParameter_LayerType_LayerType_MAX;
11390   static const int LayerType_ARRAYSIZE =
11391     V1LayerParameter_LayerType_LayerType_ARRAYSIZE;
11392   static inline const ::google::protobuf::EnumDescriptor*
11393   LayerType_descriptor() {
11394     return V1LayerParameter_LayerType_descriptor();
11395   }
11396   static inline const ::std::string& LayerType_Name(LayerType value) {
11397     return V1LayerParameter_LayerType_Name(value);
11398   }
11399   static inline bool LayerType_Parse(const ::std::string& name,
11400       LayerType* value) {
11401     return V1LayerParameter_LayerType_Parse(name, value);
11402   }
11403
11404   typedef V1LayerParameter_DimCheckMode DimCheckMode;
11405   static const DimCheckMode STRICT =
11406     V1LayerParameter_DimCheckMode_STRICT;
11407   static const DimCheckMode PERMISSIVE =
11408     V1LayerParameter_DimCheckMode_PERMISSIVE;
11409   static inline bool DimCheckMode_IsValid(int value) {
11410     return V1LayerParameter_DimCheckMode_IsValid(value);
11411   }
11412   static const DimCheckMode DimCheckMode_MIN =
11413     V1LayerParameter_DimCheckMode_DimCheckMode_MIN;
11414   static const DimCheckMode DimCheckMode_MAX =
11415     V1LayerParameter_DimCheckMode_DimCheckMode_MAX;
11416   static const int DimCheckMode_ARRAYSIZE =
11417     V1LayerParameter_DimCheckMode_DimCheckMode_ARRAYSIZE;
11418   static inline const ::google::protobuf::EnumDescriptor*
11419   DimCheckMode_descriptor() {
11420     return V1LayerParameter_DimCheckMode_descriptor();
11421   }
11422   static inline const ::std::string& DimCheckMode_Name(DimCheckMode value) {
11423     return V1LayerParameter_DimCheckMode_Name(value);
11424   }
11425   static inline bool DimCheckMode_Parse(const ::std::string& name,
11426       DimCheckMode* value) {
11427     return V1LayerParameter_DimCheckMode_Parse(name, value);
11428   }
11429
11430   // accessors -------------------------------------------------------
11431
11432   // repeated string bottom = 2;
11433   int bottom_size() const;
11434   void clear_bottom();
11435   static const int kBottomFieldNumber = 2;
11436   const ::std::string& bottom(int index) const;
11437   ::std::string* mutable_bottom(int index);
11438   void set_bottom(int index, const ::std::string& value);
11439   void set_bottom(int index, const char* value);
11440   void set_bottom(int index, const char* value, size_t size);
11441   ::std::string* add_bottom();
11442   void add_bottom(const ::std::string& value);
11443   void add_bottom(const char* value);
11444   void add_bottom(const char* value, size_t size);
11445   const ::google::protobuf::RepeatedPtrField< ::std::string>& bottom() const;
11446   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_bottom();
11447
11448   // repeated string top = 3;
11449   int top_size() const;
11450   void clear_top();
11451   static const int kTopFieldNumber = 3;
11452   const ::std::string& top(int index) const;
11453   ::std::string* mutable_top(int index);
11454   void set_top(int index, const ::std::string& value);
11455   void set_top(int index, const char* value);
11456   void set_top(int index, const char* value, size_t size);
11457   ::std::string* add_top();
11458   void add_top(const ::std::string& value);
11459   void add_top(const char* value);
11460   void add_top(const char* value, size_t size);
11461   const ::google::protobuf::RepeatedPtrField< ::std::string>& top() const;
11462   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_top();
11463
11464   // optional string name = 4;
11465   bool has_name() const;
11466   void clear_name();
11467   static const int kNameFieldNumber = 4;
11468   const ::std::string& name() const;
11469   void set_name(const ::std::string& value);
11470   void set_name(const char* value);
11471   void set_name(const char* value, size_t size);
11472   ::std::string* mutable_name();
11473   ::std::string* release_name();
11474   void set_allocated_name(::std::string* name);
11475
11476   // repeated .opencv_caffe.NetStateRule include = 32;
11477   int include_size() const;
11478   void clear_include();
11479   static const int kIncludeFieldNumber = 32;
11480   const ::opencv_caffe::NetStateRule& include(int index) const;
11481   ::opencv_caffe::NetStateRule* mutable_include(int index);
11482   ::opencv_caffe::NetStateRule* add_include();
11483   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
11484       mutable_include();
11485   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
11486       include() const;
11487
11488   // repeated .opencv_caffe.NetStateRule exclude = 33;
11489   int exclude_size() const;
11490   void clear_exclude();
11491   static const int kExcludeFieldNumber = 33;
11492   const ::opencv_caffe::NetStateRule& exclude(int index) const;
11493   ::opencv_caffe::NetStateRule* mutable_exclude(int index);
11494   ::opencv_caffe::NetStateRule* add_exclude();
11495   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
11496       mutable_exclude();
11497   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
11498       exclude() const;
11499
11500   // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
11501   bool has_type() const;
11502   void clear_type();
11503   static const int kTypeFieldNumber = 5;
11504   ::opencv_caffe::V1LayerParameter_LayerType type() const;
11505   void set_type(::opencv_caffe::V1LayerParameter_LayerType value);
11506
11507   // repeated .opencv_caffe.BlobProto blobs = 6;
11508   int blobs_size() const;
11509   void clear_blobs();
11510   static const int kBlobsFieldNumber = 6;
11511   const ::opencv_caffe::BlobProto& blobs(int index) const;
11512   ::opencv_caffe::BlobProto* mutable_blobs(int index);
11513   ::opencv_caffe::BlobProto* add_blobs();
11514   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
11515       mutable_blobs();
11516   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
11517       blobs() const;
11518
11519   // repeated string param = 1001;
11520   int param_size() const;
11521   void clear_param();
11522   static const int kParamFieldNumber = 1001;
11523   const ::std::string& param(int index) const;
11524   ::std::string* mutable_param(int index);
11525   void set_param(int index, const ::std::string& value);
11526   void set_param(int index, const char* value);
11527   void set_param(int index, const char* value, size_t size);
11528   ::std::string* add_param();
11529   void add_param(const ::std::string& value);
11530   void add_param(const char* value);
11531   void add_param(const char* value, size_t size);
11532   const ::google::protobuf::RepeatedPtrField< ::std::string>& param() const;
11533   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_param();
11534
11535   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
11536   int blob_share_mode_size() const;
11537   void clear_blob_share_mode();
11538   static const int kBlobShareModeFieldNumber = 1002;
11539   ::opencv_caffe::V1LayerParameter_DimCheckMode blob_share_mode(int index) const;
11540   void set_blob_share_mode(int index, ::opencv_caffe::V1LayerParameter_DimCheckMode value);
11541   void add_blob_share_mode(::opencv_caffe::V1LayerParameter_DimCheckMode value);
11542   const ::google::protobuf::RepeatedField<int>& blob_share_mode() const;
11543   ::google::protobuf::RepeatedField<int>* mutable_blob_share_mode();
11544
11545   // repeated float blobs_lr = 7;
11546   int blobs_lr_size() const;
11547   void clear_blobs_lr();
11548   static const int kBlobsLrFieldNumber = 7;
11549   float blobs_lr(int index) const;
11550   void set_blobs_lr(int index, float value);
11551   void add_blobs_lr(float value);
11552   const ::google::protobuf::RepeatedField< float >&
11553       blobs_lr() const;
11554   ::google::protobuf::RepeatedField< float >*
11555       mutable_blobs_lr();
11556
11557   // repeated float weight_decay = 8;
11558   int weight_decay_size() const;
11559   void clear_weight_decay();
11560   static const int kWeightDecayFieldNumber = 8;
11561   float weight_decay(int index) const;
11562   void set_weight_decay(int index, float value);
11563   void add_weight_decay(float value);
11564   const ::google::protobuf::RepeatedField< float >&
11565       weight_decay() const;
11566   ::google::protobuf::RepeatedField< float >*
11567       mutable_weight_decay();
11568
11569   // repeated float loss_weight = 35;
11570   int loss_weight_size() const;
11571   void clear_loss_weight();
11572   static const int kLossWeightFieldNumber = 35;
11573   float loss_weight(int index) const;
11574   void set_loss_weight(int index, float value);
11575   void add_loss_weight(float value);
11576   const ::google::protobuf::RepeatedField< float >&
11577       loss_weight() const;
11578   ::google::protobuf::RepeatedField< float >*
11579       mutable_loss_weight();
11580
11581   // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
11582   bool has_accuracy_param() const;
11583   void clear_accuracy_param();
11584   static const int kAccuracyParamFieldNumber = 27;
11585   const ::opencv_caffe::AccuracyParameter& accuracy_param() const;
11586   ::opencv_caffe::AccuracyParameter* mutable_accuracy_param();
11587   ::opencv_caffe::AccuracyParameter* release_accuracy_param();
11588   void set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param);
11589
11590   // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
11591   bool has_argmax_param() const;
11592   void clear_argmax_param();
11593   static const int kArgmaxParamFieldNumber = 23;
11594   const ::opencv_caffe::ArgMaxParameter& argmax_param() const;
11595   ::opencv_caffe::ArgMaxParameter* mutable_argmax_param();
11596   ::opencv_caffe::ArgMaxParameter* release_argmax_param();
11597   void set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param);
11598
11599   // optional .opencv_caffe.ConcatParameter concat_param = 9;
11600   bool has_concat_param() const;
11601   void clear_concat_param();
11602   static const int kConcatParamFieldNumber = 9;
11603   const ::opencv_caffe::ConcatParameter& concat_param() const;
11604   ::opencv_caffe::ConcatParameter* mutable_concat_param();
11605   ::opencv_caffe::ConcatParameter* release_concat_param();
11606   void set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param);
11607
11608   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
11609   bool has_contrastive_loss_param() const;
11610   void clear_contrastive_loss_param();
11611   static const int kContrastiveLossParamFieldNumber = 40;
11612   const ::opencv_caffe::ContrastiveLossParameter& contrastive_loss_param() const;
11613   ::opencv_caffe::ContrastiveLossParameter* mutable_contrastive_loss_param();
11614   ::opencv_caffe::ContrastiveLossParameter* release_contrastive_loss_param();
11615   void set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param);
11616
11617   // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
11618   bool has_convolution_param() const;
11619   void clear_convolution_param();
11620   static const int kConvolutionParamFieldNumber = 10;
11621   const ::opencv_caffe::ConvolutionParameter& convolution_param() const;
11622   ::opencv_caffe::ConvolutionParameter* mutable_convolution_param();
11623   ::opencv_caffe::ConvolutionParameter* release_convolution_param();
11624   void set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param);
11625
11626   // optional .opencv_caffe.DataParameter data_param = 11;
11627   bool has_data_param() const;
11628   void clear_data_param();
11629   static const int kDataParamFieldNumber = 11;
11630   const ::opencv_caffe::DataParameter& data_param() const;
11631   ::opencv_caffe::DataParameter* mutable_data_param();
11632   ::opencv_caffe::DataParameter* release_data_param();
11633   void set_allocated_data_param(::opencv_caffe::DataParameter* data_param);
11634
11635   // optional .opencv_caffe.DropoutParameter dropout_param = 12;
11636   bool has_dropout_param() const;
11637   void clear_dropout_param();
11638   static const int kDropoutParamFieldNumber = 12;
11639   const ::opencv_caffe::DropoutParameter& dropout_param() const;
11640   ::opencv_caffe::DropoutParameter* mutable_dropout_param();
11641   ::opencv_caffe::DropoutParameter* release_dropout_param();
11642   void set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param);
11643
11644   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
11645   bool has_dummy_data_param() const;
11646   void clear_dummy_data_param();
11647   static const int kDummyDataParamFieldNumber = 26;
11648   const ::opencv_caffe::DummyDataParameter& dummy_data_param() const;
11649   ::opencv_caffe::DummyDataParameter* mutable_dummy_data_param();
11650   ::opencv_caffe::DummyDataParameter* release_dummy_data_param();
11651   void set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param);
11652
11653   // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
11654   bool has_eltwise_param() const;
11655   void clear_eltwise_param();
11656   static const int kEltwiseParamFieldNumber = 24;
11657   const ::opencv_caffe::EltwiseParameter& eltwise_param() const;
11658   ::opencv_caffe::EltwiseParameter* mutable_eltwise_param();
11659   ::opencv_caffe::EltwiseParameter* release_eltwise_param();
11660   void set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param);
11661
11662   // optional .opencv_caffe.ExpParameter exp_param = 41;
11663   bool has_exp_param() const;
11664   void clear_exp_param();
11665   static const int kExpParamFieldNumber = 41;
11666   const ::opencv_caffe::ExpParameter& exp_param() const;
11667   ::opencv_caffe::ExpParameter* mutable_exp_param();
11668   ::opencv_caffe::ExpParameter* release_exp_param();
11669   void set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param);
11670
11671   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
11672   bool has_hdf5_data_param() const;
11673   void clear_hdf5_data_param();
11674   static const int kHdf5DataParamFieldNumber = 13;
11675   const ::opencv_caffe::HDF5DataParameter& hdf5_data_param() const;
11676   ::opencv_caffe::HDF5DataParameter* mutable_hdf5_data_param();
11677   ::opencv_caffe::HDF5DataParameter* release_hdf5_data_param();
11678   void set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param);
11679
11680   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
11681   bool has_hdf5_output_param() const;
11682   void clear_hdf5_output_param();
11683   static const int kHdf5OutputParamFieldNumber = 14;
11684   const ::opencv_caffe::HDF5OutputParameter& hdf5_output_param() const;
11685   ::opencv_caffe::HDF5OutputParameter* mutable_hdf5_output_param();
11686   ::opencv_caffe::HDF5OutputParameter* release_hdf5_output_param();
11687   void set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param);
11688
11689   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
11690   bool has_hinge_loss_param() const;
11691   void clear_hinge_loss_param();
11692   static const int kHingeLossParamFieldNumber = 29;
11693   const ::opencv_caffe::HingeLossParameter& hinge_loss_param() const;
11694   ::opencv_caffe::HingeLossParameter* mutable_hinge_loss_param();
11695   ::opencv_caffe::HingeLossParameter* release_hinge_loss_param();
11696   void set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param);
11697
11698   // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
11699   bool has_image_data_param() const;
11700   void clear_image_data_param();
11701   static const int kImageDataParamFieldNumber = 15;
11702   const ::opencv_caffe::ImageDataParameter& image_data_param() const;
11703   ::opencv_caffe::ImageDataParameter* mutable_image_data_param();
11704   ::opencv_caffe::ImageDataParameter* release_image_data_param();
11705   void set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param);
11706
11707   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
11708   bool has_infogain_loss_param() const;
11709   void clear_infogain_loss_param();
11710   static const int kInfogainLossParamFieldNumber = 16;
11711   const ::opencv_caffe::InfogainLossParameter& infogain_loss_param() const;
11712   ::opencv_caffe::InfogainLossParameter* mutable_infogain_loss_param();
11713   ::opencv_caffe::InfogainLossParameter* release_infogain_loss_param();
11714   void set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param);
11715
11716   // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
11717   bool has_inner_product_param() const;
11718   void clear_inner_product_param();
11719   static const int kInnerProductParamFieldNumber = 17;
11720   const ::opencv_caffe::InnerProductParameter& inner_product_param() const;
11721   ::opencv_caffe::InnerProductParameter* mutable_inner_product_param();
11722   ::opencv_caffe::InnerProductParameter* release_inner_product_param();
11723   void set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param);
11724
11725   // optional .opencv_caffe.LRNParameter lrn_param = 18;
11726   bool has_lrn_param() const;
11727   void clear_lrn_param();
11728   static const int kLrnParamFieldNumber = 18;
11729   const ::opencv_caffe::LRNParameter& lrn_param() const;
11730   ::opencv_caffe::LRNParameter* mutable_lrn_param();
11731   ::opencv_caffe::LRNParameter* release_lrn_param();
11732   void set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param);
11733
11734   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
11735   bool has_memory_data_param() const;
11736   void clear_memory_data_param();
11737   static const int kMemoryDataParamFieldNumber = 22;
11738   const ::opencv_caffe::MemoryDataParameter& memory_data_param() const;
11739   ::opencv_caffe::MemoryDataParameter* mutable_memory_data_param();
11740   ::opencv_caffe::MemoryDataParameter* release_memory_data_param();
11741   void set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param);
11742
11743   // optional .opencv_caffe.MVNParameter mvn_param = 34;
11744   bool has_mvn_param() const;
11745   void clear_mvn_param();
11746   static const int kMvnParamFieldNumber = 34;
11747   const ::opencv_caffe::MVNParameter& mvn_param() const;
11748   ::opencv_caffe::MVNParameter* mutable_mvn_param();
11749   ::opencv_caffe::MVNParameter* release_mvn_param();
11750   void set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param);
11751
11752   // optional .opencv_caffe.PoolingParameter pooling_param = 19;
11753   bool has_pooling_param() const;
11754   void clear_pooling_param();
11755   static const int kPoolingParamFieldNumber = 19;
11756   const ::opencv_caffe::PoolingParameter& pooling_param() const;
11757   ::opencv_caffe::PoolingParameter* mutable_pooling_param();
11758   ::opencv_caffe::PoolingParameter* release_pooling_param();
11759   void set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param);
11760
11761   // optional .opencv_caffe.PowerParameter power_param = 21;
11762   bool has_power_param() const;
11763   void clear_power_param();
11764   static const int kPowerParamFieldNumber = 21;
11765   const ::opencv_caffe::PowerParameter& power_param() const;
11766   ::opencv_caffe::PowerParameter* mutable_power_param();
11767   ::opencv_caffe::PowerParameter* release_power_param();
11768   void set_allocated_power_param(::opencv_caffe::PowerParameter* power_param);
11769
11770   // optional .opencv_caffe.ReLUParameter relu_param = 30;
11771   bool has_relu_param() const;
11772   void clear_relu_param();
11773   static const int kReluParamFieldNumber = 30;
11774   const ::opencv_caffe::ReLUParameter& relu_param() const;
11775   ::opencv_caffe::ReLUParameter* mutable_relu_param();
11776   ::opencv_caffe::ReLUParameter* release_relu_param();
11777   void set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param);
11778
11779   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
11780   bool has_sigmoid_param() const;
11781   void clear_sigmoid_param();
11782   static const int kSigmoidParamFieldNumber = 38;
11783   const ::opencv_caffe::SigmoidParameter& sigmoid_param() const;
11784   ::opencv_caffe::SigmoidParameter* mutable_sigmoid_param();
11785   ::opencv_caffe::SigmoidParameter* release_sigmoid_param();
11786   void set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param);
11787
11788   // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
11789   bool has_softmax_param() const;
11790   void clear_softmax_param();
11791   static const int kSoftmaxParamFieldNumber = 39;
11792   const ::opencv_caffe::SoftmaxParameter& softmax_param() const;
11793   ::opencv_caffe::SoftmaxParameter* mutable_softmax_param();
11794   ::opencv_caffe::SoftmaxParameter* release_softmax_param();
11795   void set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param);
11796
11797   // optional .opencv_caffe.SliceParameter slice_param = 31;
11798   bool has_slice_param() const;
11799   void clear_slice_param();
11800   static const int kSliceParamFieldNumber = 31;
11801   const ::opencv_caffe::SliceParameter& slice_param() const;
11802   ::opencv_caffe::SliceParameter* mutable_slice_param();
11803   ::opencv_caffe::SliceParameter* release_slice_param();
11804   void set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param);
11805
11806   // optional .opencv_caffe.TanHParameter tanh_param = 37;
11807   bool has_tanh_param() const;
11808   void clear_tanh_param();
11809   static const int kTanhParamFieldNumber = 37;
11810   const ::opencv_caffe::TanHParameter& tanh_param() const;
11811   ::opencv_caffe::TanHParameter* mutable_tanh_param();
11812   ::opencv_caffe::TanHParameter* release_tanh_param();
11813   void set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param);
11814
11815   // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
11816   bool has_threshold_param() const;
11817   void clear_threshold_param();
11818   static const int kThresholdParamFieldNumber = 25;
11819   const ::opencv_caffe::ThresholdParameter& threshold_param() const;
11820   ::opencv_caffe::ThresholdParameter* mutable_threshold_param();
11821   ::opencv_caffe::ThresholdParameter* release_threshold_param();
11822   void set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param);
11823
11824   // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
11825   bool has_window_data_param() const;
11826   void clear_window_data_param();
11827   static const int kWindowDataParamFieldNumber = 20;
11828   const ::opencv_caffe::WindowDataParameter& window_data_param() const;
11829   ::opencv_caffe::WindowDataParameter* mutable_window_data_param();
11830   ::opencv_caffe::WindowDataParameter* release_window_data_param();
11831   void set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param);
11832
11833   // optional .opencv_caffe.TransformationParameter transform_param = 36;
11834   bool has_transform_param() const;
11835   void clear_transform_param();
11836   static const int kTransformParamFieldNumber = 36;
11837   const ::opencv_caffe::TransformationParameter& transform_param() const;
11838   ::opencv_caffe::TransformationParameter* mutable_transform_param();
11839   ::opencv_caffe::TransformationParameter* release_transform_param();
11840   void set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param);
11841
11842   // optional .opencv_caffe.LossParameter loss_param = 42;
11843   bool has_loss_param() const;
11844   void clear_loss_param();
11845   static const int kLossParamFieldNumber = 42;
11846   const ::opencv_caffe::LossParameter& loss_param() const;
11847   ::opencv_caffe::LossParameter* mutable_loss_param();
11848   ::opencv_caffe::LossParameter* release_loss_param();
11849   void set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param);
11850
11851   // optional .opencv_caffe.V0LayerParameter layer = 1;
11852   bool has_layer() const;
11853   void clear_layer();
11854   static const int kLayerFieldNumber = 1;
11855   const ::opencv_caffe::V0LayerParameter& layer() const;
11856   ::opencv_caffe::V0LayerParameter* mutable_layer();
11857   ::opencv_caffe::V0LayerParameter* release_layer();
11858   void set_allocated_layer(::opencv_caffe::V0LayerParameter* layer);
11859
11860   // @@protoc_insertion_point(class_scope:opencv_caffe.V1LayerParameter)
11861  private:
11862   inline void set_has_name();
11863   inline void clear_has_name();
11864   inline void set_has_type();
11865   inline void clear_has_type();
11866   inline void set_has_accuracy_param();
11867   inline void clear_has_accuracy_param();
11868   inline void set_has_argmax_param();
11869   inline void clear_has_argmax_param();
11870   inline void set_has_concat_param();
11871   inline void clear_has_concat_param();
11872   inline void set_has_contrastive_loss_param();
11873   inline void clear_has_contrastive_loss_param();
11874   inline void set_has_convolution_param();
11875   inline void clear_has_convolution_param();
11876   inline void set_has_data_param();
11877   inline void clear_has_data_param();
11878   inline void set_has_dropout_param();
11879   inline void clear_has_dropout_param();
11880   inline void set_has_dummy_data_param();
11881   inline void clear_has_dummy_data_param();
11882   inline void set_has_eltwise_param();
11883   inline void clear_has_eltwise_param();
11884   inline void set_has_exp_param();
11885   inline void clear_has_exp_param();
11886   inline void set_has_hdf5_data_param();
11887   inline void clear_has_hdf5_data_param();
11888   inline void set_has_hdf5_output_param();
11889   inline void clear_has_hdf5_output_param();
11890   inline void set_has_hinge_loss_param();
11891   inline void clear_has_hinge_loss_param();
11892   inline void set_has_image_data_param();
11893   inline void clear_has_image_data_param();
11894   inline void set_has_infogain_loss_param();
11895   inline void clear_has_infogain_loss_param();
11896   inline void set_has_inner_product_param();
11897   inline void clear_has_inner_product_param();
11898   inline void set_has_lrn_param();
11899   inline void clear_has_lrn_param();
11900   inline void set_has_memory_data_param();
11901   inline void clear_has_memory_data_param();
11902   inline void set_has_mvn_param();
11903   inline void clear_has_mvn_param();
11904   inline void set_has_pooling_param();
11905   inline void clear_has_pooling_param();
11906   inline void set_has_power_param();
11907   inline void clear_has_power_param();
11908   inline void set_has_relu_param();
11909   inline void clear_has_relu_param();
11910   inline void set_has_sigmoid_param();
11911   inline void clear_has_sigmoid_param();
11912   inline void set_has_softmax_param();
11913   inline void clear_has_softmax_param();
11914   inline void set_has_slice_param();
11915   inline void clear_has_slice_param();
11916   inline void set_has_tanh_param();
11917   inline void clear_has_tanh_param();
11918   inline void set_has_threshold_param();
11919   inline void clear_has_threshold_param();
11920   inline void set_has_window_data_param();
11921   inline void clear_has_window_data_param();
11922   inline void set_has_transform_param();
11923   inline void clear_has_transform_param();
11924   inline void set_has_loss_param();
11925   inline void clear_has_loss_param();
11926   inline void set_has_layer();
11927   inline void clear_has_layer();
11928
11929   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
11930   ::google::protobuf::internal::HasBits<2> _has_bits_;
11931   ::google::protobuf::RepeatedPtrField< ::std::string> bottom_;
11932   ::google::protobuf::RepeatedPtrField< ::std::string> top_;
11933   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > include_;
11934   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > exclude_;
11935   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
11936   ::google::protobuf::RepeatedPtrField< ::std::string> param_;
11937   ::google::protobuf::RepeatedField<int> blob_share_mode_;
11938   ::google::protobuf::RepeatedField< float > blobs_lr_;
11939   ::google::protobuf::RepeatedField< float > weight_decay_;
11940   ::google::protobuf::RepeatedField< float > loss_weight_;
11941   ::google::protobuf::internal::ArenaStringPtr name_;
11942   ::opencv_caffe::AccuracyParameter* accuracy_param_;
11943   ::opencv_caffe::ArgMaxParameter* argmax_param_;
11944   ::opencv_caffe::ConcatParameter* concat_param_;
11945   ::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param_;
11946   ::opencv_caffe::ConvolutionParameter* convolution_param_;
11947   ::opencv_caffe::DataParameter* data_param_;
11948   ::opencv_caffe::DropoutParameter* dropout_param_;
11949   ::opencv_caffe::DummyDataParameter* dummy_data_param_;
11950   ::opencv_caffe::EltwiseParameter* eltwise_param_;
11951   ::opencv_caffe::ExpParameter* exp_param_;
11952   ::opencv_caffe::HDF5DataParameter* hdf5_data_param_;
11953   ::opencv_caffe::HDF5OutputParameter* hdf5_output_param_;
11954   ::opencv_caffe::HingeLossParameter* hinge_loss_param_;
11955   ::opencv_caffe::ImageDataParameter* image_data_param_;
11956   ::opencv_caffe::InfogainLossParameter* infogain_loss_param_;
11957   ::opencv_caffe::InnerProductParameter* inner_product_param_;
11958   ::opencv_caffe::LRNParameter* lrn_param_;
11959   ::opencv_caffe::MemoryDataParameter* memory_data_param_;
11960   ::opencv_caffe::MVNParameter* mvn_param_;
11961   ::opencv_caffe::PoolingParameter* pooling_param_;
11962   ::opencv_caffe::PowerParameter* power_param_;
11963   ::opencv_caffe::ReLUParameter* relu_param_;
11964   ::opencv_caffe::SigmoidParameter* sigmoid_param_;
11965   ::opencv_caffe::SoftmaxParameter* softmax_param_;
11966   ::opencv_caffe::SliceParameter* slice_param_;
11967   ::opencv_caffe::TanHParameter* tanh_param_;
11968   ::opencv_caffe::ThresholdParameter* threshold_param_;
11969   ::opencv_caffe::WindowDataParameter* window_data_param_;
11970   ::opencv_caffe::TransformationParameter* transform_param_;
11971   ::opencv_caffe::LossParameter* loss_param_;
11972   ::opencv_caffe::V0LayerParameter* layer_;
11973   int type_;
11974   mutable int _cached_size_;
11975   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
11976   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
11977   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
11978   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
11979
11980   void InitAsDefaultInstance();
11981 };
11982 extern ::google::protobuf::internal::ExplicitlyConstructed<V1LayerParameter> V1LayerParameter_default_instance_;
11983
11984 // -------------------------------------------------------------------
11985
11986 class V0LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.V0LayerParameter) */ {
11987  public:
11988   V0LayerParameter();
11989   virtual ~V0LayerParameter();
11990
11991   V0LayerParameter(const V0LayerParameter& from);
11992
11993   inline V0LayerParameter& operator=(const V0LayerParameter& from) {
11994     CopyFrom(from);
11995     return *this;
11996   }
11997
11998   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
11999     return _internal_metadata_.unknown_fields();
12000   }
12001
12002   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12003     return _internal_metadata_.mutable_unknown_fields();
12004   }
12005
12006   static const ::google::protobuf::Descriptor* descriptor();
12007   static const V0LayerParameter& default_instance();
12008
12009   static const V0LayerParameter* internal_default_instance();
12010
12011   void Swap(V0LayerParameter* other);
12012
12013   // implements Message ----------------------------------------------
12014
12015   inline V0LayerParameter* New() const { return New(NULL); }
12016
12017   V0LayerParameter* New(::google::protobuf::Arena* arena) const;
12018   void CopyFrom(const ::google::protobuf::Message& from);
12019   void MergeFrom(const ::google::protobuf::Message& from);
12020   void CopyFrom(const V0LayerParameter& from);
12021   void MergeFrom(const V0LayerParameter& from);
12022   void Clear();
12023   bool IsInitialized() const;
12024
12025   size_t ByteSizeLong() const;
12026   bool MergePartialFromCodedStream(
12027       ::google::protobuf::io::CodedInputStream* input);
12028   void SerializeWithCachedSizes(
12029       ::google::protobuf::io::CodedOutputStream* output) const;
12030   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12031       bool deterministic, ::google::protobuf::uint8* output) const;
12032   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12033     return InternalSerializeWithCachedSizesToArray(false, output);
12034   }
12035   int GetCachedSize() const { return _cached_size_; }
12036   private:
12037   void SharedCtor();
12038   void SharedDtor();
12039   void SetCachedSize(int size) const;
12040   void InternalSwap(V0LayerParameter* other);
12041   void UnsafeMergeFrom(const V0LayerParameter& from);
12042   private:
12043   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12044     return _internal_metadata_.arena();
12045   }
12046   inline void* MaybeArenaPtr() const {
12047     return _internal_metadata_.raw_arena_ptr();
12048   }
12049   public:
12050
12051   ::google::protobuf::Metadata GetMetadata() const;
12052
12053   // nested types ----------------------------------------------------
12054
12055   typedef V0LayerParameter_PoolMethod PoolMethod;
12056   static const PoolMethod MAX =
12057     V0LayerParameter_PoolMethod_MAX;
12058   static const PoolMethod AVE =
12059     V0LayerParameter_PoolMethod_AVE;
12060   static const PoolMethod STOCHASTIC =
12061     V0LayerParameter_PoolMethod_STOCHASTIC;
12062   static inline bool PoolMethod_IsValid(int value) {
12063     return V0LayerParameter_PoolMethod_IsValid(value);
12064   }
12065   static const PoolMethod PoolMethod_MIN =
12066     V0LayerParameter_PoolMethod_PoolMethod_MIN;
12067   static const PoolMethod PoolMethod_MAX =
12068     V0LayerParameter_PoolMethod_PoolMethod_MAX;
12069   static const int PoolMethod_ARRAYSIZE =
12070     V0LayerParameter_PoolMethod_PoolMethod_ARRAYSIZE;
12071   static inline const ::google::protobuf::EnumDescriptor*
12072   PoolMethod_descriptor() {
12073     return V0LayerParameter_PoolMethod_descriptor();
12074   }
12075   static inline const ::std::string& PoolMethod_Name(PoolMethod value) {
12076     return V0LayerParameter_PoolMethod_Name(value);
12077   }
12078   static inline bool PoolMethod_Parse(const ::std::string& name,
12079       PoolMethod* value) {
12080     return V0LayerParameter_PoolMethod_Parse(name, value);
12081   }
12082
12083   // accessors -------------------------------------------------------
12084
12085   // optional string name = 1;
12086   bool has_name() const;
12087   void clear_name();
12088   static const int kNameFieldNumber = 1;
12089   const ::std::string& name() const;
12090   void set_name(const ::std::string& value);
12091   void set_name(const char* value);
12092   void set_name(const char* value, size_t size);
12093   ::std::string* mutable_name();
12094   ::std::string* release_name();
12095   void set_allocated_name(::std::string* name);
12096
12097   // optional string type = 2;
12098   bool has_type() const;
12099   void clear_type();
12100   static const int kTypeFieldNumber = 2;
12101   const ::std::string& type() const;
12102   void set_type(const ::std::string& value);
12103   void set_type(const char* value);
12104   void set_type(const char* value, size_t size);
12105   ::std::string* mutable_type();
12106   ::std::string* release_type();
12107   void set_allocated_type(::std::string* type);
12108
12109   // optional uint32 num_output = 3;
12110   bool has_num_output() const;
12111   void clear_num_output();
12112   static const int kNumOutputFieldNumber = 3;
12113   ::google::protobuf::uint32 num_output() const;
12114   void set_num_output(::google::protobuf::uint32 value);
12115
12116   // optional bool biasterm = 4 [default = true];
12117   bool has_biasterm() const;
12118   void clear_biasterm();
12119   static const int kBiastermFieldNumber = 4;
12120   bool biasterm() const;
12121   void set_biasterm(bool value);
12122
12123   // optional .opencv_caffe.FillerParameter weight_filler = 5;
12124   bool has_weight_filler() const;
12125   void clear_weight_filler();
12126   static const int kWeightFillerFieldNumber = 5;
12127   const ::opencv_caffe::FillerParameter& weight_filler() const;
12128   ::opencv_caffe::FillerParameter* mutable_weight_filler();
12129   ::opencv_caffe::FillerParameter* release_weight_filler();
12130   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
12131
12132   // optional .opencv_caffe.FillerParameter bias_filler = 6;
12133   bool has_bias_filler() const;
12134   void clear_bias_filler();
12135   static const int kBiasFillerFieldNumber = 6;
12136   const ::opencv_caffe::FillerParameter& bias_filler() const;
12137   ::opencv_caffe::FillerParameter* mutable_bias_filler();
12138   ::opencv_caffe::FillerParameter* release_bias_filler();
12139   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
12140
12141   // optional uint32 pad = 7 [default = 0];
12142   bool has_pad() const;
12143   void clear_pad();
12144   static const int kPadFieldNumber = 7;
12145   ::google::protobuf::uint32 pad() const;
12146   void set_pad(::google::protobuf::uint32 value);
12147
12148   // optional uint32 kernelsize = 8;
12149   bool has_kernelsize() const;
12150   void clear_kernelsize();
12151   static const int kKernelsizeFieldNumber = 8;
12152   ::google::protobuf::uint32 kernelsize() const;
12153   void set_kernelsize(::google::protobuf::uint32 value);
12154
12155   // optional uint32 group = 9 [default = 1];
12156   bool has_group() const;
12157   void clear_group();
12158   static const int kGroupFieldNumber = 9;
12159   ::google::protobuf::uint32 group() const;
12160   void set_group(::google::protobuf::uint32 value);
12161
12162   // optional uint32 stride = 10 [default = 1];
12163   bool has_stride() const;
12164   void clear_stride();
12165   static const int kStrideFieldNumber = 10;
12166   ::google::protobuf::uint32 stride() const;
12167   void set_stride(::google::protobuf::uint32 value);
12168
12169   // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
12170   bool has_pool() const;
12171   void clear_pool();
12172   static const int kPoolFieldNumber = 11;
12173   ::opencv_caffe::V0LayerParameter_PoolMethod pool() const;
12174   void set_pool(::opencv_caffe::V0LayerParameter_PoolMethod value);
12175
12176   // optional float dropout_ratio = 12 [default = 0.5];
12177   bool has_dropout_ratio() const;
12178   void clear_dropout_ratio();
12179   static const int kDropoutRatioFieldNumber = 12;
12180   float dropout_ratio() const;
12181   void set_dropout_ratio(float value);
12182
12183   // optional uint32 local_size = 13 [default = 5];
12184   bool has_local_size() const;
12185   void clear_local_size();
12186   static const int kLocalSizeFieldNumber = 13;
12187   ::google::protobuf::uint32 local_size() const;
12188   void set_local_size(::google::protobuf::uint32 value);
12189
12190   // optional float alpha = 14 [default = 1];
12191   bool has_alpha() const;
12192   void clear_alpha();
12193   static const int kAlphaFieldNumber = 14;
12194   float alpha() const;
12195   void set_alpha(float value);
12196
12197   // optional float beta = 15 [default = 0.75];
12198   bool has_beta() const;
12199   void clear_beta();
12200   static const int kBetaFieldNumber = 15;
12201   float beta() const;
12202   void set_beta(float value);
12203
12204   // optional float k = 22 [default = 1];
12205   bool has_k() const;
12206   void clear_k();
12207   static const int kKFieldNumber = 22;
12208   float k() const;
12209   void set_k(float value);
12210
12211   // optional string source = 16;
12212   bool has_source() const;
12213   void clear_source();
12214   static const int kSourceFieldNumber = 16;
12215   const ::std::string& source() const;
12216   void set_source(const ::std::string& value);
12217   void set_source(const char* value);
12218   void set_source(const char* value, size_t size);
12219   ::std::string* mutable_source();
12220   ::std::string* release_source();
12221   void set_allocated_source(::std::string* source);
12222
12223   // optional float scale = 17 [default = 1];
12224   bool has_scale() const;
12225   void clear_scale();
12226   static const int kScaleFieldNumber = 17;
12227   float scale() const;
12228   void set_scale(float value);
12229
12230   // optional string meanfile = 18;
12231   bool has_meanfile() const;
12232   void clear_meanfile();
12233   static const int kMeanfileFieldNumber = 18;
12234   const ::std::string& meanfile() const;
12235   void set_meanfile(const ::std::string& value);
12236   void set_meanfile(const char* value);
12237   void set_meanfile(const char* value, size_t size);
12238   ::std::string* mutable_meanfile();
12239   ::std::string* release_meanfile();
12240   void set_allocated_meanfile(::std::string* meanfile);
12241
12242   // optional uint32 batchsize = 19;
12243   bool has_batchsize() const;
12244   void clear_batchsize();
12245   static const int kBatchsizeFieldNumber = 19;
12246   ::google::protobuf::uint32 batchsize() const;
12247   void set_batchsize(::google::protobuf::uint32 value);
12248
12249   // optional uint32 cropsize = 20 [default = 0];
12250   bool has_cropsize() const;
12251   void clear_cropsize();
12252   static const int kCropsizeFieldNumber = 20;
12253   ::google::protobuf::uint32 cropsize() const;
12254   void set_cropsize(::google::protobuf::uint32 value);
12255
12256   // optional bool mirror = 21 [default = false];
12257   bool has_mirror() const;
12258   void clear_mirror();
12259   static const int kMirrorFieldNumber = 21;
12260   bool mirror() const;
12261   void set_mirror(bool value);
12262
12263   // repeated .opencv_caffe.BlobProto blobs = 50;
12264   int blobs_size() const;
12265   void clear_blobs();
12266   static const int kBlobsFieldNumber = 50;
12267   const ::opencv_caffe::BlobProto& blobs(int index) const;
12268   ::opencv_caffe::BlobProto* mutable_blobs(int index);
12269   ::opencv_caffe::BlobProto* add_blobs();
12270   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
12271       mutable_blobs();
12272   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
12273       blobs() const;
12274
12275   // repeated float blobs_lr = 51;
12276   int blobs_lr_size() const;
12277   void clear_blobs_lr();
12278   static const int kBlobsLrFieldNumber = 51;
12279   float blobs_lr(int index) const;
12280   void set_blobs_lr(int index, float value);
12281   void add_blobs_lr(float value);
12282   const ::google::protobuf::RepeatedField< float >&
12283       blobs_lr() const;
12284   ::google::protobuf::RepeatedField< float >*
12285       mutable_blobs_lr();
12286
12287   // repeated float weight_decay = 52;
12288   int weight_decay_size() const;
12289   void clear_weight_decay();
12290   static const int kWeightDecayFieldNumber = 52;
12291   float weight_decay(int index) const;
12292   void set_weight_decay(int index, float value);
12293   void add_weight_decay(float value);
12294   const ::google::protobuf::RepeatedField< float >&
12295       weight_decay() const;
12296   ::google::protobuf::RepeatedField< float >*
12297       mutable_weight_decay();
12298
12299   // optional uint32 rand_skip = 53 [default = 0];
12300   bool has_rand_skip() const;
12301   void clear_rand_skip();
12302   static const int kRandSkipFieldNumber = 53;
12303   ::google::protobuf::uint32 rand_skip() const;
12304   void set_rand_skip(::google::protobuf::uint32 value);
12305
12306   // optional float det_fg_threshold = 54 [default = 0.5];
12307   bool has_det_fg_threshold() const;
12308   void clear_det_fg_threshold();
12309   static const int kDetFgThresholdFieldNumber = 54;
12310   float det_fg_threshold() const;
12311   void set_det_fg_threshold(float value);
12312
12313   // optional float det_bg_threshold = 55 [default = 0.5];
12314   bool has_det_bg_threshold() const;
12315   void clear_det_bg_threshold();
12316   static const int kDetBgThresholdFieldNumber = 55;
12317   float det_bg_threshold() const;
12318   void set_det_bg_threshold(float value);
12319
12320   // optional float det_fg_fraction = 56 [default = 0.25];
12321   bool has_det_fg_fraction() const;
12322   void clear_det_fg_fraction();
12323   static const int kDetFgFractionFieldNumber = 56;
12324   float det_fg_fraction() const;
12325   void set_det_fg_fraction(float value);
12326
12327   // optional uint32 det_context_pad = 58 [default = 0];
12328   bool has_det_context_pad() const;
12329   void clear_det_context_pad();
12330   static const int kDetContextPadFieldNumber = 58;
12331   ::google::protobuf::uint32 det_context_pad() const;
12332   void set_det_context_pad(::google::protobuf::uint32 value);
12333
12334   // optional string det_crop_mode = 59 [default = "warp"];
12335   bool has_det_crop_mode() const;
12336   void clear_det_crop_mode();
12337   static const int kDetCropModeFieldNumber = 59;
12338   const ::std::string& det_crop_mode() const;
12339   void set_det_crop_mode(const ::std::string& value);
12340   void set_det_crop_mode(const char* value);
12341   void set_det_crop_mode(const char* value, size_t size);
12342   ::std::string* mutable_det_crop_mode();
12343   ::std::string* release_det_crop_mode();
12344   void set_allocated_det_crop_mode(::std::string* det_crop_mode);
12345
12346   // optional int32 new_num = 60 [default = 0];
12347   bool has_new_num() const;
12348   void clear_new_num();
12349   static const int kNewNumFieldNumber = 60;
12350   ::google::protobuf::int32 new_num() const;
12351   void set_new_num(::google::protobuf::int32 value);
12352
12353   // optional int32 new_channels = 61 [default = 0];
12354   bool has_new_channels() const;
12355   void clear_new_channels();
12356   static const int kNewChannelsFieldNumber = 61;
12357   ::google::protobuf::int32 new_channels() const;
12358   void set_new_channels(::google::protobuf::int32 value);
12359
12360   // optional int32 new_height = 62 [default = 0];
12361   bool has_new_height() const;
12362   void clear_new_height();
12363   static const int kNewHeightFieldNumber = 62;
12364   ::google::protobuf::int32 new_height() const;
12365   void set_new_height(::google::protobuf::int32 value);
12366
12367   // optional int32 new_width = 63 [default = 0];
12368   bool has_new_width() const;
12369   void clear_new_width();
12370   static const int kNewWidthFieldNumber = 63;
12371   ::google::protobuf::int32 new_width() const;
12372   void set_new_width(::google::protobuf::int32 value);
12373
12374   // optional bool shuffle_images = 64 [default = false];
12375   bool has_shuffle_images() const;
12376   void clear_shuffle_images();
12377   static const int kShuffleImagesFieldNumber = 64;
12378   bool shuffle_images() const;
12379   void set_shuffle_images(bool value);
12380
12381   // optional uint32 concat_dim = 65 [default = 1];
12382   bool has_concat_dim() const;
12383   void clear_concat_dim();
12384   static const int kConcatDimFieldNumber = 65;
12385   ::google::protobuf::uint32 concat_dim() const;
12386   void set_concat_dim(::google::protobuf::uint32 value);
12387
12388   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
12389   bool has_hdf5_output_param() const;
12390   void clear_hdf5_output_param();
12391   static const int kHdf5OutputParamFieldNumber = 1001;
12392   const ::opencv_caffe::HDF5OutputParameter& hdf5_output_param() const;
12393   ::opencv_caffe::HDF5OutputParameter* mutable_hdf5_output_param();
12394   ::opencv_caffe::HDF5OutputParameter* release_hdf5_output_param();
12395   void set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param);
12396
12397   // @@protoc_insertion_point(class_scope:opencv_caffe.V0LayerParameter)
12398  private:
12399   inline void set_has_name();
12400   inline void clear_has_name();
12401   inline void set_has_type();
12402   inline void clear_has_type();
12403   inline void set_has_num_output();
12404   inline void clear_has_num_output();
12405   inline void set_has_biasterm();
12406   inline void clear_has_biasterm();
12407   inline void set_has_weight_filler();
12408   inline void clear_has_weight_filler();
12409   inline void set_has_bias_filler();
12410   inline void clear_has_bias_filler();
12411   inline void set_has_pad();
12412   inline void clear_has_pad();
12413   inline void set_has_kernelsize();
12414   inline void clear_has_kernelsize();
12415   inline void set_has_group();
12416   inline void clear_has_group();
12417   inline void set_has_stride();
12418   inline void clear_has_stride();
12419   inline void set_has_pool();
12420   inline void clear_has_pool();
12421   inline void set_has_dropout_ratio();
12422   inline void clear_has_dropout_ratio();
12423   inline void set_has_local_size();
12424   inline void clear_has_local_size();
12425   inline void set_has_alpha();
12426   inline void clear_has_alpha();
12427   inline void set_has_beta();
12428   inline void clear_has_beta();
12429   inline void set_has_k();
12430   inline void clear_has_k();
12431   inline void set_has_source();
12432   inline void clear_has_source();
12433   inline void set_has_scale();
12434   inline void clear_has_scale();
12435   inline void set_has_meanfile();
12436   inline void clear_has_meanfile();
12437   inline void set_has_batchsize();
12438   inline void clear_has_batchsize();
12439   inline void set_has_cropsize();
12440   inline void clear_has_cropsize();
12441   inline void set_has_mirror();
12442   inline void clear_has_mirror();
12443   inline void set_has_rand_skip();
12444   inline void clear_has_rand_skip();
12445   inline void set_has_det_fg_threshold();
12446   inline void clear_has_det_fg_threshold();
12447   inline void set_has_det_bg_threshold();
12448   inline void clear_has_det_bg_threshold();
12449   inline void set_has_det_fg_fraction();
12450   inline void clear_has_det_fg_fraction();
12451   inline void set_has_det_context_pad();
12452   inline void clear_has_det_context_pad();
12453   inline void set_has_det_crop_mode();
12454   inline void clear_has_det_crop_mode();
12455   inline void set_has_new_num();
12456   inline void clear_has_new_num();
12457   inline void set_has_new_channels();
12458   inline void clear_has_new_channels();
12459   inline void set_has_new_height();
12460   inline void clear_has_new_height();
12461   inline void set_has_new_width();
12462   inline void clear_has_new_width();
12463   inline void set_has_shuffle_images();
12464   inline void clear_has_shuffle_images();
12465   inline void set_has_concat_dim();
12466   inline void clear_has_concat_dim();
12467   inline void set_has_hdf5_output_param();
12468   inline void clear_has_hdf5_output_param();
12469
12470   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12471   ::google::protobuf::internal::HasBits<2> _has_bits_;
12472   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
12473   ::google::protobuf::RepeatedField< float > blobs_lr_;
12474   ::google::protobuf::RepeatedField< float > weight_decay_;
12475   ::google::protobuf::internal::ArenaStringPtr name_;
12476   ::google::protobuf::internal::ArenaStringPtr type_;
12477   ::google::protobuf::internal::ArenaStringPtr source_;
12478   ::google::protobuf::internal::ArenaStringPtr meanfile_;
12479   static ::std::string* _default_det_crop_mode_;
12480   ::google::protobuf::internal::ArenaStringPtr det_crop_mode_;
12481   ::opencv_caffe::FillerParameter* weight_filler_;
12482   ::opencv_caffe::FillerParameter* bias_filler_;
12483   ::opencv_caffe::HDF5OutputParameter* hdf5_output_param_;
12484   ::google::protobuf::uint32 num_output_;
12485   ::google::protobuf::uint32 pad_;
12486   ::google::protobuf::uint32 kernelsize_;
12487   int pool_;
12488   ::google::protobuf::uint32 batchsize_;
12489   ::google::protobuf::uint32 cropsize_;
12490   ::google::protobuf::uint32 rand_skip_;
12491   bool mirror_;
12492   bool shuffle_images_;
12493   ::google::protobuf::uint32 det_context_pad_;
12494   ::google::protobuf::int32 new_num_;
12495   ::google::protobuf::int32 new_channels_;
12496   ::google::protobuf::int32 new_height_;
12497   ::google::protobuf::int32 new_width_;
12498   ::google::protobuf::uint32 concat_dim_;
12499   bool biasterm_;
12500   ::google::protobuf::uint32 group_;
12501   ::google::protobuf::uint32 stride_;
12502   float dropout_ratio_;
12503   ::google::protobuf::uint32 local_size_;
12504   float alpha_;
12505   float beta_;
12506   float k_;
12507   float scale_;
12508   float det_fg_threshold_;
12509   float det_bg_threshold_;
12510   float det_fg_fraction_;
12511   mutable int _cached_size_;
12512   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12513   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12514   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12515   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12516
12517   void InitAsDefaultInstance();
12518 };
12519 extern ::google::protobuf::internal::ExplicitlyConstructed<V0LayerParameter> V0LayerParameter_default_instance_;
12520
12521 // -------------------------------------------------------------------
12522
12523 class PReLUParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PReLUParameter) */ {
12524  public:
12525   PReLUParameter();
12526   virtual ~PReLUParameter();
12527
12528   PReLUParameter(const PReLUParameter& from);
12529
12530   inline PReLUParameter& operator=(const PReLUParameter& from) {
12531     CopyFrom(from);
12532     return *this;
12533   }
12534
12535   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12536     return _internal_metadata_.unknown_fields();
12537   }
12538
12539   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12540     return _internal_metadata_.mutable_unknown_fields();
12541   }
12542
12543   static const ::google::protobuf::Descriptor* descriptor();
12544   static const PReLUParameter& default_instance();
12545
12546   static const PReLUParameter* internal_default_instance();
12547
12548   void Swap(PReLUParameter* other);
12549
12550   // implements Message ----------------------------------------------
12551
12552   inline PReLUParameter* New() const { return New(NULL); }
12553
12554   PReLUParameter* New(::google::protobuf::Arena* arena) const;
12555   void CopyFrom(const ::google::protobuf::Message& from);
12556   void MergeFrom(const ::google::protobuf::Message& from);
12557   void CopyFrom(const PReLUParameter& from);
12558   void MergeFrom(const PReLUParameter& from);
12559   void Clear();
12560   bool IsInitialized() const;
12561
12562   size_t ByteSizeLong() const;
12563   bool MergePartialFromCodedStream(
12564       ::google::protobuf::io::CodedInputStream* input);
12565   void SerializeWithCachedSizes(
12566       ::google::protobuf::io::CodedOutputStream* output) const;
12567   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12568       bool deterministic, ::google::protobuf::uint8* output) const;
12569   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12570     return InternalSerializeWithCachedSizesToArray(false, output);
12571   }
12572   int GetCachedSize() const { return _cached_size_; }
12573   private:
12574   void SharedCtor();
12575   void SharedDtor();
12576   void SetCachedSize(int size) const;
12577   void InternalSwap(PReLUParameter* other);
12578   void UnsafeMergeFrom(const PReLUParameter& from);
12579   private:
12580   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12581     return _internal_metadata_.arena();
12582   }
12583   inline void* MaybeArenaPtr() const {
12584     return _internal_metadata_.raw_arena_ptr();
12585   }
12586   public:
12587
12588   ::google::protobuf::Metadata GetMetadata() const;
12589
12590   // nested types ----------------------------------------------------
12591
12592   // accessors -------------------------------------------------------
12593
12594   // optional .opencv_caffe.FillerParameter filler = 1;
12595   bool has_filler() const;
12596   void clear_filler();
12597   static const int kFillerFieldNumber = 1;
12598   const ::opencv_caffe::FillerParameter& filler() const;
12599   ::opencv_caffe::FillerParameter* mutable_filler();
12600   ::opencv_caffe::FillerParameter* release_filler();
12601   void set_allocated_filler(::opencv_caffe::FillerParameter* filler);
12602
12603   // optional bool channel_shared = 2 [default = false];
12604   bool has_channel_shared() const;
12605   void clear_channel_shared();
12606   static const int kChannelSharedFieldNumber = 2;
12607   bool channel_shared() const;
12608   void set_channel_shared(bool value);
12609
12610   // @@protoc_insertion_point(class_scope:opencv_caffe.PReLUParameter)
12611  private:
12612   inline void set_has_filler();
12613   inline void clear_has_filler();
12614   inline void set_has_channel_shared();
12615   inline void clear_has_channel_shared();
12616
12617   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12618   ::google::protobuf::internal::HasBits<1> _has_bits_;
12619   mutable int _cached_size_;
12620   ::opencv_caffe::FillerParameter* filler_;
12621   bool channel_shared_;
12622   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12623   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12624   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12625   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12626
12627   void InitAsDefaultInstance();
12628 };
12629 extern ::google::protobuf::internal::ExplicitlyConstructed<PReLUParameter> PReLUParameter_default_instance_;
12630
12631 // -------------------------------------------------------------------
12632
12633 class NormalizedBBox : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NormalizedBBox) */ {
12634  public:
12635   NormalizedBBox();
12636   virtual ~NormalizedBBox();
12637
12638   NormalizedBBox(const NormalizedBBox& from);
12639
12640   inline NormalizedBBox& operator=(const NormalizedBBox& from) {
12641     CopyFrom(from);
12642     return *this;
12643   }
12644
12645   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12646     return _internal_metadata_.unknown_fields();
12647   }
12648
12649   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12650     return _internal_metadata_.mutable_unknown_fields();
12651   }
12652
12653   static const ::google::protobuf::Descriptor* descriptor();
12654   static const NormalizedBBox& default_instance();
12655
12656   static const NormalizedBBox* internal_default_instance();
12657
12658   void Swap(NormalizedBBox* other);
12659
12660   // implements Message ----------------------------------------------
12661
12662   inline NormalizedBBox* New() const { return New(NULL); }
12663
12664   NormalizedBBox* New(::google::protobuf::Arena* arena) const;
12665   void CopyFrom(const ::google::protobuf::Message& from);
12666   void MergeFrom(const ::google::protobuf::Message& from);
12667   void CopyFrom(const NormalizedBBox& from);
12668   void MergeFrom(const NormalizedBBox& from);
12669   void Clear();
12670   bool IsInitialized() const;
12671
12672   size_t ByteSizeLong() const;
12673   bool MergePartialFromCodedStream(
12674       ::google::protobuf::io::CodedInputStream* input);
12675   void SerializeWithCachedSizes(
12676       ::google::protobuf::io::CodedOutputStream* output) const;
12677   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12678       bool deterministic, ::google::protobuf::uint8* output) const;
12679   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12680     return InternalSerializeWithCachedSizesToArray(false, output);
12681   }
12682   int GetCachedSize() const { return _cached_size_; }
12683   private:
12684   void SharedCtor();
12685   void SharedDtor();
12686   void SetCachedSize(int size) const;
12687   void InternalSwap(NormalizedBBox* other);
12688   void UnsafeMergeFrom(const NormalizedBBox& from);
12689   private:
12690   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12691     return _internal_metadata_.arena();
12692   }
12693   inline void* MaybeArenaPtr() const {
12694     return _internal_metadata_.raw_arena_ptr();
12695   }
12696   public:
12697
12698   ::google::protobuf::Metadata GetMetadata() const;
12699
12700   // nested types ----------------------------------------------------
12701
12702   // accessors -------------------------------------------------------
12703
12704   // optional float xmin = 1;
12705   bool has_xmin() const;
12706   void clear_xmin();
12707   static const int kXminFieldNumber = 1;
12708   float xmin() const;
12709   void set_xmin(float value);
12710
12711   // optional float ymin = 2;
12712   bool has_ymin() const;
12713   void clear_ymin();
12714   static const int kYminFieldNumber = 2;
12715   float ymin() const;
12716   void set_ymin(float value);
12717
12718   // optional float xmax = 3;
12719   bool has_xmax() const;
12720   void clear_xmax();
12721   static const int kXmaxFieldNumber = 3;
12722   float xmax() const;
12723   void set_xmax(float value);
12724
12725   // optional float ymax = 4;
12726   bool has_ymax() const;
12727   void clear_ymax();
12728   static const int kYmaxFieldNumber = 4;
12729   float ymax() const;
12730   void set_ymax(float value);
12731
12732   // optional int32 label = 5;
12733   bool has_label() const;
12734   void clear_label();
12735   static const int kLabelFieldNumber = 5;
12736   ::google::protobuf::int32 label() const;
12737   void set_label(::google::protobuf::int32 value);
12738
12739   // optional bool difficult = 6;
12740   bool has_difficult() const;
12741   void clear_difficult();
12742   static const int kDifficultFieldNumber = 6;
12743   bool difficult() const;
12744   void set_difficult(bool value);
12745
12746   // optional float score = 7;
12747   bool has_score() const;
12748   void clear_score();
12749   static const int kScoreFieldNumber = 7;
12750   float score() const;
12751   void set_score(float value);
12752
12753   // optional float size = 8;
12754   bool has_size() const;
12755   void clear_size();
12756   static const int kSizeFieldNumber = 8;
12757   float size() const;
12758   void set_size(float value);
12759
12760   // @@protoc_insertion_point(class_scope:opencv_caffe.NormalizedBBox)
12761  private:
12762   inline void set_has_xmin();
12763   inline void clear_has_xmin();
12764   inline void set_has_ymin();
12765   inline void clear_has_ymin();
12766   inline void set_has_xmax();
12767   inline void clear_has_xmax();
12768   inline void set_has_ymax();
12769   inline void clear_has_ymax();
12770   inline void set_has_label();
12771   inline void clear_has_label();
12772   inline void set_has_difficult();
12773   inline void clear_has_difficult();
12774   inline void set_has_score();
12775   inline void clear_has_score();
12776   inline void set_has_size();
12777   inline void clear_has_size();
12778
12779   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12780   ::google::protobuf::internal::HasBits<1> _has_bits_;
12781   mutable int _cached_size_;
12782   float xmin_;
12783   float ymin_;
12784   float xmax_;
12785   float ymax_;
12786   ::google::protobuf::int32 label_;
12787   bool difficult_;
12788   float score_;
12789   float size_;
12790   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12791   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12792   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12793   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12794
12795   void InitAsDefaultInstance();
12796 };
12797 extern ::google::protobuf::internal::ExplicitlyConstructed<NormalizedBBox> NormalizedBBox_default_instance_;
12798
12799 // -------------------------------------------------------------------
12800
12801 class ROIPoolingParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ROIPoolingParameter) */ {
12802  public:
12803   ROIPoolingParameter();
12804   virtual ~ROIPoolingParameter();
12805
12806   ROIPoolingParameter(const ROIPoolingParameter& from);
12807
12808   inline ROIPoolingParameter& operator=(const ROIPoolingParameter& from) {
12809     CopyFrom(from);
12810     return *this;
12811   }
12812
12813   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12814     return _internal_metadata_.unknown_fields();
12815   }
12816
12817   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12818     return _internal_metadata_.mutable_unknown_fields();
12819   }
12820
12821   static const ::google::protobuf::Descriptor* descriptor();
12822   static const ROIPoolingParameter& default_instance();
12823
12824   static const ROIPoolingParameter* internal_default_instance();
12825
12826   void Swap(ROIPoolingParameter* other);
12827
12828   // implements Message ----------------------------------------------
12829
12830   inline ROIPoolingParameter* New() const { return New(NULL); }
12831
12832   ROIPoolingParameter* New(::google::protobuf::Arena* arena) const;
12833   void CopyFrom(const ::google::protobuf::Message& from);
12834   void MergeFrom(const ::google::protobuf::Message& from);
12835   void CopyFrom(const ROIPoolingParameter& from);
12836   void MergeFrom(const ROIPoolingParameter& from);
12837   void Clear();
12838   bool IsInitialized() const;
12839
12840   size_t ByteSizeLong() const;
12841   bool MergePartialFromCodedStream(
12842       ::google::protobuf::io::CodedInputStream* input);
12843   void SerializeWithCachedSizes(
12844       ::google::protobuf::io::CodedOutputStream* output) const;
12845   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12846       bool deterministic, ::google::protobuf::uint8* output) const;
12847   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12848     return InternalSerializeWithCachedSizesToArray(false, output);
12849   }
12850   int GetCachedSize() const { return _cached_size_; }
12851   private:
12852   void SharedCtor();
12853   void SharedDtor();
12854   void SetCachedSize(int size) const;
12855   void InternalSwap(ROIPoolingParameter* other);
12856   void UnsafeMergeFrom(const ROIPoolingParameter& from);
12857   private:
12858   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12859     return _internal_metadata_.arena();
12860   }
12861   inline void* MaybeArenaPtr() const {
12862     return _internal_metadata_.raw_arena_ptr();
12863   }
12864   public:
12865
12866   ::google::protobuf::Metadata GetMetadata() const;
12867
12868   // nested types ----------------------------------------------------
12869
12870   // accessors -------------------------------------------------------
12871
12872   // optional uint32 pooled_h = 1 [default = 0];
12873   bool has_pooled_h() const;
12874   void clear_pooled_h();
12875   static const int kPooledHFieldNumber = 1;
12876   ::google::protobuf::uint32 pooled_h() const;
12877   void set_pooled_h(::google::protobuf::uint32 value);
12878
12879   // optional uint32 pooled_w = 2 [default = 0];
12880   bool has_pooled_w() const;
12881   void clear_pooled_w();
12882   static const int kPooledWFieldNumber = 2;
12883   ::google::protobuf::uint32 pooled_w() const;
12884   void set_pooled_w(::google::protobuf::uint32 value);
12885
12886   // optional float spatial_scale = 3 [default = 1];
12887   bool has_spatial_scale() const;
12888   void clear_spatial_scale();
12889   static const int kSpatialScaleFieldNumber = 3;
12890   float spatial_scale() const;
12891   void set_spatial_scale(float value);
12892
12893   // @@protoc_insertion_point(class_scope:opencv_caffe.ROIPoolingParameter)
12894  private:
12895   inline void set_has_pooled_h();
12896   inline void clear_has_pooled_h();
12897   inline void set_has_pooled_w();
12898   inline void clear_has_pooled_w();
12899   inline void set_has_spatial_scale();
12900   inline void clear_has_spatial_scale();
12901
12902   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12903   ::google::protobuf::internal::HasBits<1> _has_bits_;
12904   mutable int _cached_size_;
12905   ::google::protobuf::uint32 pooled_h_;
12906   ::google::protobuf::uint32 pooled_w_;
12907   float spatial_scale_;
12908   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12909   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12910   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12911   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12912
12913   void InitAsDefaultInstance();
12914 };
12915 extern ::google::protobuf::internal::ExplicitlyConstructed<ROIPoolingParameter> ROIPoolingParameter_default_instance_;
12916
12917 // ===================================================================
12918
12919
12920 // ===================================================================
12921
12922 #if !PROTOBUF_INLINE_NOT_IN_HEADERS
12923 // BlobShape
12924
12925 // repeated int64 dim = 1 [packed = true];
12926 inline int BlobShape::dim_size() const {
12927   return dim_.size();
12928 }
12929 inline void BlobShape::clear_dim() {
12930   dim_.Clear();
12931 }
12932 inline ::google::protobuf::int64 BlobShape::dim(int index) const {
12933   // @@protoc_insertion_point(field_get:opencv_caffe.BlobShape.dim)
12934   return dim_.Get(index);
12935 }
12936 inline void BlobShape::set_dim(int index, ::google::protobuf::int64 value) {
12937   dim_.Set(index, value);
12938   // @@protoc_insertion_point(field_set:opencv_caffe.BlobShape.dim)
12939 }
12940 inline void BlobShape::add_dim(::google::protobuf::int64 value) {
12941   dim_.Add(value);
12942   // @@protoc_insertion_point(field_add:opencv_caffe.BlobShape.dim)
12943 }
12944 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
12945 BlobShape::dim() const {
12946   // @@protoc_insertion_point(field_list:opencv_caffe.BlobShape.dim)
12947   return dim_;
12948 }
12949 inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
12950 BlobShape::mutable_dim() {
12951   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobShape.dim)
12952   return &dim_;
12953 }
12954
12955 inline const BlobShape* BlobShape::internal_default_instance() {
12956   return &BlobShape_default_instance_.get();
12957 }
12958 // -------------------------------------------------------------------
12959
12960 // BlobProto
12961
12962 // optional .opencv_caffe.BlobShape shape = 7;
12963 inline bool BlobProto::has_shape() const {
12964   return (_has_bits_[0] & 0x00000001u) != 0;
12965 }
12966 inline void BlobProto::set_has_shape() {
12967   _has_bits_[0] |= 0x00000001u;
12968 }
12969 inline void BlobProto::clear_has_shape() {
12970   _has_bits_[0] &= ~0x00000001u;
12971 }
12972 inline void BlobProto::clear_shape() {
12973   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
12974   clear_has_shape();
12975 }
12976 inline const ::opencv_caffe::BlobShape& BlobProto::shape() const {
12977   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.shape)
12978   return shape_ != NULL ? *shape_
12979                          : *::opencv_caffe::BlobShape::internal_default_instance();
12980 }
12981 inline ::opencv_caffe::BlobShape* BlobProto::mutable_shape() {
12982   set_has_shape();
12983   if (shape_ == NULL) {
12984     shape_ = new ::opencv_caffe::BlobShape;
12985   }
12986   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.shape)
12987   return shape_;
12988 }
12989 inline ::opencv_caffe::BlobShape* BlobProto::release_shape() {
12990   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.shape)
12991   clear_has_shape();
12992   ::opencv_caffe::BlobShape* temp = shape_;
12993   shape_ = NULL;
12994   return temp;
12995 }
12996 inline void BlobProto::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
12997   delete shape_;
12998   shape_ = shape;
12999   if (shape) {
13000     set_has_shape();
13001   } else {
13002     clear_has_shape();
13003   }
13004   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.shape)
13005 }
13006
13007 // repeated float data = 5 [packed = true];
13008 inline int BlobProto::data_size() const {
13009   return data_.size();
13010 }
13011 inline void BlobProto::clear_data() {
13012   data_.Clear();
13013 }
13014 inline float BlobProto::data(int index) const {
13015   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.data)
13016   return data_.Get(index);
13017 }
13018 inline void BlobProto::set_data(int index, float value) {
13019   data_.Set(index, value);
13020   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.data)
13021 }
13022 inline void BlobProto::add_data(float value) {
13023   data_.Add(value);
13024   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.data)
13025 }
13026 inline const ::google::protobuf::RepeatedField< float >&
13027 BlobProto::data() const {
13028   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.data)
13029   return data_;
13030 }
13031 inline ::google::protobuf::RepeatedField< float >*
13032 BlobProto::mutable_data() {
13033   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.data)
13034   return &data_;
13035 }
13036
13037 // repeated float diff = 6 [packed = true];
13038 inline int BlobProto::diff_size() const {
13039   return diff_.size();
13040 }
13041 inline void BlobProto::clear_diff() {
13042   diff_.Clear();
13043 }
13044 inline float BlobProto::diff(int index) const {
13045   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.diff)
13046   return diff_.Get(index);
13047 }
13048 inline void BlobProto::set_diff(int index, float value) {
13049   diff_.Set(index, value);
13050   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.diff)
13051 }
13052 inline void BlobProto::add_diff(float value) {
13053   diff_.Add(value);
13054   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.diff)
13055 }
13056 inline const ::google::protobuf::RepeatedField< float >&
13057 BlobProto::diff() const {
13058   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.diff)
13059   return diff_;
13060 }
13061 inline ::google::protobuf::RepeatedField< float >*
13062 BlobProto::mutable_diff() {
13063   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.diff)
13064   return &diff_;
13065 }
13066
13067 // repeated double double_data = 8 [packed = true];
13068 inline int BlobProto::double_data_size() const {
13069   return double_data_.size();
13070 }
13071 inline void BlobProto::clear_double_data() {
13072   double_data_.Clear();
13073 }
13074 inline double BlobProto::double_data(int index) const {
13075   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_data)
13076   return double_data_.Get(index);
13077 }
13078 inline void BlobProto::set_double_data(int index, double value) {
13079   double_data_.Set(index, value);
13080   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_data)
13081 }
13082 inline void BlobProto::add_double_data(double value) {
13083   double_data_.Add(value);
13084   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_data)
13085 }
13086 inline const ::google::protobuf::RepeatedField< double >&
13087 BlobProto::double_data() const {
13088   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_data)
13089   return double_data_;
13090 }
13091 inline ::google::protobuf::RepeatedField< double >*
13092 BlobProto::mutable_double_data() {
13093   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_data)
13094   return &double_data_;
13095 }
13096
13097 // repeated double double_diff = 9 [packed = true];
13098 inline int BlobProto::double_diff_size() const {
13099   return double_diff_.size();
13100 }
13101 inline void BlobProto::clear_double_diff() {
13102   double_diff_.Clear();
13103 }
13104 inline double BlobProto::double_diff(int index) const {
13105   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_diff)
13106   return double_diff_.Get(index);
13107 }
13108 inline void BlobProto::set_double_diff(int index, double value) {
13109   double_diff_.Set(index, value);
13110   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_diff)
13111 }
13112 inline void BlobProto::add_double_diff(double value) {
13113   double_diff_.Add(value);
13114   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_diff)
13115 }
13116 inline const ::google::protobuf::RepeatedField< double >&
13117 BlobProto::double_diff() const {
13118   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_diff)
13119   return double_diff_;
13120 }
13121 inline ::google::protobuf::RepeatedField< double >*
13122 BlobProto::mutable_double_diff() {
13123   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_diff)
13124   return &double_diff_;
13125 }
13126
13127 // optional .opencv_caffe.Type raw_data_type = 10;
13128 inline bool BlobProto::has_raw_data_type() const {
13129   return (_has_bits_[0] & 0x00000020u) != 0;
13130 }
13131 inline void BlobProto::set_has_raw_data_type() {
13132   _has_bits_[0] |= 0x00000020u;
13133 }
13134 inline void BlobProto::clear_has_raw_data_type() {
13135   _has_bits_[0] &= ~0x00000020u;
13136 }
13137 inline void BlobProto::clear_raw_data_type() {
13138   raw_data_type_ = 0;
13139   clear_has_raw_data_type();
13140 }
13141 inline ::opencv_caffe::Type BlobProto::raw_data_type() const {
13142   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data_type)
13143   return static_cast< ::opencv_caffe::Type >(raw_data_type_);
13144 }
13145 inline void BlobProto::set_raw_data_type(::opencv_caffe::Type value) {
13146   assert(::opencv_caffe::Type_IsValid(value));
13147   set_has_raw_data_type();
13148   raw_data_type_ = value;
13149   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data_type)
13150 }
13151
13152 // optional bytes raw_data = 12 [packed = false];
13153 inline bool BlobProto::has_raw_data() const {
13154   return (_has_bits_[0] & 0x00000040u) != 0;
13155 }
13156 inline void BlobProto::set_has_raw_data() {
13157   _has_bits_[0] |= 0x00000040u;
13158 }
13159 inline void BlobProto::clear_has_raw_data() {
13160   _has_bits_[0] &= ~0x00000040u;
13161 }
13162 inline void BlobProto::clear_raw_data() {
13163   raw_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13164   clear_has_raw_data();
13165 }
13166 inline const ::std::string& BlobProto::raw_data() const {
13167   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data)
13168   return raw_data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13169 }
13170 inline void BlobProto::set_raw_data(const ::std::string& value) {
13171   set_has_raw_data();
13172   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
13173   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data)
13174 }
13175 inline void BlobProto::set_raw_data(const char* value) {
13176   set_has_raw_data();
13177   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
13178   // @@protoc_insertion_point(field_set_char:opencv_caffe.BlobProto.raw_data)
13179 }
13180 inline void BlobProto::set_raw_data(const void* value, size_t size) {
13181   set_has_raw_data();
13182   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
13183       ::std::string(reinterpret_cast<const char*>(value), size));
13184   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.BlobProto.raw_data)
13185 }
13186 inline ::std::string* BlobProto::mutable_raw_data() {
13187   set_has_raw_data();
13188   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.raw_data)
13189   return raw_data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13190 }
13191 inline ::std::string* BlobProto::release_raw_data() {
13192   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.raw_data)
13193   clear_has_raw_data();
13194   return raw_data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13195 }
13196 inline void BlobProto::set_allocated_raw_data(::std::string* raw_data) {
13197   if (raw_data != NULL) {
13198     set_has_raw_data();
13199   } else {
13200     clear_has_raw_data();
13201   }
13202   raw_data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), raw_data);
13203   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.raw_data)
13204 }
13205
13206 // optional int32 num = 1 [default = 0];
13207 inline bool BlobProto::has_num() const {
13208   return (_has_bits_[0] & 0x00000080u) != 0;
13209 }
13210 inline void BlobProto::set_has_num() {
13211   _has_bits_[0] |= 0x00000080u;
13212 }
13213 inline void BlobProto::clear_has_num() {
13214   _has_bits_[0] &= ~0x00000080u;
13215 }
13216 inline void BlobProto::clear_num() {
13217   num_ = 0;
13218   clear_has_num();
13219 }
13220 inline ::google::protobuf::int32 BlobProto::num() const {
13221   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.num)
13222   return num_;
13223 }
13224 inline void BlobProto::set_num(::google::protobuf::int32 value) {
13225   set_has_num();
13226   num_ = value;
13227   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.num)
13228 }
13229
13230 // optional int32 channels = 2 [default = 0];
13231 inline bool BlobProto::has_channels() const {
13232   return (_has_bits_[0] & 0x00000100u) != 0;
13233 }
13234 inline void BlobProto::set_has_channels() {
13235   _has_bits_[0] |= 0x00000100u;
13236 }
13237 inline void BlobProto::clear_has_channels() {
13238   _has_bits_[0] &= ~0x00000100u;
13239 }
13240 inline void BlobProto::clear_channels() {
13241   channels_ = 0;
13242   clear_has_channels();
13243 }
13244 inline ::google::protobuf::int32 BlobProto::channels() const {
13245   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.channels)
13246   return channels_;
13247 }
13248 inline void BlobProto::set_channels(::google::protobuf::int32 value) {
13249   set_has_channels();
13250   channels_ = value;
13251   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.channels)
13252 }
13253
13254 // optional int32 height = 3 [default = 0];
13255 inline bool BlobProto::has_height() const {
13256   return (_has_bits_[0] & 0x00000200u) != 0;
13257 }
13258 inline void BlobProto::set_has_height() {
13259   _has_bits_[0] |= 0x00000200u;
13260 }
13261 inline void BlobProto::clear_has_height() {
13262   _has_bits_[0] &= ~0x00000200u;
13263 }
13264 inline void BlobProto::clear_height() {
13265   height_ = 0;
13266   clear_has_height();
13267 }
13268 inline ::google::protobuf::int32 BlobProto::height() const {
13269   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.height)
13270   return height_;
13271 }
13272 inline void BlobProto::set_height(::google::protobuf::int32 value) {
13273   set_has_height();
13274   height_ = value;
13275   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.height)
13276 }
13277
13278 // optional int32 width = 4 [default = 0];
13279 inline bool BlobProto::has_width() const {
13280   return (_has_bits_[0] & 0x00000400u) != 0;
13281 }
13282 inline void BlobProto::set_has_width() {
13283   _has_bits_[0] |= 0x00000400u;
13284 }
13285 inline void BlobProto::clear_has_width() {
13286   _has_bits_[0] &= ~0x00000400u;
13287 }
13288 inline void BlobProto::clear_width() {
13289   width_ = 0;
13290   clear_has_width();
13291 }
13292 inline ::google::protobuf::int32 BlobProto::width() const {
13293   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.width)
13294   return width_;
13295 }
13296 inline void BlobProto::set_width(::google::protobuf::int32 value) {
13297   set_has_width();
13298   width_ = value;
13299   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.width)
13300 }
13301
13302 inline const BlobProto* BlobProto::internal_default_instance() {
13303   return &BlobProto_default_instance_.get();
13304 }
13305 // -------------------------------------------------------------------
13306
13307 // BlobProtoVector
13308
13309 // repeated .opencv_caffe.BlobProto blobs = 1;
13310 inline int BlobProtoVector::blobs_size() const {
13311   return blobs_.size();
13312 }
13313 inline void BlobProtoVector::clear_blobs() {
13314   blobs_.Clear();
13315 }
13316 inline const ::opencv_caffe::BlobProto& BlobProtoVector::blobs(int index) const {
13317   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProtoVector.blobs)
13318   return blobs_.Get(index);
13319 }
13320 inline ::opencv_caffe::BlobProto* BlobProtoVector::mutable_blobs(int index) {
13321   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProtoVector.blobs)
13322   return blobs_.Mutable(index);
13323 }
13324 inline ::opencv_caffe::BlobProto* BlobProtoVector::add_blobs() {
13325   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProtoVector.blobs)
13326   return blobs_.Add();
13327 }
13328 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
13329 BlobProtoVector::mutable_blobs() {
13330   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProtoVector.blobs)
13331   return &blobs_;
13332 }
13333 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
13334 BlobProtoVector::blobs() const {
13335   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProtoVector.blobs)
13336   return blobs_;
13337 }
13338
13339 inline const BlobProtoVector* BlobProtoVector::internal_default_instance() {
13340   return &BlobProtoVector_default_instance_.get();
13341 }
13342 // -------------------------------------------------------------------
13343
13344 // PermuteParameter
13345
13346 // repeated uint32 order = 1;
13347 inline int PermuteParameter::order_size() const {
13348   return order_.size();
13349 }
13350 inline void PermuteParameter::clear_order() {
13351   order_.Clear();
13352 }
13353 inline ::google::protobuf::uint32 PermuteParameter::order(int index) const {
13354   // @@protoc_insertion_point(field_get:opencv_caffe.PermuteParameter.order)
13355   return order_.Get(index);
13356 }
13357 inline void PermuteParameter::set_order(int index, ::google::protobuf::uint32 value) {
13358   order_.Set(index, value);
13359   // @@protoc_insertion_point(field_set:opencv_caffe.PermuteParameter.order)
13360 }
13361 inline void PermuteParameter::add_order(::google::protobuf::uint32 value) {
13362   order_.Add(value);
13363   // @@protoc_insertion_point(field_add:opencv_caffe.PermuteParameter.order)
13364 }
13365 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
13366 PermuteParameter::order() const {
13367   // @@protoc_insertion_point(field_list:opencv_caffe.PermuteParameter.order)
13368   return order_;
13369 }
13370 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
13371 PermuteParameter::mutable_order() {
13372   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PermuteParameter.order)
13373   return &order_;
13374 }
13375
13376 inline const PermuteParameter* PermuteParameter::internal_default_instance() {
13377   return &PermuteParameter_default_instance_.get();
13378 }
13379 // -------------------------------------------------------------------
13380
13381 // NormalizeBBoxParameter
13382
13383 // optional bool across_spatial = 1 [default = true];
13384 inline bool NormalizeBBoxParameter::has_across_spatial() const {
13385   return (_has_bits_[0] & 0x00000001u) != 0;
13386 }
13387 inline void NormalizeBBoxParameter::set_has_across_spatial() {
13388   _has_bits_[0] |= 0x00000001u;
13389 }
13390 inline void NormalizeBBoxParameter::clear_has_across_spatial() {
13391   _has_bits_[0] &= ~0x00000001u;
13392 }
13393 inline void NormalizeBBoxParameter::clear_across_spatial() {
13394   across_spatial_ = true;
13395   clear_has_across_spatial();
13396 }
13397 inline bool NormalizeBBoxParameter::across_spatial() const {
13398   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.across_spatial)
13399   return across_spatial_;
13400 }
13401 inline void NormalizeBBoxParameter::set_across_spatial(bool value) {
13402   set_has_across_spatial();
13403   across_spatial_ = value;
13404   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.across_spatial)
13405 }
13406
13407 // optional .opencv_caffe.FillerParameter scale_filler = 2;
13408 inline bool NormalizeBBoxParameter::has_scale_filler() const {
13409   return (_has_bits_[0] & 0x00000002u) != 0;
13410 }
13411 inline void NormalizeBBoxParameter::set_has_scale_filler() {
13412   _has_bits_[0] |= 0x00000002u;
13413 }
13414 inline void NormalizeBBoxParameter::clear_has_scale_filler() {
13415   _has_bits_[0] &= ~0x00000002u;
13416 }
13417 inline void NormalizeBBoxParameter::clear_scale_filler() {
13418   if (scale_filler_ != NULL) scale_filler_->::opencv_caffe::FillerParameter::Clear();
13419   clear_has_scale_filler();
13420 }
13421 inline const ::opencv_caffe::FillerParameter& NormalizeBBoxParameter::scale_filler() const {
13422   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13423   return scale_filler_ != NULL ? *scale_filler_
13424                          : *::opencv_caffe::FillerParameter::internal_default_instance();
13425 }
13426 inline ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::mutable_scale_filler() {
13427   set_has_scale_filler();
13428   if (scale_filler_ == NULL) {
13429     scale_filler_ = new ::opencv_caffe::FillerParameter;
13430   }
13431   // @@protoc_insertion_point(field_mutable:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13432   return scale_filler_;
13433 }
13434 inline ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::release_scale_filler() {
13435   // @@protoc_insertion_point(field_release:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13436   clear_has_scale_filler();
13437   ::opencv_caffe::FillerParameter* temp = scale_filler_;
13438   scale_filler_ = NULL;
13439   return temp;
13440 }
13441 inline void NormalizeBBoxParameter::set_allocated_scale_filler(::opencv_caffe::FillerParameter* scale_filler) {
13442   delete scale_filler_;
13443   scale_filler_ = scale_filler;
13444   if (scale_filler) {
13445     set_has_scale_filler();
13446   } else {
13447     clear_has_scale_filler();
13448   }
13449   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13450 }
13451
13452 // optional bool channel_shared = 3 [default = true];
13453 inline bool NormalizeBBoxParameter::has_channel_shared() const {
13454   return (_has_bits_[0] & 0x00000004u) != 0;
13455 }
13456 inline void NormalizeBBoxParameter::set_has_channel_shared() {
13457   _has_bits_[0] |= 0x00000004u;
13458 }
13459 inline void NormalizeBBoxParameter::clear_has_channel_shared() {
13460   _has_bits_[0] &= ~0x00000004u;
13461 }
13462 inline void NormalizeBBoxParameter::clear_channel_shared() {
13463   channel_shared_ = true;
13464   clear_has_channel_shared();
13465 }
13466 inline bool NormalizeBBoxParameter::channel_shared() const {
13467   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.channel_shared)
13468   return channel_shared_;
13469 }
13470 inline void NormalizeBBoxParameter::set_channel_shared(bool value) {
13471   set_has_channel_shared();
13472   channel_shared_ = value;
13473   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.channel_shared)
13474 }
13475
13476 // optional float eps = 4 [default = 1e-10];
13477 inline bool NormalizeBBoxParameter::has_eps() const {
13478   return (_has_bits_[0] & 0x00000008u) != 0;
13479 }
13480 inline void NormalizeBBoxParameter::set_has_eps() {
13481   _has_bits_[0] |= 0x00000008u;
13482 }
13483 inline void NormalizeBBoxParameter::clear_has_eps() {
13484   _has_bits_[0] &= ~0x00000008u;
13485 }
13486 inline void NormalizeBBoxParameter::clear_eps() {
13487   eps_ = 1e-10f;
13488   clear_has_eps();
13489 }
13490 inline float NormalizeBBoxParameter::eps() const {
13491   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.eps)
13492   return eps_;
13493 }
13494 inline void NormalizeBBoxParameter::set_eps(float value) {
13495   set_has_eps();
13496   eps_ = value;
13497   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.eps)
13498 }
13499
13500 inline const NormalizeBBoxParameter* NormalizeBBoxParameter::internal_default_instance() {
13501   return &NormalizeBBoxParameter_default_instance_.get();
13502 }
13503 // -------------------------------------------------------------------
13504
13505 // PriorBoxParameter
13506
13507 // optional float min_size = 1;
13508 inline bool PriorBoxParameter::has_min_size() const {
13509   return (_has_bits_[0] & 0x00000001u) != 0;
13510 }
13511 inline void PriorBoxParameter::set_has_min_size() {
13512   _has_bits_[0] |= 0x00000001u;
13513 }
13514 inline void PriorBoxParameter::clear_has_min_size() {
13515   _has_bits_[0] &= ~0x00000001u;
13516 }
13517 inline void PriorBoxParameter::clear_min_size() {
13518   min_size_ = 0;
13519   clear_has_min_size();
13520 }
13521 inline float PriorBoxParameter::min_size() const {
13522   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.min_size)
13523   return min_size_;
13524 }
13525 inline void PriorBoxParameter::set_min_size(float value) {
13526   set_has_min_size();
13527   min_size_ = value;
13528   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.min_size)
13529 }
13530
13531 // optional float max_size = 2;
13532 inline bool PriorBoxParameter::has_max_size() const {
13533   return (_has_bits_[0] & 0x00000002u) != 0;
13534 }
13535 inline void PriorBoxParameter::set_has_max_size() {
13536   _has_bits_[0] |= 0x00000002u;
13537 }
13538 inline void PriorBoxParameter::clear_has_max_size() {
13539   _has_bits_[0] &= ~0x00000002u;
13540 }
13541 inline void PriorBoxParameter::clear_max_size() {
13542   max_size_ = 0;
13543   clear_has_max_size();
13544 }
13545 inline float PriorBoxParameter::max_size() const {
13546   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.max_size)
13547   return max_size_;
13548 }
13549 inline void PriorBoxParameter::set_max_size(float value) {
13550   set_has_max_size();
13551   max_size_ = value;
13552   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.max_size)
13553 }
13554
13555 // repeated float aspect_ratio = 3;
13556 inline int PriorBoxParameter::aspect_ratio_size() const {
13557   return aspect_ratio_.size();
13558 }
13559 inline void PriorBoxParameter::clear_aspect_ratio() {
13560   aspect_ratio_.Clear();
13561 }
13562 inline float PriorBoxParameter::aspect_ratio(int index) const {
13563   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.aspect_ratio)
13564   return aspect_ratio_.Get(index);
13565 }
13566 inline void PriorBoxParameter::set_aspect_ratio(int index, float value) {
13567   aspect_ratio_.Set(index, value);
13568   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.aspect_ratio)
13569 }
13570 inline void PriorBoxParameter::add_aspect_ratio(float value) {
13571   aspect_ratio_.Add(value);
13572   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.aspect_ratio)
13573 }
13574 inline const ::google::protobuf::RepeatedField< float >&
13575 PriorBoxParameter::aspect_ratio() const {
13576   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
13577   return aspect_ratio_;
13578 }
13579 inline ::google::protobuf::RepeatedField< float >*
13580 PriorBoxParameter::mutable_aspect_ratio() {
13581   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
13582   return &aspect_ratio_;
13583 }
13584
13585 // optional bool flip = 4 [default = true];
13586 inline bool PriorBoxParameter::has_flip() const {
13587   return (_has_bits_[0] & 0x00000008u) != 0;
13588 }
13589 inline void PriorBoxParameter::set_has_flip() {
13590   _has_bits_[0] |= 0x00000008u;
13591 }
13592 inline void PriorBoxParameter::clear_has_flip() {
13593   _has_bits_[0] &= ~0x00000008u;
13594 }
13595 inline void PriorBoxParameter::clear_flip() {
13596   flip_ = true;
13597   clear_has_flip();
13598 }
13599 inline bool PriorBoxParameter::flip() const {
13600   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.flip)
13601   return flip_;
13602 }
13603 inline void PriorBoxParameter::set_flip(bool value) {
13604   set_has_flip();
13605   flip_ = value;
13606   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.flip)
13607 }
13608
13609 // optional bool clip = 5 [default = true];
13610 inline bool PriorBoxParameter::has_clip() const {
13611   return (_has_bits_[0] & 0x00000010u) != 0;
13612 }
13613 inline void PriorBoxParameter::set_has_clip() {
13614   _has_bits_[0] |= 0x00000010u;
13615 }
13616 inline void PriorBoxParameter::clear_has_clip() {
13617   _has_bits_[0] &= ~0x00000010u;
13618 }
13619 inline void PriorBoxParameter::clear_clip() {
13620   clip_ = true;
13621   clear_has_clip();
13622 }
13623 inline bool PriorBoxParameter::clip() const {
13624   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.clip)
13625   return clip_;
13626 }
13627 inline void PriorBoxParameter::set_clip(bool value) {
13628   set_has_clip();
13629   clip_ = value;
13630   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.clip)
13631 }
13632
13633 // repeated float variance = 6;
13634 inline int PriorBoxParameter::variance_size() const {
13635   return variance_.size();
13636 }
13637 inline void PriorBoxParameter::clear_variance() {
13638   variance_.Clear();
13639 }
13640 inline float PriorBoxParameter::variance(int index) const {
13641   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.variance)
13642   return variance_.Get(index);
13643 }
13644 inline void PriorBoxParameter::set_variance(int index, float value) {
13645   variance_.Set(index, value);
13646   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.variance)
13647 }
13648 inline void PriorBoxParameter::add_variance(float value) {
13649   variance_.Add(value);
13650   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.variance)
13651 }
13652 inline const ::google::protobuf::RepeatedField< float >&
13653 PriorBoxParameter::variance() const {
13654   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.variance)
13655   return variance_;
13656 }
13657 inline ::google::protobuf::RepeatedField< float >*
13658 PriorBoxParameter::mutable_variance() {
13659   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.variance)
13660   return &variance_;
13661 }
13662
13663 // optional uint32 img_size = 7;
13664 inline bool PriorBoxParameter::has_img_size() const {
13665   return (_has_bits_[0] & 0x00000040u) != 0;
13666 }
13667 inline void PriorBoxParameter::set_has_img_size() {
13668   _has_bits_[0] |= 0x00000040u;
13669 }
13670 inline void PriorBoxParameter::clear_has_img_size() {
13671   _has_bits_[0] &= ~0x00000040u;
13672 }
13673 inline void PriorBoxParameter::clear_img_size() {
13674   img_size_ = 0u;
13675   clear_has_img_size();
13676 }
13677 inline ::google::protobuf::uint32 PriorBoxParameter::img_size() const {
13678   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_size)
13679   return img_size_;
13680 }
13681 inline void PriorBoxParameter::set_img_size(::google::protobuf::uint32 value) {
13682   set_has_img_size();
13683   img_size_ = value;
13684   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_size)
13685 }
13686
13687 // optional uint32 img_h = 8;
13688 inline bool PriorBoxParameter::has_img_h() const {
13689   return (_has_bits_[0] & 0x00000080u) != 0;
13690 }
13691 inline void PriorBoxParameter::set_has_img_h() {
13692   _has_bits_[0] |= 0x00000080u;
13693 }
13694 inline void PriorBoxParameter::clear_has_img_h() {
13695   _has_bits_[0] &= ~0x00000080u;
13696 }
13697 inline void PriorBoxParameter::clear_img_h() {
13698   img_h_ = 0u;
13699   clear_has_img_h();
13700 }
13701 inline ::google::protobuf::uint32 PriorBoxParameter::img_h() const {
13702   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_h)
13703   return img_h_;
13704 }
13705 inline void PriorBoxParameter::set_img_h(::google::protobuf::uint32 value) {
13706   set_has_img_h();
13707   img_h_ = value;
13708   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_h)
13709 }
13710
13711 // optional uint32 img_w = 9;
13712 inline bool PriorBoxParameter::has_img_w() const {
13713   return (_has_bits_[0] & 0x00000100u) != 0;
13714 }
13715 inline void PriorBoxParameter::set_has_img_w() {
13716   _has_bits_[0] |= 0x00000100u;
13717 }
13718 inline void PriorBoxParameter::clear_has_img_w() {
13719   _has_bits_[0] &= ~0x00000100u;
13720 }
13721 inline void PriorBoxParameter::clear_img_w() {
13722   img_w_ = 0u;
13723   clear_has_img_w();
13724 }
13725 inline ::google::protobuf::uint32 PriorBoxParameter::img_w() const {
13726   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_w)
13727   return img_w_;
13728 }
13729 inline void PriorBoxParameter::set_img_w(::google::protobuf::uint32 value) {
13730   set_has_img_w();
13731   img_w_ = value;
13732   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_w)
13733 }
13734
13735 // optional float step = 10;
13736 inline bool PriorBoxParameter::has_step() const {
13737   return (_has_bits_[0] & 0x00000200u) != 0;
13738 }
13739 inline void PriorBoxParameter::set_has_step() {
13740   _has_bits_[0] |= 0x00000200u;
13741 }
13742 inline void PriorBoxParameter::clear_has_step() {
13743   _has_bits_[0] &= ~0x00000200u;
13744 }
13745 inline void PriorBoxParameter::clear_step() {
13746   step_ = 0;
13747   clear_has_step();
13748 }
13749 inline float PriorBoxParameter::step() const {
13750   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step)
13751   return step_;
13752 }
13753 inline void PriorBoxParameter::set_step(float value) {
13754   set_has_step();
13755   step_ = value;
13756   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step)
13757 }
13758
13759 // optional float step_h = 11;
13760 inline bool PriorBoxParameter::has_step_h() const {
13761   return (_has_bits_[0] & 0x00000400u) != 0;
13762 }
13763 inline void PriorBoxParameter::set_has_step_h() {
13764   _has_bits_[0] |= 0x00000400u;
13765 }
13766 inline void PriorBoxParameter::clear_has_step_h() {
13767   _has_bits_[0] &= ~0x00000400u;
13768 }
13769 inline void PriorBoxParameter::clear_step_h() {
13770   step_h_ = 0;
13771   clear_has_step_h();
13772 }
13773 inline float PriorBoxParameter::step_h() const {
13774   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_h)
13775   return step_h_;
13776 }
13777 inline void PriorBoxParameter::set_step_h(float value) {
13778   set_has_step_h();
13779   step_h_ = value;
13780   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_h)
13781 }
13782
13783 // optional float step_w = 12;
13784 inline bool PriorBoxParameter::has_step_w() const {
13785   return (_has_bits_[0] & 0x00000800u) != 0;
13786 }
13787 inline void PriorBoxParameter::set_has_step_w() {
13788   _has_bits_[0] |= 0x00000800u;
13789 }
13790 inline void PriorBoxParameter::clear_has_step_w() {
13791   _has_bits_[0] &= ~0x00000800u;
13792 }
13793 inline void PriorBoxParameter::clear_step_w() {
13794   step_w_ = 0;
13795   clear_has_step_w();
13796 }
13797 inline float PriorBoxParameter::step_w() const {
13798   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_w)
13799   return step_w_;
13800 }
13801 inline void PriorBoxParameter::set_step_w(float value) {
13802   set_has_step_w();
13803   step_w_ = value;
13804   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_w)
13805 }
13806
13807 // optional float offset = 13 [default = 0.5];
13808 inline bool PriorBoxParameter::has_offset() const {
13809   return (_has_bits_[0] & 0x00001000u) != 0;
13810 }
13811 inline void PriorBoxParameter::set_has_offset() {
13812   _has_bits_[0] |= 0x00001000u;
13813 }
13814 inline void PriorBoxParameter::clear_has_offset() {
13815   _has_bits_[0] &= ~0x00001000u;
13816 }
13817 inline void PriorBoxParameter::clear_offset() {
13818   offset_ = 0.5f;
13819   clear_has_offset();
13820 }
13821 inline float PriorBoxParameter::offset() const {
13822   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset)
13823   return offset_;
13824 }
13825 inline void PriorBoxParameter::set_offset(float value) {
13826   set_has_offset();
13827   offset_ = value;
13828   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset)
13829 }
13830
13831 // repeated float offset_h = 14;
13832 inline int PriorBoxParameter::offset_h_size() const {
13833   return offset_h_.size();
13834 }
13835 inline void PriorBoxParameter::clear_offset_h() {
13836   offset_h_.Clear();
13837 }
13838 inline float PriorBoxParameter::offset_h(int index) const {
13839   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_h)
13840   return offset_h_.Get(index);
13841 }
13842 inline void PriorBoxParameter::set_offset_h(int index, float value) {
13843   offset_h_.Set(index, value);
13844   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_h)
13845 }
13846 inline void PriorBoxParameter::add_offset_h(float value) {
13847   offset_h_.Add(value);
13848   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_h)
13849 }
13850 inline const ::google::protobuf::RepeatedField< float >&
13851 PriorBoxParameter::offset_h() const {
13852   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_h)
13853   return offset_h_;
13854 }
13855 inline ::google::protobuf::RepeatedField< float >*
13856 PriorBoxParameter::mutable_offset_h() {
13857   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_h)
13858   return &offset_h_;
13859 }
13860
13861 // repeated float offset_w = 15;
13862 inline int PriorBoxParameter::offset_w_size() const {
13863   return offset_w_.size();
13864 }
13865 inline void PriorBoxParameter::clear_offset_w() {
13866   offset_w_.Clear();
13867 }
13868 inline float PriorBoxParameter::offset_w(int index) const {
13869   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_w)
13870   return offset_w_.Get(index);
13871 }
13872 inline void PriorBoxParameter::set_offset_w(int index, float value) {
13873   offset_w_.Set(index, value);
13874   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_w)
13875 }
13876 inline void PriorBoxParameter::add_offset_w(float value) {
13877   offset_w_.Add(value);
13878   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_w)
13879 }
13880 inline const ::google::protobuf::RepeatedField< float >&
13881 PriorBoxParameter::offset_w() const {
13882   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_w)
13883   return offset_w_;
13884 }
13885 inline ::google::protobuf::RepeatedField< float >*
13886 PriorBoxParameter::mutable_offset_w() {
13887   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_w)
13888   return &offset_w_;
13889 }
13890
13891 // repeated float width = 16;
13892 inline int PriorBoxParameter::width_size() const {
13893   return width_.size();
13894 }
13895 inline void PriorBoxParameter::clear_width() {
13896   width_.Clear();
13897 }
13898 inline float PriorBoxParameter::width(int index) const {
13899   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.width)
13900   return width_.Get(index);
13901 }
13902 inline void PriorBoxParameter::set_width(int index, float value) {
13903   width_.Set(index, value);
13904   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.width)
13905 }
13906 inline void PriorBoxParameter::add_width(float value) {
13907   width_.Add(value);
13908   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.width)
13909 }
13910 inline const ::google::protobuf::RepeatedField< float >&
13911 PriorBoxParameter::width() const {
13912   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.width)
13913   return width_;
13914 }
13915 inline ::google::protobuf::RepeatedField< float >*
13916 PriorBoxParameter::mutable_width() {
13917   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.width)
13918   return &width_;
13919 }
13920
13921 // repeated float height = 17;
13922 inline int PriorBoxParameter::height_size() const {
13923   return height_.size();
13924 }
13925 inline void PriorBoxParameter::clear_height() {
13926   height_.Clear();
13927 }
13928 inline float PriorBoxParameter::height(int index) const {
13929   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.height)
13930   return height_.Get(index);
13931 }
13932 inline void PriorBoxParameter::set_height(int index, float value) {
13933   height_.Set(index, value);
13934   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.height)
13935 }
13936 inline void PriorBoxParameter::add_height(float value) {
13937   height_.Add(value);
13938   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.height)
13939 }
13940 inline const ::google::protobuf::RepeatedField< float >&
13941 PriorBoxParameter::height() const {
13942   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.height)
13943   return height_;
13944 }
13945 inline ::google::protobuf::RepeatedField< float >*
13946 PriorBoxParameter::mutable_height() {
13947   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.height)
13948   return &height_;
13949 }
13950
13951 inline const PriorBoxParameter* PriorBoxParameter::internal_default_instance() {
13952   return &PriorBoxParameter_default_instance_.get();
13953 }
13954 // -------------------------------------------------------------------
13955
13956 // DetectionOutputParameter
13957
13958 // optional uint32 num_classes = 1;
13959 inline bool DetectionOutputParameter::has_num_classes() const {
13960   return (_has_bits_[0] & 0x00000001u) != 0;
13961 }
13962 inline void DetectionOutputParameter::set_has_num_classes() {
13963   _has_bits_[0] |= 0x00000001u;
13964 }
13965 inline void DetectionOutputParameter::clear_has_num_classes() {
13966   _has_bits_[0] &= ~0x00000001u;
13967 }
13968 inline void DetectionOutputParameter::clear_num_classes() {
13969   num_classes_ = 0u;
13970   clear_has_num_classes();
13971 }
13972 inline ::google::protobuf::uint32 DetectionOutputParameter::num_classes() const {
13973   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.num_classes)
13974   return num_classes_;
13975 }
13976 inline void DetectionOutputParameter::set_num_classes(::google::protobuf::uint32 value) {
13977   set_has_num_classes();
13978   num_classes_ = value;
13979   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.num_classes)
13980 }
13981
13982 // optional bool share_location = 2 [default = true];
13983 inline bool DetectionOutputParameter::has_share_location() const {
13984   return (_has_bits_[0] & 0x00000002u) != 0;
13985 }
13986 inline void DetectionOutputParameter::set_has_share_location() {
13987   _has_bits_[0] |= 0x00000002u;
13988 }
13989 inline void DetectionOutputParameter::clear_has_share_location() {
13990   _has_bits_[0] &= ~0x00000002u;
13991 }
13992 inline void DetectionOutputParameter::clear_share_location() {
13993   share_location_ = true;
13994   clear_has_share_location();
13995 }
13996 inline bool DetectionOutputParameter::share_location() const {
13997   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.share_location)
13998   return share_location_;
13999 }
14000 inline void DetectionOutputParameter::set_share_location(bool value) {
14001   set_has_share_location();
14002   share_location_ = value;
14003   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.share_location)
14004 }
14005
14006 // optional int32 background_label_id = 3 [default = 0];
14007 inline bool DetectionOutputParameter::has_background_label_id() const {
14008   return (_has_bits_[0] & 0x00000004u) != 0;
14009 }
14010 inline void DetectionOutputParameter::set_has_background_label_id() {
14011   _has_bits_[0] |= 0x00000004u;
14012 }
14013 inline void DetectionOutputParameter::clear_has_background_label_id() {
14014   _has_bits_[0] &= ~0x00000004u;
14015 }
14016 inline void DetectionOutputParameter::clear_background_label_id() {
14017   background_label_id_ = 0;
14018   clear_has_background_label_id();
14019 }
14020 inline ::google::protobuf::int32 DetectionOutputParameter::background_label_id() const {
14021   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.background_label_id)
14022   return background_label_id_;
14023 }
14024 inline void DetectionOutputParameter::set_background_label_id(::google::protobuf::int32 value) {
14025   set_has_background_label_id();
14026   background_label_id_ = value;
14027   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.background_label_id)
14028 }
14029
14030 // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
14031 inline bool DetectionOutputParameter::has_nms_param() const {
14032   return (_has_bits_[0] & 0x00000008u) != 0;
14033 }
14034 inline void DetectionOutputParameter::set_has_nms_param() {
14035   _has_bits_[0] |= 0x00000008u;
14036 }
14037 inline void DetectionOutputParameter::clear_has_nms_param() {
14038   _has_bits_[0] &= ~0x00000008u;
14039 }
14040 inline void DetectionOutputParameter::clear_nms_param() {
14041   if (nms_param_ != NULL) nms_param_->::opencv_caffe::NonMaximumSuppressionParameter::Clear();
14042   clear_has_nms_param();
14043 }
14044 inline const ::opencv_caffe::NonMaximumSuppressionParameter& DetectionOutputParameter::nms_param() const {
14045   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.nms_param)
14046   return nms_param_ != NULL ? *nms_param_
14047                          : *::opencv_caffe::NonMaximumSuppressionParameter::internal_default_instance();
14048 }
14049 inline ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::mutable_nms_param() {
14050   set_has_nms_param();
14051   if (nms_param_ == NULL) {
14052     nms_param_ = new ::opencv_caffe::NonMaximumSuppressionParameter;
14053   }
14054   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.nms_param)
14055   return nms_param_;
14056 }
14057 inline ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::release_nms_param() {
14058   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.nms_param)
14059   clear_has_nms_param();
14060   ::opencv_caffe::NonMaximumSuppressionParameter* temp = nms_param_;
14061   nms_param_ = NULL;
14062   return temp;
14063 }
14064 inline void DetectionOutputParameter::set_allocated_nms_param(::opencv_caffe::NonMaximumSuppressionParameter* nms_param) {
14065   delete nms_param_;
14066   nms_param_ = nms_param;
14067   if (nms_param) {
14068     set_has_nms_param();
14069   } else {
14070     clear_has_nms_param();
14071   }
14072   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.nms_param)
14073 }
14074
14075 // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
14076 inline bool DetectionOutputParameter::has_save_output_param() const {
14077   return (_has_bits_[0] & 0x00000010u) != 0;
14078 }
14079 inline void DetectionOutputParameter::set_has_save_output_param() {
14080   _has_bits_[0] |= 0x00000010u;
14081 }
14082 inline void DetectionOutputParameter::clear_has_save_output_param() {
14083   _has_bits_[0] &= ~0x00000010u;
14084 }
14085 inline void DetectionOutputParameter::clear_save_output_param() {
14086   if (save_output_param_ != NULL) save_output_param_->::opencv_caffe::SaveOutputParameter::Clear();
14087   clear_has_save_output_param();
14088 }
14089 inline const ::opencv_caffe::SaveOutputParameter& DetectionOutputParameter::save_output_param() const {
14090   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.save_output_param)
14091   return save_output_param_ != NULL ? *save_output_param_
14092                          : *::opencv_caffe::SaveOutputParameter::internal_default_instance();
14093 }
14094 inline ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::mutable_save_output_param() {
14095   set_has_save_output_param();
14096   if (save_output_param_ == NULL) {
14097     save_output_param_ = new ::opencv_caffe::SaveOutputParameter;
14098   }
14099   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.save_output_param)
14100   return save_output_param_;
14101 }
14102 inline ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::release_save_output_param() {
14103   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.save_output_param)
14104   clear_has_save_output_param();
14105   ::opencv_caffe::SaveOutputParameter* temp = save_output_param_;
14106   save_output_param_ = NULL;
14107   return temp;
14108 }
14109 inline void DetectionOutputParameter::set_allocated_save_output_param(::opencv_caffe::SaveOutputParameter* save_output_param) {
14110   delete save_output_param_;
14111   save_output_param_ = save_output_param;
14112   if (save_output_param) {
14113     set_has_save_output_param();
14114   } else {
14115     clear_has_save_output_param();
14116   }
14117   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.save_output_param)
14118 }
14119
14120 // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
14121 inline bool DetectionOutputParameter::has_code_type() const {
14122   return (_has_bits_[0] & 0x00000020u) != 0;
14123 }
14124 inline void DetectionOutputParameter::set_has_code_type() {
14125   _has_bits_[0] |= 0x00000020u;
14126 }
14127 inline void DetectionOutputParameter::clear_has_code_type() {
14128   _has_bits_[0] &= ~0x00000020u;
14129 }
14130 inline void DetectionOutputParameter::clear_code_type() {
14131   code_type_ = 1;
14132   clear_has_code_type();
14133 }
14134 inline ::opencv_caffe::PriorBoxParameter_CodeType DetectionOutputParameter::code_type() const {
14135   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.code_type)
14136   return static_cast< ::opencv_caffe::PriorBoxParameter_CodeType >(code_type_);
14137 }
14138 inline void DetectionOutputParameter::set_code_type(::opencv_caffe::PriorBoxParameter_CodeType value) {
14139   assert(::opencv_caffe::PriorBoxParameter_CodeType_IsValid(value));
14140   set_has_code_type();
14141   code_type_ = value;
14142   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.code_type)
14143 }
14144
14145 // optional bool variance_encoded_in_target = 8 [default = false];
14146 inline bool DetectionOutputParameter::has_variance_encoded_in_target() const {
14147   return (_has_bits_[0] & 0x00000040u) != 0;
14148 }
14149 inline void DetectionOutputParameter::set_has_variance_encoded_in_target() {
14150   _has_bits_[0] |= 0x00000040u;
14151 }
14152 inline void DetectionOutputParameter::clear_has_variance_encoded_in_target() {
14153   _has_bits_[0] &= ~0x00000040u;
14154 }
14155 inline void DetectionOutputParameter::clear_variance_encoded_in_target() {
14156   variance_encoded_in_target_ = false;
14157   clear_has_variance_encoded_in_target();
14158 }
14159 inline bool DetectionOutputParameter::variance_encoded_in_target() const {
14160   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
14161   return variance_encoded_in_target_;
14162 }
14163 inline void DetectionOutputParameter::set_variance_encoded_in_target(bool value) {
14164   set_has_variance_encoded_in_target();
14165   variance_encoded_in_target_ = value;
14166   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
14167 }
14168
14169 // optional int32 keep_top_k = 7 [default = -1];
14170 inline bool DetectionOutputParameter::has_keep_top_k() const {
14171   return (_has_bits_[0] & 0x00000080u) != 0;
14172 }
14173 inline void DetectionOutputParameter::set_has_keep_top_k() {
14174   _has_bits_[0] |= 0x00000080u;
14175 }
14176 inline void DetectionOutputParameter::clear_has_keep_top_k() {
14177   _has_bits_[0] &= ~0x00000080u;
14178 }
14179 inline void DetectionOutputParameter::clear_keep_top_k() {
14180   keep_top_k_ = -1;
14181   clear_has_keep_top_k();
14182 }
14183 inline ::google::protobuf::int32 DetectionOutputParameter::keep_top_k() const {
14184   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.keep_top_k)
14185   return keep_top_k_;
14186 }
14187 inline void DetectionOutputParameter::set_keep_top_k(::google::protobuf::int32 value) {
14188   set_has_keep_top_k();
14189   keep_top_k_ = value;
14190   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.keep_top_k)
14191 }
14192
14193 // optional float confidence_threshold = 9;
14194 inline bool DetectionOutputParameter::has_confidence_threshold() const {
14195   return (_has_bits_[0] & 0x00000100u) != 0;
14196 }
14197 inline void DetectionOutputParameter::set_has_confidence_threshold() {
14198   _has_bits_[0] |= 0x00000100u;
14199 }
14200 inline void DetectionOutputParameter::clear_has_confidence_threshold() {
14201   _has_bits_[0] &= ~0x00000100u;
14202 }
14203 inline void DetectionOutputParameter::clear_confidence_threshold() {
14204   confidence_threshold_ = 0;
14205   clear_has_confidence_threshold();
14206 }
14207 inline float DetectionOutputParameter::confidence_threshold() const {
14208   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.confidence_threshold)
14209   return confidence_threshold_;
14210 }
14211 inline void DetectionOutputParameter::set_confidence_threshold(float value) {
14212   set_has_confidence_threshold();
14213   confidence_threshold_ = value;
14214   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.confidence_threshold)
14215 }
14216
14217 inline const DetectionOutputParameter* DetectionOutputParameter::internal_default_instance() {
14218   return &DetectionOutputParameter_default_instance_.get();
14219 }
14220 // -------------------------------------------------------------------
14221
14222 // Datum
14223
14224 // optional int32 channels = 1;
14225 inline bool Datum::has_channels() const {
14226   return (_has_bits_[0] & 0x00000001u) != 0;
14227 }
14228 inline void Datum::set_has_channels() {
14229   _has_bits_[0] |= 0x00000001u;
14230 }
14231 inline void Datum::clear_has_channels() {
14232   _has_bits_[0] &= ~0x00000001u;
14233 }
14234 inline void Datum::clear_channels() {
14235   channels_ = 0;
14236   clear_has_channels();
14237 }
14238 inline ::google::protobuf::int32 Datum::channels() const {
14239   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.channels)
14240   return channels_;
14241 }
14242 inline void Datum::set_channels(::google::protobuf::int32 value) {
14243   set_has_channels();
14244   channels_ = value;
14245   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.channels)
14246 }
14247
14248 // optional int32 height = 2;
14249 inline bool Datum::has_height() const {
14250   return (_has_bits_[0] & 0x00000002u) != 0;
14251 }
14252 inline void Datum::set_has_height() {
14253   _has_bits_[0] |= 0x00000002u;
14254 }
14255 inline void Datum::clear_has_height() {
14256   _has_bits_[0] &= ~0x00000002u;
14257 }
14258 inline void Datum::clear_height() {
14259   height_ = 0;
14260   clear_has_height();
14261 }
14262 inline ::google::protobuf::int32 Datum::height() const {
14263   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.height)
14264   return height_;
14265 }
14266 inline void Datum::set_height(::google::protobuf::int32 value) {
14267   set_has_height();
14268   height_ = value;
14269   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.height)
14270 }
14271
14272 // optional int32 width = 3;
14273 inline bool Datum::has_width() const {
14274   return (_has_bits_[0] & 0x00000004u) != 0;
14275 }
14276 inline void Datum::set_has_width() {
14277   _has_bits_[0] |= 0x00000004u;
14278 }
14279 inline void Datum::clear_has_width() {
14280   _has_bits_[0] &= ~0x00000004u;
14281 }
14282 inline void Datum::clear_width() {
14283   width_ = 0;
14284   clear_has_width();
14285 }
14286 inline ::google::protobuf::int32 Datum::width() const {
14287   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.width)
14288   return width_;
14289 }
14290 inline void Datum::set_width(::google::protobuf::int32 value) {
14291   set_has_width();
14292   width_ = value;
14293   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.width)
14294 }
14295
14296 // optional bytes data = 4;
14297 inline bool Datum::has_data() const {
14298   return (_has_bits_[0] & 0x00000008u) != 0;
14299 }
14300 inline void Datum::set_has_data() {
14301   _has_bits_[0] |= 0x00000008u;
14302 }
14303 inline void Datum::clear_has_data() {
14304   _has_bits_[0] &= ~0x00000008u;
14305 }
14306 inline void Datum::clear_data() {
14307   data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14308   clear_has_data();
14309 }
14310 inline const ::std::string& Datum::data() const {
14311   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.data)
14312   return data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14313 }
14314 inline void Datum::set_data(const ::std::string& value) {
14315   set_has_data();
14316   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
14317   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.data)
14318 }
14319 inline void Datum::set_data(const char* value) {
14320   set_has_data();
14321   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
14322   // @@protoc_insertion_point(field_set_char:opencv_caffe.Datum.data)
14323 }
14324 inline void Datum::set_data(const void* value, size_t size) {
14325   set_has_data();
14326   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
14327       ::std::string(reinterpret_cast<const char*>(value), size));
14328   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.Datum.data)
14329 }
14330 inline ::std::string* Datum::mutable_data() {
14331   set_has_data();
14332   // @@protoc_insertion_point(field_mutable:opencv_caffe.Datum.data)
14333   return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14334 }
14335 inline ::std::string* Datum::release_data() {
14336   // @@protoc_insertion_point(field_release:opencv_caffe.Datum.data)
14337   clear_has_data();
14338   return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14339 }
14340 inline void Datum::set_allocated_data(::std::string* data) {
14341   if (data != NULL) {
14342     set_has_data();
14343   } else {
14344     clear_has_data();
14345   }
14346   data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
14347   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.Datum.data)
14348 }
14349
14350 // optional int32 label = 5;
14351 inline bool Datum::has_label() const {
14352   return (_has_bits_[0] & 0x00000010u) != 0;
14353 }
14354 inline void Datum::set_has_label() {
14355   _has_bits_[0] |= 0x00000010u;
14356 }
14357 inline void Datum::clear_has_label() {
14358   _has_bits_[0] &= ~0x00000010u;
14359 }
14360 inline void Datum::clear_label() {
14361   label_ = 0;
14362   clear_has_label();
14363 }
14364 inline ::google::protobuf::int32 Datum::label() const {
14365   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.label)
14366   return label_;
14367 }
14368 inline void Datum::set_label(::google::protobuf::int32 value) {
14369   set_has_label();
14370   label_ = value;
14371   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.label)
14372 }
14373
14374 // repeated float float_data = 6;
14375 inline int Datum::float_data_size() const {
14376   return float_data_.size();
14377 }
14378 inline void Datum::clear_float_data() {
14379   float_data_.Clear();
14380 }
14381 inline float Datum::float_data(int index) const {
14382   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.float_data)
14383   return float_data_.Get(index);
14384 }
14385 inline void Datum::set_float_data(int index, float value) {
14386   float_data_.Set(index, value);
14387   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.float_data)
14388 }
14389 inline void Datum::add_float_data(float value) {
14390   float_data_.Add(value);
14391   // @@protoc_insertion_point(field_add:opencv_caffe.Datum.float_data)
14392 }
14393 inline const ::google::protobuf::RepeatedField< float >&
14394 Datum::float_data() const {
14395   // @@protoc_insertion_point(field_list:opencv_caffe.Datum.float_data)
14396   return float_data_;
14397 }
14398 inline ::google::protobuf::RepeatedField< float >*
14399 Datum::mutable_float_data() {
14400   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.Datum.float_data)
14401   return &float_data_;
14402 }
14403
14404 // optional bool encoded = 7 [default = false];
14405 inline bool Datum::has_encoded() const {
14406   return (_has_bits_[0] & 0x00000040u) != 0;
14407 }
14408 inline void Datum::set_has_encoded() {
14409   _has_bits_[0] |= 0x00000040u;
14410 }
14411 inline void Datum::clear_has_encoded() {
14412   _has_bits_[0] &= ~0x00000040u;
14413 }
14414 inline void Datum::clear_encoded() {
14415   encoded_ = false;
14416   clear_has_encoded();
14417 }
14418 inline bool Datum::encoded() const {
14419   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.encoded)
14420   return encoded_;
14421 }
14422 inline void Datum::set_encoded(bool value) {
14423   set_has_encoded();
14424   encoded_ = value;
14425   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.encoded)
14426 }
14427
14428 inline const Datum* Datum::internal_default_instance() {
14429   return &Datum_default_instance_.get();
14430 }
14431 // -------------------------------------------------------------------
14432
14433 // FillerParameter
14434
14435 // optional string type = 1 [default = "constant"];
14436 inline bool FillerParameter::has_type() const {
14437   return (_has_bits_[0] & 0x00000001u) != 0;
14438 }
14439 inline void FillerParameter::set_has_type() {
14440   _has_bits_[0] |= 0x00000001u;
14441 }
14442 inline void FillerParameter::clear_has_type() {
14443   _has_bits_[0] &= ~0x00000001u;
14444 }
14445 inline void FillerParameter::clear_type() {
14446   type_.ClearToDefaultNoArena(_default_type_);
14447   clear_has_type();
14448 }
14449 inline const ::std::string& FillerParameter::type() const {
14450   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.type)
14451   return type_.GetNoArena(_default_type_);
14452 }
14453 inline void FillerParameter::set_type(const ::std::string& value) {
14454   set_has_type();
14455   type_.SetNoArena(_default_type_, value);
14456   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.type)
14457 }
14458 inline void FillerParameter::set_type(const char* value) {
14459   set_has_type();
14460   type_.SetNoArena(_default_type_, ::std::string(value));
14461   // @@protoc_insertion_point(field_set_char:opencv_caffe.FillerParameter.type)
14462 }
14463 inline void FillerParameter::set_type(const char* value, size_t size) {
14464   set_has_type();
14465   type_.SetNoArena(_default_type_,
14466       ::std::string(reinterpret_cast<const char*>(value), size));
14467   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.FillerParameter.type)
14468 }
14469 inline ::std::string* FillerParameter::mutable_type() {
14470   set_has_type();
14471   // @@protoc_insertion_point(field_mutable:opencv_caffe.FillerParameter.type)
14472   return type_.MutableNoArena(_default_type_);
14473 }
14474 inline ::std::string* FillerParameter::release_type() {
14475   // @@protoc_insertion_point(field_release:opencv_caffe.FillerParameter.type)
14476   clear_has_type();
14477   return type_.ReleaseNoArena(_default_type_);
14478 }
14479 inline void FillerParameter::set_allocated_type(::std::string* type) {
14480   if (type != NULL) {
14481     set_has_type();
14482   } else {
14483     clear_has_type();
14484   }
14485   type_.SetAllocatedNoArena(_default_type_, type);
14486   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.FillerParameter.type)
14487 }
14488
14489 // optional float value = 2 [default = 0];
14490 inline bool FillerParameter::has_value() const {
14491   return (_has_bits_[0] & 0x00000002u) != 0;
14492 }
14493 inline void FillerParameter::set_has_value() {
14494   _has_bits_[0] |= 0x00000002u;
14495 }
14496 inline void FillerParameter::clear_has_value() {
14497   _has_bits_[0] &= ~0x00000002u;
14498 }
14499 inline void FillerParameter::clear_value() {
14500   value_ = 0;
14501   clear_has_value();
14502 }
14503 inline float FillerParameter::value() const {
14504   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.value)
14505   return value_;
14506 }
14507 inline void FillerParameter::set_value(float value) {
14508   set_has_value();
14509   value_ = value;
14510   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.value)
14511 }
14512
14513 // optional float min = 3 [default = 0];
14514 inline bool FillerParameter::has_min() const {
14515   return (_has_bits_[0] & 0x00000004u) != 0;
14516 }
14517 inline void FillerParameter::set_has_min() {
14518   _has_bits_[0] |= 0x00000004u;
14519 }
14520 inline void FillerParameter::clear_has_min() {
14521   _has_bits_[0] &= ~0x00000004u;
14522 }
14523 inline void FillerParameter::clear_min() {
14524   min_ = 0;
14525   clear_has_min();
14526 }
14527 inline float FillerParameter::min() const {
14528   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.min)
14529   return min_;
14530 }
14531 inline void FillerParameter::set_min(float value) {
14532   set_has_min();
14533   min_ = value;
14534   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.min)
14535 }
14536
14537 // optional float max = 4 [default = 1];
14538 inline bool FillerParameter::has_max() const {
14539   return (_has_bits_[0] & 0x00000008u) != 0;
14540 }
14541 inline void FillerParameter::set_has_max() {
14542   _has_bits_[0] |= 0x00000008u;
14543 }
14544 inline void FillerParameter::clear_has_max() {
14545   _has_bits_[0] &= ~0x00000008u;
14546 }
14547 inline void FillerParameter::clear_max() {
14548   max_ = 1;
14549   clear_has_max();
14550 }
14551 inline float FillerParameter::max() const {
14552   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.max)
14553   return max_;
14554 }
14555 inline void FillerParameter::set_max(float value) {
14556   set_has_max();
14557   max_ = value;
14558   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.max)
14559 }
14560
14561 // optional float mean = 5 [default = 0];
14562 inline bool FillerParameter::has_mean() const {
14563   return (_has_bits_[0] & 0x00000010u) != 0;
14564 }
14565 inline void FillerParameter::set_has_mean() {
14566   _has_bits_[0] |= 0x00000010u;
14567 }
14568 inline void FillerParameter::clear_has_mean() {
14569   _has_bits_[0] &= ~0x00000010u;
14570 }
14571 inline void FillerParameter::clear_mean() {
14572   mean_ = 0;
14573   clear_has_mean();
14574 }
14575 inline float FillerParameter::mean() const {
14576   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.mean)
14577   return mean_;
14578 }
14579 inline void FillerParameter::set_mean(float value) {
14580   set_has_mean();
14581   mean_ = value;
14582   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.mean)
14583 }
14584
14585 // optional float std = 6 [default = 1];
14586 inline bool FillerParameter::has_std() const {
14587   return (_has_bits_[0] & 0x00000020u) != 0;
14588 }
14589 inline void FillerParameter::set_has_std() {
14590   _has_bits_[0] |= 0x00000020u;
14591 }
14592 inline void FillerParameter::clear_has_std() {
14593   _has_bits_[0] &= ~0x00000020u;
14594 }
14595 inline void FillerParameter::clear_std() {
14596   std_ = 1;
14597   clear_has_std();
14598 }
14599 inline float FillerParameter::std() const {
14600   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.std)
14601   return std_;
14602 }
14603 inline void FillerParameter::set_std(float value) {
14604   set_has_std();
14605   std_ = value;
14606   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.std)
14607 }
14608
14609 // optional int32 sparse = 7 [default = -1];
14610 inline bool FillerParameter::has_sparse() const {
14611   return (_has_bits_[0] & 0x00000040u) != 0;
14612 }
14613 inline void FillerParameter::set_has_sparse() {
14614   _has_bits_[0] |= 0x00000040u;
14615 }
14616 inline void FillerParameter::clear_has_sparse() {
14617   _has_bits_[0] &= ~0x00000040u;
14618 }
14619 inline void FillerParameter::clear_sparse() {
14620   sparse_ = -1;
14621   clear_has_sparse();
14622 }
14623 inline ::google::protobuf::int32 FillerParameter::sparse() const {
14624   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.sparse)
14625   return sparse_;
14626 }
14627 inline void FillerParameter::set_sparse(::google::protobuf::int32 value) {
14628   set_has_sparse();
14629   sparse_ = value;
14630   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.sparse)
14631 }
14632
14633 // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
14634 inline bool FillerParameter::has_variance_norm() const {
14635   return (_has_bits_[0] & 0x00000080u) != 0;
14636 }
14637 inline void FillerParameter::set_has_variance_norm() {
14638   _has_bits_[0] |= 0x00000080u;
14639 }
14640 inline void FillerParameter::clear_has_variance_norm() {
14641   _has_bits_[0] &= ~0x00000080u;
14642 }
14643 inline void FillerParameter::clear_variance_norm() {
14644   variance_norm_ = 0;
14645   clear_has_variance_norm();
14646 }
14647 inline ::opencv_caffe::FillerParameter_VarianceNorm FillerParameter::variance_norm() const {
14648   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.variance_norm)
14649   return static_cast< ::opencv_caffe::FillerParameter_VarianceNorm >(variance_norm_);
14650 }
14651 inline void FillerParameter::set_variance_norm(::opencv_caffe::FillerParameter_VarianceNorm value) {
14652   assert(::opencv_caffe::FillerParameter_VarianceNorm_IsValid(value));
14653   set_has_variance_norm();
14654   variance_norm_ = value;
14655   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.variance_norm)
14656 }
14657
14658 inline const FillerParameter* FillerParameter::internal_default_instance() {
14659   return &FillerParameter_default_instance_.get();
14660 }
14661 // -------------------------------------------------------------------
14662
14663 // NetParameter
14664
14665 // optional string name = 1;
14666 inline bool NetParameter::has_name() const {
14667   return (_has_bits_[0] & 0x00000001u) != 0;
14668 }
14669 inline void NetParameter::set_has_name() {
14670   _has_bits_[0] |= 0x00000001u;
14671 }
14672 inline void NetParameter::clear_has_name() {
14673   _has_bits_[0] &= ~0x00000001u;
14674 }
14675 inline void NetParameter::clear_name() {
14676   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14677   clear_has_name();
14678 }
14679 inline const ::std::string& NetParameter::name() const {
14680   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.name)
14681   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14682 }
14683 inline void NetParameter::set_name(const ::std::string& value) {
14684   set_has_name();
14685   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
14686   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.name)
14687 }
14688 inline void NetParameter::set_name(const char* value) {
14689   set_has_name();
14690   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
14691   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.name)
14692 }
14693 inline void NetParameter::set_name(const char* value, size_t size) {
14694   set_has_name();
14695   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
14696       ::std::string(reinterpret_cast<const char*>(value), size));
14697   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.name)
14698 }
14699 inline ::std::string* NetParameter::mutable_name() {
14700   set_has_name();
14701   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.name)
14702   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14703 }
14704 inline ::std::string* NetParameter::release_name() {
14705   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.name)
14706   clear_has_name();
14707   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14708 }
14709 inline void NetParameter::set_allocated_name(::std::string* name) {
14710   if (name != NULL) {
14711     set_has_name();
14712   } else {
14713     clear_has_name();
14714   }
14715   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
14716   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.name)
14717 }
14718
14719 // repeated string input = 3;
14720 inline int NetParameter::input_size() const {
14721   return input_.size();
14722 }
14723 inline void NetParameter::clear_input() {
14724   input_.Clear();
14725 }
14726 inline const ::std::string& NetParameter::input(int index) const {
14727   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input)
14728   return input_.Get(index);
14729 }
14730 inline ::std::string* NetParameter::mutable_input(int index) {
14731   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input)
14732   return input_.Mutable(index);
14733 }
14734 inline void NetParameter::set_input(int index, const ::std::string& value) {
14735   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input)
14736   input_.Mutable(index)->assign(value);
14737 }
14738 inline void NetParameter::set_input(int index, const char* value) {
14739   input_.Mutable(index)->assign(value);
14740   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.input)
14741 }
14742 inline void NetParameter::set_input(int index, const char* value, size_t size) {
14743   input_.Mutable(index)->assign(
14744     reinterpret_cast<const char*>(value), size);
14745   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.input)
14746 }
14747 inline ::std::string* NetParameter::add_input() {
14748   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetParameter.input)
14749   return input_.Add();
14750 }
14751 inline void NetParameter::add_input(const ::std::string& value) {
14752   input_.Add()->assign(value);
14753   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input)
14754 }
14755 inline void NetParameter::add_input(const char* value) {
14756   input_.Add()->assign(value);
14757   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetParameter.input)
14758 }
14759 inline void NetParameter::add_input(const char* value, size_t size) {
14760   input_.Add()->assign(reinterpret_cast<const char*>(value), size);
14761   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetParameter.input)
14762 }
14763 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
14764 NetParameter::input() const {
14765   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input)
14766   return input_;
14767 }
14768 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
14769 NetParameter::mutable_input() {
14770   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input)
14771   return &input_;
14772 }
14773
14774 // repeated .opencv_caffe.BlobShape input_shape = 8;
14775 inline int NetParameter::input_shape_size() const {
14776   return input_shape_.size();
14777 }
14778 inline void NetParameter::clear_input_shape() {
14779   input_shape_.Clear();
14780 }
14781 inline const ::opencv_caffe::BlobShape& NetParameter::input_shape(int index) const {
14782   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_shape)
14783   return input_shape_.Get(index);
14784 }
14785 inline ::opencv_caffe::BlobShape* NetParameter::mutable_input_shape(int index) {
14786   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input_shape)
14787   return input_shape_.Mutable(index);
14788 }
14789 inline ::opencv_caffe::BlobShape* NetParameter::add_input_shape() {
14790   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_shape)
14791   return input_shape_.Add();
14792 }
14793 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
14794 NetParameter::mutable_input_shape() {
14795   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_shape)
14796   return &input_shape_;
14797 }
14798 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
14799 NetParameter::input_shape() const {
14800   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_shape)
14801   return input_shape_;
14802 }
14803
14804 // repeated int32 input_dim = 4;
14805 inline int NetParameter::input_dim_size() const {
14806   return input_dim_.size();
14807 }
14808 inline void NetParameter::clear_input_dim() {
14809   input_dim_.Clear();
14810 }
14811 inline ::google::protobuf::int32 NetParameter::input_dim(int index) const {
14812   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_dim)
14813   return input_dim_.Get(index);
14814 }
14815 inline void NetParameter::set_input_dim(int index, ::google::protobuf::int32 value) {
14816   input_dim_.Set(index, value);
14817   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input_dim)
14818 }
14819 inline void NetParameter::add_input_dim(::google::protobuf::int32 value) {
14820   input_dim_.Add(value);
14821   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_dim)
14822 }
14823 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
14824 NetParameter::input_dim() const {
14825   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_dim)
14826   return input_dim_;
14827 }
14828 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
14829 NetParameter::mutable_input_dim() {
14830   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_dim)
14831   return &input_dim_;
14832 }
14833
14834 // optional bool force_backward = 5 [default = false];
14835 inline bool NetParameter::has_force_backward() const {
14836   return (_has_bits_[0] & 0x00000010u) != 0;
14837 }
14838 inline void NetParameter::set_has_force_backward() {
14839   _has_bits_[0] |= 0x00000010u;
14840 }
14841 inline void NetParameter::clear_has_force_backward() {
14842   _has_bits_[0] &= ~0x00000010u;
14843 }
14844 inline void NetParameter::clear_force_backward() {
14845   force_backward_ = false;
14846   clear_has_force_backward();
14847 }
14848 inline bool NetParameter::force_backward() const {
14849   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.force_backward)
14850   return force_backward_;
14851 }
14852 inline void NetParameter::set_force_backward(bool value) {
14853   set_has_force_backward();
14854   force_backward_ = value;
14855   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.force_backward)
14856 }
14857
14858 // optional .opencv_caffe.NetState state = 6;
14859 inline bool NetParameter::has_state() const {
14860   return (_has_bits_[0] & 0x00000020u) != 0;
14861 }
14862 inline void NetParameter::set_has_state() {
14863   _has_bits_[0] |= 0x00000020u;
14864 }
14865 inline void NetParameter::clear_has_state() {
14866   _has_bits_[0] &= ~0x00000020u;
14867 }
14868 inline void NetParameter::clear_state() {
14869   if (state_ != NULL) state_->::opencv_caffe::NetState::Clear();
14870   clear_has_state();
14871 }
14872 inline const ::opencv_caffe::NetState& NetParameter::state() const {
14873   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.state)
14874   return state_ != NULL ? *state_
14875                          : *::opencv_caffe::NetState::internal_default_instance();
14876 }
14877 inline ::opencv_caffe::NetState* NetParameter::mutable_state() {
14878   set_has_state();
14879   if (state_ == NULL) {
14880     state_ = new ::opencv_caffe::NetState;
14881   }
14882   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.state)
14883   return state_;
14884 }
14885 inline ::opencv_caffe::NetState* NetParameter::release_state() {
14886   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.state)
14887   clear_has_state();
14888   ::opencv_caffe::NetState* temp = state_;
14889   state_ = NULL;
14890   return temp;
14891 }
14892 inline void NetParameter::set_allocated_state(::opencv_caffe::NetState* state) {
14893   delete state_;
14894   state_ = state;
14895   if (state) {
14896     set_has_state();
14897   } else {
14898     clear_has_state();
14899   }
14900   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.state)
14901 }
14902
14903 // optional bool debug_info = 7 [default = false];
14904 inline bool NetParameter::has_debug_info() const {
14905   return (_has_bits_[0] & 0x00000040u) != 0;
14906 }
14907 inline void NetParameter::set_has_debug_info() {
14908   _has_bits_[0] |= 0x00000040u;
14909 }
14910 inline void NetParameter::clear_has_debug_info() {
14911   _has_bits_[0] &= ~0x00000040u;
14912 }
14913 inline void NetParameter::clear_debug_info() {
14914   debug_info_ = false;
14915   clear_has_debug_info();
14916 }
14917 inline bool NetParameter::debug_info() const {
14918   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.debug_info)
14919   return debug_info_;
14920 }
14921 inline void NetParameter::set_debug_info(bool value) {
14922   set_has_debug_info();
14923   debug_info_ = value;
14924   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.debug_info)
14925 }
14926
14927 // repeated .opencv_caffe.LayerParameter layer = 100;
14928 inline int NetParameter::layer_size() const {
14929   return layer_.size();
14930 }
14931 inline void NetParameter::clear_layer() {
14932   layer_.Clear();
14933 }
14934 inline const ::opencv_caffe::LayerParameter& NetParameter::layer(int index) const {
14935   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layer)
14936   return layer_.Get(index);
14937 }
14938 inline ::opencv_caffe::LayerParameter* NetParameter::mutable_layer(int index) {
14939   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layer)
14940   return layer_.Mutable(index);
14941 }
14942 inline ::opencv_caffe::LayerParameter* NetParameter::add_layer() {
14943   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layer)
14944   return layer_.Add();
14945 }
14946 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >*
14947 NetParameter::mutable_layer() {
14948   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layer)
14949   return &layer_;
14950 }
14951 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >&
14952 NetParameter::layer() const {
14953   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layer)
14954   return layer_;
14955 }
14956
14957 // repeated .opencv_caffe.V1LayerParameter layers = 2;
14958 inline int NetParameter::layers_size() const {
14959   return layers_.size();
14960 }
14961 inline void NetParameter::clear_layers() {
14962   layers_.Clear();
14963 }
14964 inline const ::opencv_caffe::V1LayerParameter& NetParameter::layers(int index) const {
14965   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layers)
14966   return layers_.Get(index);
14967 }
14968 inline ::opencv_caffe::V1LayerParameter* NetParameter::mutable_layers(int index) {
14969   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layers)
14970   return layers_.Mutable(index);
14971 }
14972 inline ::opencv_caffe::V1LayerParameter* NetParameter::add_layers() {
14973   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layers)
14974   return layers_.Add();
14975 }
14976 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >*
14977 NetParameter::mutable_layers() {
14978   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layers)
14979   return &layers_;
14980 }
14981 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >&
14982 NetParameter::layers() const {
14983   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layers)
14984   return layers_;
14985 }
14986
14987 inline const NetParameter* NetParameter::internal_default_instance() {
14988   return &NetParameter_default_instance_.get();
14989 }
14990 // -------------------------------------------------------------------
14991
14992 // SolverParameter
14993
14994 // optional string net = 24;
14995 inline bool SolverParameter::has_net() const {
14996   return (_has_bits_[0] & 0x00000001u) != 0;
14997 }
14998 inline void SolverParameter::set_has_net() {
14999   _has_bits_[0] |= 0x00000001u;
15000 }
15001 inline void SolverParameter::clear_has_net() {
15002   _has_bits_[0] &= ~0x00000001u;
15003 }
15004 inline void SolverParameter::clear_net() {
15005   net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15006   clear_has_net();
15007 }
15008 inline const ::std::string& SolverParameter::net() const {
15009   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net)
15010   return net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15011 }
15012 inline void SolverParameter::set_net(const ::std::string& value) {
15013   set_has_net();
15014   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15015   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.net)
15016 }
15017 inline void SolverParameter::set_net(const char* value) {
15018   set_has_net();
15019   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15020   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.net)
15021 }
15022 inline void SolverParameter::set_net(const char* value, size_t size) {
15023   set_has_net();
15024   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15025       ::std::string(reinterpret_cast<const char*>(value), size));
15026   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.net)
15027 }
15028 inline ::std::string* SolverParameter::mutable_net() {
15029   set_has_net();
15030   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net)
15031   return net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15032 }
15033 inline ::std::string* SolverParameter::release_net() {
15034   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net)
15035   clear_has_net();
15036   return net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15037 }
15038 inline void SolverParameter::set_allocated_net(::std::string* net) {
15039   if (net != NULL) {
15040     set_has_net();
15041   } else {
15042     clear_has_net();
15043   }
15044   net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), net);
15045   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net)
15046 }
15047
15048 // optional .opencv_caffe.NetParameter net_param = 25;
15049 inline bool SolverParameter::has_net_param() const {
15050   return (_has_bits_[0] & 0x00000002u) != 0;
15051 }
15052 inline void SolverParameter::set_has_net_param() {
15053   _has_bits_[0] |= 0x00000002u;
15054 }
15055 inline void SolverParameter::clear_has_net_param() {
15056   _has_bits_[0] &= ~0x00000002u;
15057 }
15058 inline void SolverParameter::clear_net_param() {
15059   if (net_param_ != NULL) net_param_->::opencv_caffe::NetParameter::Clear();
15060   clear_has_net_param();
15061 }
15062 inline const ::opencv_caffe::NetParameter& SolverParameter::net_param() const {
15063   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net_param)
15064   return net_param_ != NULL ? *net_param_
15065                          : *::opencv_caffe::NetParameter::internal_default_instance();
15066 }
15067 inline ::opencv_caffe::NetParameter* SolverParameter::mutable_net_param() {
15068   set_has_net_param();
15069   if (net_param_ == NULL) {
15070     net_param_ = new ::opencv_caffe::NetParameter;
15071   }
15072   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net_param)
15073   return net_param_;
15074 }
15075 inline ::opencv_caffe::NetParameter* SolverParameter::release_net_param() {
15076   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net_param)
15077   clear_has_net_param();
15078   ::opencv_caffe::NetParameter* temp = net_param_;
15079   net_param_ = NULL;
15080   return temp;
15081 }
15082 inline void SolverParameter::set_allocated_net_param(::opencv_caffe::NetParameter* net_param) {
15083   delete net_param_;
15084   net_param_ = net_param;
15085   if (net_param) {
15086     set_has_net_param();
15087   } else {
15088     clear_has_net_param();
15089   }
15090   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net_param)
15091 }
15092
15093 // optional string train_net = 1;
15094 inline bool SolverParameter::has_train_net() const {
15095   return (_has_bits_[0] & 0x00000004u) != 0;
15096 }
15097 inline void SolverParameter::set_has_train_net() {
15098   _has_bits_[0] |= 0x00000004u;
15099 }
15100 inline void SolverParameter::clear_has_train_net() {
15101   _has_bits_[0] &= ~0x00000004u;
15102 }
15103 inline void SolverParameter::clear_train_net() {
15104   train_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15105   clear_has_train_net();
15106 }
15107 inline const ::std::string& SolverParameter::train_net() const {
15108   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net)
15109   return train_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15110 }
15111 inline void SolverParameter::set_train_net(const ::std::string& value) {
15112   set_has_train_net();
15113   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15114   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.train_net)
15115 }
15116 inline void SolverParameter::set_train_net(const char* value) {
15117   set_has_train_net();
15118   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15119   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.train_net)
15120 }
15121 inline void SolverParameter::set_train_net(const char* value, size_t size) {
15122   set_has_train_net();
15123   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15124       ::std::string(reinterpret_cast<const char*>(value), size));
15125   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.train_net)
15126 }
15127 inline ::std::string* SolverParameter::mutable_train_net() {
15128   set_has_train_net();
15129   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net)
15130   return train_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15131 }
15132 inline ::std::string* SolverParameter::release_train_net() {
15133   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net)
15134   clear_has_train_net();
15135   return train_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15136 }
15137 inline void SolverParameter::set_allocated_train_net(::std::string* train_net) {
15138   if (train_net != NULL) {
15139     set_has_train_net();
15140   } else {
15141     clear_has_train_net();
15142   }
15143   train_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), train_net);
15144   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net)
15145 }
15146
15147 // repeated string test_net = 2;
15148 inline int SolverParameter::test_net_size() const {
15149   return test_net_.size();
15150 }
15151 inline void SolverParameter::clear_test_net() {
15152   test_net_.Clear();
15153 }
15154 inline const ::std::string& SolverParameter::test_net(int index) const {
15155   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net)
15156   return test_net_.Get(index);
15157 }
15158 inline ::std::string* SolverParameter::mutable_test_net(int index) {
15159   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net)
15160   return test_net_.Mutable(index);
15161 }
15162 inline void SolverParameter::set_test_net(int index, const ::std::string& value) {
15163   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_net)
15164   test_net_.Mutable(index)->assign(value);
15165 }
15166 inline void SolverParameter::set_test_net(int index, const char* value) {
15167   test_net_.Mutable(index)->assign(value);
15168   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.test_net)
15169 }
15170 inline void SolverParameter::set_test_net(int index, const char* value, size_t size) {
15171   test_net_.Mutable(index)->assign(
15172     reinterpret_cast<const char*>(value), size);
15173   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.test_net)
15174 }
15175 inline ::std::string* SolverParameter::add_test_net() {
15176   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.SolverParameter.test_net)
15177   return test_net_.Add();
15178 }
15179 inline void SolverParameter::add_test_net(const ::std::string& value) {
15180   test_net_.Add()->assign(value);
15181   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net)
15182 }
15183 inline void SolverParameter::add_test_net(const char* value) {
15184   test_net_.Add()->assign(value);
15185   // @@protoc_insertion_point(field_add_char:opencv_caffe.SolverParameter.test_net)
15186 }
15187 inline void SolverParameter::add_test_net(const char* value, size_t size) {
15188   test_net_.Add()->assign(reinterpret_cast<const char*>(value), size);
15189   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.SolverParameter.test_net)
15190 }
15191 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
15192 SolverParameter::test_net() const {
15193   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net)
15194   return test_net_;
15195 }
15196 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
15197 SolverParameter::mutable_test_net() {
15198   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net)
15199   return &test_net_;
15200 }
15201
15202 // optional .opencv_caffe.NetParameter train_net_param = 21;
15203 inline bool SolverParameter::has_train_net_param() const {
15204   return (_has_bits_[0] & 0x00000010u) != 0;
15205 }
15206 inline void SolverParameter::set_has_train_net_param() {
15207   _has_bits_[0] |= 0x00000010u;
15208 }
15209 inline void SolverParameter::clear_has_train_net_param() {
15210   _has_bits_[0] &= ~0x00000010u;
15211 }
15212 inline void SolverParameter::clear_train_net_param() {
15213   if (train_net_param_ != NULL) train_net_param_->::opencv_caffe::NetParameter::Clear();
15214   clear_has_train_net_param();
15215 }
15216 inline const ::opencv_caffe::NetParameter& SolverParameter::train_net_param() const {
15217   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net_param)
15218   return train_net_param_ != NULL ? *train_net_param_
15219                          : *::opencv_caffe::NetParameter::internal_default_instance();
15220 }
15221 inline ::opencv_caffe::NetParameter* SolverParameter::mutable_train_net_param() {
15222   set_has_train_net_param();
15223   if (train_net_param_ == NULL) {
15224     train_net_param_ = new ::opencv_caffe::NetParameter;
15225   }
15226   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net_param)
15227   return train_net_param_;
15228 }
15229 inline ::opencv_caffe::NetParameter* SolverParameter::release_train_net_param() {
15230   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net_param)
15231   clear_has_train_net_param();
15232   ::opencv_caffe::NetParameter* temp = train_net_param_;
15233   train_net_param_ = NULL;
15234   return temp;
15235 }
15236 inline void SolverParameter::set_allocated_train_net_param(::opencv_caffe::NetParameter* train_net_param) {
15237   delete train_net_param_;
15238   train_net_param_ = train_net_param;
15239   if (train_net_param) {
15240     set_has_train_net_param();
15241   } else {
15242     clear_has_train_net_param();
15243   }
15244   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net_param)
15245 }
15246
15247 // repeated .opencv_caffe.NetParameter test_net_param = 22;
15248 inline int SolverParameter::test_net_param_size() const {
15249   return test_net_param_.size();
15250 }
15251 inline void SolverParameter::clear_test_net_param() {
15252   test_net_param_.Clear();
15253 }
15254 inline const ::opencv_caffe::NetParameter& SolverParameter::test_net_param(int index) const {
15255   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net_param)
15256   return test_net_param_.Get(index);
15257 }
15258 inline ::opencv_caffe::NetParameter* SolverParameter::mutable_test_net_param(int index) {
15259   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net_param)
15260   return test_net_param_.Mutable(index);
15261 }
15262 inline ::opencv_caffe::NetParameter* SolverParameter::add_test_net_param() {
15263   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net_param)
15264   return test_net_param_.Add();
15265 }
15266 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >*
15267 SolverParameter::mutable_test_net_param() {
15268   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net_param)
15269   return &test_net_param_;
15270 }
15271 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >&
15272 SolverParameter::test_net_param() const {
15273   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net_param)
15274   return test_net_param_;
15275 }
15276
15277 // optional .opencv_caffe.NetState train_state = 26;
15278 inline bool SolverParameter::has_train_state() const {
15279   return (_has_bits_[0] & 0x00000040u) != 0;
15280 }
15281 inline void SolverParameter::set_has_train_state() {
15282   _has_bits_[0] |= 0x00000040u;
15283 }
15284 inline void SolverParameter::clear_has_train_state() {
15285   _has_bits_[0] &= ~0x00000040u;
15286 }
15287 inline void SolverParameter::clear_train_state() {
15288   if (train_state_ != NULL) train_state_->::opencv_caffe::NetState::Clear();
15289   clear_has_train_state();
15290 }
15291 inline const ::opencv_caffe::NetState& SolverParameter::train_state() const {
15292   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_state)
15293   return train_state_ != NULL ? *train_state_
15294                          : *::opencv_caffe::NetState::internal_default_instance();
15295 }
15296 inline ::opencv_caffe::NetState* SolverParameter::mutable_train_state() {
15297   set_has_train_state();
15298   if (train_state_ == NULL) {
15299     train_state_ = new ::opencv_caffe::NetState;
15300   }
15301   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_state)
15302   return train_state_;
15303 }
15304 inline ::opencv_caffe::NetState* SolverParameter::release_train_state() {
15305   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_state)
15306   clear_has_train_state();
15307   ::opencv_caffe::NetState* temp = train_state_;
15308   train_state_ = NULL;
15309   return temp;
15310 }
15311 inline void SolverParameter::set_allocated_train_state(::opencv_caffe::NetState* train_state) {
15312   delete train_state_;
15313   train_state_ = train_state;
15314   if (train_state) {
15315     set_has_train_state();
15316   } else {
15317     clear_has_train_state();
15318   }
15319   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_state)
15320 }
15321
15322 // repeated .opencv_caffe.NetState test_state = 27;
15323 inline int SolverParameter::test_state_size() const {
15324   return test_state_.size();
15325 }
15326 inline void SolverParameter::clear_test_state() {
15327   test_state_.Clear();
15328 }
15329 inline const ::opencv_caffe::NetState& SolverParameter::test_state(int index) const {
15330   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_state)
15331   return test_state_.Get(index);
15332 }
15333 inline ::opencv_caffe::NetState* SolverParameter::mutable_test_state(int index) {
15334   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_state)
15335   return test_state_.Mutable(index);
15336 }
15337 inline ::opencv_caffe::NetState* SolverParameter::add_test_state() {
15338   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_state)
15339   return test_state_.Add();
15340 }
15341 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >*
15342 SolverParameter::mutable_test_state() {
15343   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_state)
15344   return &test_state_;
15345 }
15346 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >&
15347 SolverParameter::test_state() const {
15348   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_state)
15349   return test_state_;
15350 }
15351
15352 // repeated int32 test_iter = 3;
15353 inline int SolverParameter::test_iter_size() const {
15354   return test_iter_.size();
15355 }
15356 inline void SolverParameter::clear_test_iter() {
15357   test_iter_.Clear();
15358 }
15359 inline ::google::protobuf::int32 SolverParameter::test_iter(int index) const {
15360   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_iter)
15361   return test_iter_.Get(index);
15362 }
15363 inline void SolverParameter::set_test_iter(int index, ::google::protobuf::int32 value) {
15364   test_iter_.Set(index, value);
15365   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_iter)
15366 }
15367 inline void SolverParameter::add_test_iter(::google::protobuf::int32 value) {
15368   test_iter_.Add(value);
15369   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_iter)
15370 }
15371 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
15372 SolverParameter::test_iter() const {
15373   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_iter)
15374   return test_iter_;
15375 }
15376 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
15377 SolverParameter::mutable_test_iter() {
15378   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_iter)
15379   return &test_iter_;
15380 }
15381
15382 // optional int32 test_interval = 4 [default = 0];
15383 inline bool SolverParameter::has_test_interval() const {
15384   return (_has_bits_[0] & 0x00000200u) != 0;
15385 }
15386 inline void SolverParameter::set_has_test_interval() {
15387   _has_bits_[0] |= 0x00000200u;
15388 }
15389 inline void SolverParameter::clear_has_test_interval() {
15390   _has_bits_[0] &= ~0x00000200u;
15391 }
15392 inline void SolverParameter::clear_test_interval() {
15393   test_interval_ = 0;
15394   clear_has_test_interval();
15395 }
15396 inline ::google::protobuf::int32 SolverParameter::test_interval() const {
15397   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_interval)
15398   return test_interval_;
15399 }
15400 inline void SolverParameter::set_test_interval(::google::protobuf::int32 value) {
15401   set_has_test_interval();
15402   test_interval_ = value;
15403   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_interval)
15404 }
15405
15406 // optional bool test_compute_loss = 19 [default = false];
15407 inline bool SolverParameter::has_test_compute_loss() const {
15408   return (_has_bits_[0] & 0x00000400u) != 0;
15409 }
15410 inline void SolverParameter::set_has_test_compute_loss() {
15411   _has_bits_[0] |= 0x00000400u;
15412 }
15413 inline void SolverParameter::clear_has_test_compute_loss() {
15414   _has_bits_[0] &= ~0x00000400u;
15415 }
15416 inline void SolverParameter::clear_test_compute_loss() {
15417   test_compute_loss_ = false;
15418   clear_has_test_compute_loss();
15419 }
15420 inline bool SolverParameter::test_compute_loss() const {
15421   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_compute_loss)
15422   return test_compute_loss_;
15423 }
15424 inline void SolverParameter::set_test_compute_loss(bool value) {
15425   set_has_test_compute_loss();
15426   test_compute_loss_ = value;
15427   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_compute_loss)
15428 }
15429
15430 // optional bool test_initialization = 32 [default = true];
15431 inline bool SolverParameter::has_test_initialization() const {
15432   return (_has_bits_[0] & 0x00000800u) != 0;
15433 }
15434 inline void SolverParameter::set_has_test_initialization() {
15435   _has_bits_[0] |= 0x00000800u;
15436 }
15437 inline void SolverParameter::clear_has_test_initialization() {
15438   _has_bits_[0] &= ~0x00000800u;
15439 }
15440 inline void SolverParameter::clear_test_initialization() {
15441   test_initialization_ = true;
15442   clear_has_test_initialization();
15443 }
15444 inline bool SolverParameter::test_initialization() const {
15445   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_initialization)
15446   return test_initialization_;
15447 }
15448 inline void SolverParameter::set_test_initialization(bool value) {
15449   set_has_test_initialization();
15450   test_initialization_ = value;
15451   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_initialization)
15452 }
15453
15454 // optional float base_lr = 5;
15455 inline bool SolverParameter::has_base_lr() const {
15456   return (_has_bits_[0] & 0x00001000u) != 0;
15457 }
15458 inline void SolverParameter::set_has_base_lr() {
15459   _has_bits_[0] |= 0x00001000u;
15460 }
15461 inline void SolverParameter::clear_has_base_lr() {
15462   _has_bits_[0] &= ~0x00001000u;
15463 }
15464 inline void SolverParameter::clear_base_lr() {
15465   base_lr_ = 0;
15466   clear_has_base_lr();
15467 }
15468 inline float SolverParameter::base_lr() const {
15469   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.base_lr)
15470   return base_lr_;
15471 }
15472 inline void SolverParameter::set_base_lr(float value) {
15473   set_has_base_lr();
15474   base_lr_ = value;
15475   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.base_lr)
15476 }
15477
15478 // optional int32 display = 6;
15479 inline bool SolverParameter::has_display() const {
15480   return (_has_bits_[0] & 0x00002000u) != 0;
15481 }
15482 inline void SolverParameter::set_has_display() {
15483   _has_bits_[0] |= 0x00002000u;
15484 }
15485 inline void SolverParameter::clear_has_display() {
15486   _has_bits_[0] &= ~0x00002000u;
15487 }
15488 inline void SolverParameter::clear_display() {
15489   display_ = 0;
15490   clear_has_display();
15491 }
15492 inline ::google::protobuf::int32 SolverParameter::display() const {
15493   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.display)
15494   return display_;
15495 }
15496 inline void SolverParameter::set_display(::google::protobuf::int32 value) {
15497   set_has_display();
15498   display_ = value;
15499   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.display)
15500 }
15501
15502 // optional int32 average_loss = 33 [default = 1];
15503 inline bool SolverParameter::has_average_loss() const {
15504   return (_has_bits_[0] & 0x00004000u) != 0;
15505 }
15506 inline void SolverParameter::set_has_average_loss() {
15507   _has_bits_[0] |= 0x00004000u;
15508 }
15509 inline void SolverParameter::clear_has_average_loss() {
15510   _has_bits_[0] &= ~0x00004000u;
15511 }
15512 inline void SolverParameter::clear_average_loss() {
15513   average_loss_ = 1;
15514   clear_has_average_loss();
15515 }
15516 inline ::google::protobuf::int32 SolverParameter::average_loss() const {
15517   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.average_loss)
15518   return average_loss_;
15519 }
15520 inline void SolverParameter::set_average_loss(::google::protobuf::int32 value) {
15521   set_has_average_loss();
15522   average_loss_ = value;
15523   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.average_loss)
15524 }
15525
15526 // optional int32 max_iter = 7;
15527 inline bool SolverParameter::has_max_iter() const {
15528   return (_has_bits_[0] & 0x00008000u) != 0;
15529 }
15530 inline void SolverParameter::set_has_max_iter() {
15531   _has_bits_[0] |= 0x00008000u;
15532 }
15533 inline void SolverParameter::clear_has_max_iter() {
15534   _has_bits_[0] &= ~0x00008000u;
15535 }
15536 inline void SolverParameter::clear_max_iter() {
15537   max_iter_ = 0;
15538   clear_has_max_iter();
15539 }
15540 inline ::google::protobuf::int32 SolverParameter::max_iter() const {
15541   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.max_iter)
15542   return max_iter_;
15543 }
15544 inline void SolverParameter::set_max_iter(::google::protobuf::int32 value) {
15545   set_has_max_iter();
15546   max_iter_ = value;
15547   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.max_iter)
15548 }
15549
15550 // optional int32 iter_size = 36 [default = 1];
15551 inline bool SolverParameter::has_iter_size() const {
15552   return (_has_bits_[0] & 0x00010000u) != 0;
15553 }
15554 inline void SolverParameter::set_has_iter_size() {
15555   _has_bits_[0] |= 0x00010000u;
15556 }
15557 inline void SolverParameter::clear_has_iter_size() {
15558   _has_bits_[0] &= ~0x00010000u;
15559 }
15560 inline void SolverParameter::clear_iter_size() {
15561   iter_size_ = 1;
15562   clear_has_iter_size();
15563 }
15564 inline ::google::protobuf::int32 SolverParameter::iter_size() const {
15565   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.iter_size)
15566   return iter_size_;
15567 }
15568 inline void SolverParameter::set_iter_size(::google::protobuf::int32 value) {
15569   set_has_iter_size();
15570   iter_size_ = value;
15571   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.iter_size)
15572 }
15573
15574 // optional string lr_policy = 8;
15575 inline bool SolverParameter::has_lr_policy() const {
15576   return (_has_bits_[0] & 0x00020000u) != 0;
15577 }
15578 inline void SolverParameter::set_has_lr_policy() {
15579   _has_bits_[0] |= 0x00020000u;
15580 }
15581 inline void SolverParameter::clear_has_lr_policy() {
15582   _has_bits_[0] &= ~0x00020000u;
15583 }
15584 inline void SolverParameter::clear_lr_policy() {
15585   lr_policy_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15586   clear_has_lr_policy();
15587 }
15588 inline const ::std::string& SolverParameter::lr_policy() const {
15589   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.lr_policy)
15590   return lr_policy_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15591 }
15592 inline void SolverParameter::set_lr_policy(const ::std::string& value) {
15593   set_has_lr_policy();
15594   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15595   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.lr_policy)
15596 }
15597 inline void SolverParameter::set_lr_policy(const char* value) {
15598   set_has_lr_policy();
15599   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15600   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.lr_policy)
15601 }
15602 inline void SolverParameter::set_lr_policy(const char* value, size_t size) {
15603   set_has_lr_policy();
15604   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15605       ::std::string(reinterpret_cast<const char*>(value), size));
15606   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.lr_policy)
15607 }
15608 inline ::std::string* SolverParameter::mutable_lr_policy() {
15609   set_has_lr_policy();
15610   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.lr_policy)
15611   return lr_policy_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15612 }
15613 inline ::std::string* SolverParameter::release_lr_policy() {
15614   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.lr_policy)
15615   clear_has_lr_policy();
15616   return lr_policy_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15617 }
15618 inline void SolverParameter::set_allocated_lr_policy(::std::string* lr_policy) {
15619   if (lr_policy != NULL) {
15620     set_has_lr_policy();
15621   } else {
15622     clear_has_lr_policy();
15623   }
15624   lr_policy_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), lr_policy);
15625   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.lr_policy)
15626 }
15627
15628 // optional float gamma = 9;
15629 inline bool SolverParameter::has_gamma() const {
15630   return (_has_bits_[0] & 0x00040000u) != 0;
15631 }
15632 inline void SolverParameter::set_has_gamma() {
15633   _has_bits_[0] |= 0x00040000u;
15634 }
15635 inline void SolverParameter::clear_has_gamma() {
15636   _has_bits_[0] &= ~0x00040000u;
15637 }
15638 inline void SolverParameter::clear_gamma() {
15639   gamma_ = 0;
15640   clear_has_gamma();
15641 }
15642 inline float SolverParameter::gamma() const {
15643   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.gamma)
15644   return gamma_;
15645 }
15646 inline void SolverParameter::set_gamma(float value) {
15647   set_has_gamma();
15648   gamma_ = value;
15649   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.gamma)
15650 }
15651
15652 // optional float power = 10;
15653 inline bool SolverParameter::has_power() const {
15654   return (_has_bits_[0] & 0x00080000u) != 0;
15655 }
15656 inline void SolverParameter::set_has_power() {
15657   _has_bits_[0] |= 0x00080000u;
15658 }
15659 inline void SolverParameter::clear_has_power() {
15660   _has_bits_[0] &= ~0x00080000u;
15661 }
15662 inline void SolverParameter::clear_power() {
15663   power_ = 0;
15664   clear_has_power();
15665 }
15666 inline float SolverParameter::power() const {
15667   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.power)
15668   return power_;
15669 }
15670 inline void SolverParameter::set_power(float value) {
15671   set_has_power();
15672   power_ = value;
15673   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.power)
15674 }
15675
15676 // optional float momentum = 11;
15677 inline bool SolverParameter::has_momentum() const {
15678   return (_has_bits_[0] & 0x00100000u) != 0;
15679 }
15680 inline void SolverParameter::set_has_momentum() {
15681   _has_bits_[0] |= 0x00100000u;
15682 }
15683 inline void SolverParameter::clear_has_momentum() {
15684   _has_bits_[0] &= ~0x00100000u;
15685 }
15686 inline void SolverParameter::clear_momentum() {
15687   momentum_ = 0;
15688   clear_has_momentum();
15689 }
15690 inline float SolverParameter::momentum() const {
15691   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum)
15692   return momentum_;
15693 }
15694 inline void SolverParameter::set_momentum(float value) {
15695   set_has_momentum();
15696   momentum_ = value;
15697   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum)
15698 }
15699
15700 // optional float weight_decay = 12;
15701 inline bool SolverParameter::has_weight_decay() const {
15702   return (_has_bits_[0] & 0x00200000u) != 0;
15703 }
15704 inline void SolverParameter::set_has_weight_decay() {
15705   _has_bits_[0] |= 0x00200000u;
15706 }
15707 inline void SolverParameter::clear_has_weight_decay() {
15708   _has_bits_[0] &= ~0x00200000u;
15709 }
15710 inline void SolverParameter::clear_weight_decay() {
15711   weight_decay_ = 0;
15712   clear_has_weight_decay();
15713 }
15714 inline float SolverParameter::weight_decay() const {
15715   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.weight_decay)
15716   return weight_decay_;
15717 }
15718 inline void SolverParameter::set_weight_decay(float value) {
15719   set_has_weight_decay();
15720   weight_decay_ = value;
15721   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.weight_decay)
15722 }
15723
15724 // optional string regularization_type = 29 [default = "L2"];
15725 inline bool SolverParameter::has_regularization_type() const {
15726   return (_has_bits_[0] & 0x00400000u) != 0;
15727 }
15728 inline void SolverParameter::set_has_regularization_type() {
15729   _has_bits_[0] |= 0x00400000u;
15730 }
15731 inline void SolverParameter::clear_has_regularization_type() {
15732   _has_bits_[0] &= ~0x00400000u;
15733 }
15734 inline void SolverParameter::clear_regularization_type() {
15735   regularization_type_.ClearToDefaultNoArena(_default_regularization_type_);
15736   clear_has_regularization_type();
15737 }
15738 inline const ::std::string& SolverParameter::regularization_type() const {
15739   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.regularization_type)
15740   return regularization_type_.GetNoArena(_default_regularization_type_);
15741 }
15742 inline void SolverParameter::set_regularization_type(const ::std::string& value) {
15743   set_has_regularization_type();
15744   regularization_type_.SetNoArena(_default_regularization_type_, value);
15745   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.regularization_type)
15746 }
15747 inline void SolverParameter::set_regularization_type(const char* value) {
15748   set_has_regularization_type();
15749   regularization_type_.SetNoArena(_default_regularization_type_, ::std::string(value));
15750   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.regularization_type)
15751 }
15752 inline void SolverParameter::set_regularization_type(const char* value, size_t size) {
15753   set_has_regularization_type();
15754   regularization_type_.SetNoArena(_default_regularization_type_,
15755       ::std::string(reinterpret_cast<const char*>(value), size));
15756   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.regularization_type)
15757 }
15758 inline ::std::string* SolverParameter::mutable_regularization_type() {
15759   set_has_regularization_type();
15760   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.regularization_type)
15761   return regularization_type_.MutableNoArena(_default_regularization_type_);
15762 }
15763 inline ::std::string* SolverParameter::release_regularization_type() {
15764   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.regularization_type)
15765   clear_has_regularization_type();
15766   return regularization_type_.ReleaseNoArena(_default_regularization_type_);
15767 }
15768 inline void SolverParameter::set_allocated_regularization_type(::std::string* regularization_type) {
15769   if (regularization_type != NULL) {
15770     set_has_regularization_type();
15771   } else {
15772     clear_has_regularization_type();
15773   }
15774   regularization_type_.SetAllocatedNoArena(_default_regularization_type_, regularization_type);
15775   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.regularization_type)
15776 }
15777
15778 // optional int32 stepsize = 13;
15779 inline bool SolverParameter::has_stepsize() const {
15780   return (_has_bits_[0] & 0x00800000u) != 0;
15781 }
15782 inline void SolverParameter::set_has_stepsize() {
15783   _has_bits_[0] |= 0x00800000u;
15784 }
15785 inline void SolverParameter::clear_has_stepsize() {
15786   _has_bits_[0] &= ~0x00800000u;
15787 }
15788 inline void SolverParameter::clear_stepsize() {
15789   stepsize_ = 0;
15790   clear_has_stepsize();
15791 }
15792 inline ::google::protobuf::int32 SolverParameter::stepsize() const {
15793   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepsize)
15794   return stepsize_;
15795 }
15796 inline void SolverParameter::set_stepsize(::google::protobuf::int32 value) {
15797   set_has_stepsize();
15798   stepsize_ = value;
15799   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepsize)
15800 }
15801
15802 // repeated int32 stepvalue = 34;
15803 inline int SolverParameter::stepvalue_size() const {
15804   return stepvalue_.size();
15805 }
15806 inline void SolverParameter::clear_stepvalue() {
15807   stepvalue_.Clear();
15808 }
15809 inline ::google::protobuf::int32 SolverParameter::stepvalue(int index) const {
15810   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepvalue)
15811   return stepvalue_.Get(index);
15812 }
15813 inline void SolverParameter::set_stepvalue(int index, ::google::protobuf::int32 value) {
15814   stepvalue_.Set(index, value);
15815   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepvalue)
15816 }
15817 inline void SolverParameter::add_stepvalue(::google::protobuf::int32 value) {
15818   stepvalue_.Add(value);
15819   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.stepvalue)
15820 }
15821 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
15822 SolverParameter::stepvalue() const {
15823   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.stepvalue)
15824   return stepvalue_;
15825 }
15826 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
15827 SolverParameter::mutable_stepvalue() {
15828   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.stepvalue)
15829   return &stepvalue_;
15830 }
15831
15832 // optional float clip_gradients = 35 [default = -1];
15833 inline bool SolverParameter::has_clip_gradients() const {
15834   return (_has_bits_[0] & 0x02000000u) != 0;
15835 }
15836 inline void SolverParameter::set_has_clip_gradients() {
15837   _has_bits_[0] |= 0x02000000u;
15838 }
15839 inline void SolverParameter::clear_has_clip_gradients() {
15840   _has_bits_[0] &= ~0x02000000u;
15841 }
15842 inline void SolverParameter::clear_clip_gradients() {
15843   clip_gradients_ = -1;
15844   clear_has_clip_gradients();
15845 }
15846 inline float SolverParameter::clip_gradients() const {
15847   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.clip_gradients)
15848   return clip_gradients_;
15849 }
15850 inline void SolverParameter::set_clip_gradients(float value) {
15851   set_has_clip_gradients();
15852   clip_gradients_ = value;
15853   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.clip_gradients)
15854 }
15855
15856 // optional int32 snapshot = 14 [default = 0];
15857 inline bool SolverParameter::has_snapshot() const {
15858   return (_has_bits_[0] & 0x04000000u) != 0;
15859 }
15860 inline void SolverParameter::set_has_snapshot() {
15861   _has_bits_[0] |= 0x04000000u;
15862 }
15863 inline void SolverParameter::clear_has_snapshot() {
15864   _has_bits_[0] &= ~0x04000000u;
15865 }
15866 inline void SolverParameter::clear_snapshot() {
15867   snapshot_ = 0;
15868   clear_has_snapshot();
15869 }
15870 inline ::google::protobuf::int32 SolverParameter::snapshot() const {
15871   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot)
15872   return snapshot_;
15873 }
15874 inline void SolverParameter::set_snapshot(::google::protobuf::int32 value) {
15875   set_has_snapshot();
15876   snapshot_ = value;
15877   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot)
15878 }
15879
15880 // optional string snapshot_prefix = 15;
15881 inline bool SolverParameter::has_snapshot_prefix() const {
15882   return (_has_bits_[0] & 0x08000000u) != 0;
15883 }
15884 inline void SolverParameter::set_has_snapshot_prefix() {
15885   _has_bits_[0] |= 0x08000000u;
15886 }
15887 inline void SolverParameter::clear_has_snapshot_prefix() {
15888   _has_bits_[0] &= ~0x08000000u;
15889 }
15890 inline void SolverParameter::clear_snapshot_prefix() {
15891   snapshot_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15892   clear_has_snapshot_prefix();
15893 }
15894 inline const ::std::string& SolverParameter::snapshot_prefix() const {
15895   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_prefix)
15896   return snapshot_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15897 }
15898 inline void SolverParameter::set_snapshot_prefix(const ::std::string& value) {
15899   set_has_snapshot_prefix();
15900   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15901   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_prefix)
15902 }
15903 inline void SolverParameter::set_snapshot_prefix(const char* value) {
15904   set_has_snapshot_prefix();
15905   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15906   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.snapshot_prefix)
15907 }
15908 inline void SolverParameter::set_snapshot_prefix(const char* value, size_t size) {
15909   set_has_snapshot_prefix();
15910   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15911       ::std::string(reinterpret_cast<const char*>(value), size));
15912   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.snapshot_prefix)
15913 }
15914 inline ::std::string* SolverParameter::mutable_snapshot_prefix() {
15915   set_has_snapshot_prefix();
15916   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.snapshot_prefix)
15917   return snapshot_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15918 }
15919 inline ::std::string* SolverParameter::release_snapshot_prefix() {
15920   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.snapshot_prefix)
15921   clear_has_snapshot_prefix();
15922   return snapshot_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15923 }
15924 inline void SolverParameter::set_allocated_snapshot_prefix(::std::string* snapshot_prefix) {
15925   if (snapshot_prefix != NULL) {
15926     set_has_snapshot_prefix();
15927   } else {
15928     clear_has_snapshot_prefix();
15929   }
15930   snapshot_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), snapshot_prefix);
15931   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.snapshot_prefix)
15932 }
15933
15934 // optional bool snapshot_diff = 16 [default = false];
15935 inline bool SolverParameter::has_snapshot_diff() const {
15936   return (_has_bits_[0] & 0x10000000u) != 0;
15937 }
15938 inline void SolverParameter::set_has_snapshot_diff() {
15939   _has_bits_[0] |= 0x10000000u;
15940 }
15941 inline void SolverParameter::clear_has_snapshot_diff() {
15942   _has_bits_[0] &= ~0x10000000u;
15943 }
15944 inline void SolverParameter::clear_snapshot_diff() {
15945   snapshot_diff_ = false;
15946   clear_has_snapshot_diff();
15947 }
15948 inline bool SolverParameter::snapshot_diff() const {
15949   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_diff)
15950   return snapshot_diff_;
15951 }
15952 inline void SolverParameter::set_snapshot_diff(bool value) {
15953   set_has_snapshot_diff();
15954   snapshot_diff_ = value;
15955   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_diff)
15956 }
15957
15958 // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
15959 inline bool SolverParameter::has_snapshot_format() const {
15960   return (_has_bits_[0] & 0x20000000u) != 0;
15961 }
15962 inline void SolverParameter::set_has_snapshot_format() {
15963   _has_bits_[0] |= 0x20000000u;
15964 }
15965 inline void SolverParameter::clear_has_snapshot_format() {
15966   _has_bits_[0] &= ~0x20000000u;
15967 }
15968 inline void SolverParameter::clear_snapshot_format() {
15969   snapshot_format_ = 1;
15970   clear_has_snapshot_format();
15971 }
15972 inline ::opencv_caffe::SolverParameter_SnapshotFormat SolverParameter::snapshot_format() const {
15973   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_format)
15974   return static_cast< ::opencv_caffe::SolverParameter_SnapshotFormat >(snapshot_format_);
15975 }
15976 inline void SolverParameter::set_snapshot_format(::opencv_caffe::SolverParameter_SnapshotFormat value) {
15977   assert(::opencv_caffe::SolverParameter_SnapshotFormat_IsValid(value));
15978   set_has_snapshot_format();
15979   snapshot_format_ = value;
15980   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_format)
15981 }
15982
15983 // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
15984 inline bool SolverParameter::has_solver_mode() const {
15985   return (_has_bits_[0] & 0x40000000u) != 0;
15986 }
15987 inline void SolverParameter::set_has_solver_mode() {
15988   _has_bits_[0] |= 0x40000000u;
15989 }
15990 inline void SolverParameter::clear_has_solver_mode() {
15991   _has_bits_[0] &= ~0x40000000u;
15992 }
15993 inline void SolverParameter::clear_solver_mode() {
15994   solver_mode_ = 1;
15995   clear_has_solver_mode();
15996 }
15997 inline ::opencv_caffe::SolverParameter_SolverMode SolverParameter::solver_mode() const {
15998   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_mode)
15999   return static_cast< ::opencv_caffe::SolverParameter_SolverMode >(solver_mode_);
16000 }
16001 inline void SolverParameter::set_solver_mode(::opencv_caffe::SolverParameter_SolverMode value) {
16002   assert(::opencv_caffe::SolverParameter_SolverMode_IsValid(value));
16003   set_has_solver_mode();
16004   solver_mode_ = value;
16005   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_mode)
16006 }
16007
16008 // optional int32 device_id = 18 [default = 0];
16009 inline bool SolverParameter::has_device_id() const {
16010   return (_has_bits_[0] & 0x80000000u) != 0;
16011 }
16012 inline void SolverParameter::set_has_device_id() {
16013   _has_bits_[0] |= 0x80000000u;
16014 }
16015 inline void SolverParameter::clear_has_device_id() {
16016   _has_bits_[0] &= ~0x80000000u;
16017 }
16018 inline void SolverParameter::clear_device_id() {
16019   device_id_ = 0;
16020   clear_has_device_id();
16021 }
16022 inline ::google::protobuf::int32 SolverParameter::device_id() const {
16023   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.device_id)
16024   return device_id_;
16025 }
16026 inline void SolverParameter::set_device_id(::google::protobuf::int32 value) {
16027   set_has_device_id();
16028   device_id_ = value;
16029   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.device_id)
16030 }
16031
16032 // optional int64 random_seed = 20 [default = -1];
16033 inline bool SolverParameter::has_random_seed() const {
16034   return (_has_bits_[1] & 0x00000001u) != 0;
16035 }
16036 inline void SolverParameter::set_has_random_seed() {
16037   _has_bits_[1] |= 0x00000001u;
16038 }
16039 inline void SolverParameter::clear_has_random_seed() {
16040   _has_bits_[1] &= ~0x00000001u;
16041 }
16042 inline void SolverParameter::clear_random_seed() {
16043   random_seed_ = GOOGLE_LONGLONG(-1);
16044   clear_has_random_seed();
16045 }
16046 inline ::google::protobuf::int64 SolverParameter::random_seed() const {
16047   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.random_seed)
16048   return random_seed_;
16049 }
16050 inline void SolverParameter::set_random_seed(::google::protobuf::int64 value) {
16051   set_has_random_seed();
16052   random_seed_ = value;
16053   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.random_seed)
16054 }
16055
16056 // optional string type = 40 [default = "SGD"];
16057 inline bool SolverParameter::has_type() const {
16058   return (_has_bits_[1] & 0x00000002u) != 0;
16059 }
16060 inline void SolverParameter::set_has_type() {
16061   _has_bits_[1] |= 0x00000002u;
16062 }
16063 inline void SolverParameter::clear_has_type() {
16064   _has_bits_[1] &= ~0x00000002u;
16065 }
16066 inline void SolverParameter::clear_type() {
16067   type_.ClearToDefaultNoArena(_default_type_);
16068   clear_has_type();
16069 }
16070 inline const ::std::string& SolverParameter::type() const {
16071   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.type)
16072   return type_.GetNoArena(_default_type_);
16073 }
16074 inline void SolverParameter::set_type(const ::std::string& value) {
16075   set_has_type();
16076   type_.SetNoArena(_default_type_, value);
16077   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.type)
16078 }
16079 inline void SolverParameter::set_type(const char* value) {
16080   set_has_type();
16081   type_.SetNoArena(_default_type_, ::std::string(value));
16082   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.type)
16083 }
16084 inline void SolverParameter::set_type(const char* value, size_t size) {
16085   set_has_type();
16086   type_.SetNoArena(_default_type_,
16087       ::std::string(reinterpret_cast<const char*>(value), size));
16088   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.type)
16089 }
16090 inline ::std::string* SolverParameter::mutable_type() {
16091   set_has_type();
16092   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.type)
16093   return type_.MutableNoArena(_default_type_);
16094 }
16095 inline ::std::string* SolverParameter::release_type() {
16096   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.type)
16097   clear_has_type();
16098   return type_.ReleaseNoArena(_default_type_);
16099 }
16100 inline void SolverParameter::set_allocated_type(::std::string* type) {
16101   if (type != NULL) {
16102     set_has_type();
16103   } else {
16104     clear_has_type();
16105   }
16106   type_.SetAllocatedNoArena(_default_type_, type);
16107   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.type)
16108 }
16109
16110 // optional float delta = 31 [default = 1e-08];
16111 inline bool SolverParameter::has_delta() const {
16112   return (_has_bits_[1] & 0x00000004u) != 0;
16113 }
16114 inline void SolverParameter::set_has_delta() {
16115   _has_bits_[1] |= 0x00000004u;
16116 }
16117 inline void SolverParameter::clear_has_delta() {
16118   _has_bits_[1] &= ~0x00000004u;
16119 }
16120 inline void SolverParameter::clear_delta() {
16121   delta_ = 1e-08f;
16122   clear_has_delta();
16123 }
16124 inline float SolverParameter::delta() const {
16125   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.delta)
16126   return delta_;
16127 }
16128 inline void SolverParameter::set_delta(float value) {
16129   set_has_delta();
16130   delta_ = value;
16131   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.delta)
16132 }
16133
16134 // optional float momentum2 = 39 [default = 0.999];
16135 inline bool SolverParameter::has_momentum2() const {
16136   return (_has_bits_[1] & 0x00000008u) != 0;
16137 }
16138 inline void SolverParameter::set_has_momentum2() {
16139   _has_bits_[1] |= 0x00000008u;
16140 }
16141 inline void SolverParameter::clear_has_momentum2() {
16142   _has_bits_[1] &= ~0x00000008u;
16143 }
16144 inline void SolverParameter::clear_momentum2() {
16145   momentum2_ = 0.999f;
16146   clear_has_momentum2();
16147 }
16148 inline float SolverParameter::momentum2() const {
16149   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum2)
16150   return momentum2_;
16151 }
16152 inline void SolverParameter::set_momentum2(float value) {
16153   set_has_momentum2();
16154   momentum2_ = value;
16155   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum2)
16156 }
16157
16158 // optional float rms_decay = 38 [default = 0.99];
16159 inline bool SolverParameter::has_rms_decay() const {
16160   return (_has_bits_[1] & 0x00000010u) != 0;
16161 }
16162 inline void SolverParameter::set_has_rms_decay() {
16163   _has_bits_[1] |= 0x00000010u;
16164 }
16165 inline void SolverParameter::clear_has_rms_decay() {
16166   _has_bits_[1] &= ~0x00000010u;
16167 }
16168 inline void SolverParameter::clear_rms_decay() {
16169   rms_decay_ = 0.99f;
16170   clear_has_rms_decay();
16171 }
16172 inline float SolverParameter::rms_decay() const {
16173   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.rms_decay)
16174   return rms_decay_;
16175 }
16176 inline void SolverParameter::set_rms_decay(float value) {
16177   set_has_rms_decay();
16178   rms_decay_ = value;
16179   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.rms_decay)
16180 }
16181
16182 // optional bool debug_info = 23 [default = false];
16183 inline bool SolverParameter::has_debug_info() const {
16184   return (_has_bits_[1] & 0x00000020u) != 0;
16185 }
16186 inline void SolverParameter::set_has_debug_info() {
16187   _has_bits_[1] |= 0x00000020u;
16188 }
16189 inline void SolverParameter::clear_has_debug_info() {
16190   _has_bits_[1] &= ~0x00000020u;
16191 }
16192 inline void SolverParameter::clear_debug_info() {
16193   debug_info_ = false;
16194   clear_has_debug_info();
16195 }
16196 inline bool SolverParameter::debug_info() const {
16197   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.debug_info)
16198   return debug_info_;
16199 }
16200 inline void SolverParameter::set_debug_info(bool value) {
16201   set_has_debug_info();
16202   debug_info_ = value;
16203   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.debug_info)
16204 }
16205
16206 // optional bool snapshot_after_train = 28 [default = true];
16207 inline bool SolverParameter::has_snapshot_after_train() const {
16208   return (_has_bits_[1] & 0x00000040u) != 0;
16209 }
16210 inline void SolverParameter::set_has_snapshot_after_train() {
16211   _has_bits_[1] |= 0x00000040u;
16212 }
16213 inline void SolverParameter::clear_has_snapshot_after_train() {
16214   _has_bits_[1] &= ~0x00000040u;
16215 }
16216 inline void SolverParameter::clear_snapshot_after_train() {
16217   snapshot_after_train_ = true;
16218   clear_has_snapshot_after_train();
16219 }
16220 inline bool SolverParameter::snapshot_after_train() const {
16221   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_after_train)
16222   return snapshot_after_train_;
16223 }
16224 inline void SolverParameter::set_snapshot_after_train(bool value) {
16225   set_has_snapshot_after_train();
16226   snapshot_after_train_ = value;
16227   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_after_train)
16228 }
16229
16230 // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
16231 inline bool SolverParameter::has_solver_type() const {
16232   return (_has_bits_[1] & 0x00000080u) != 0;
16233 }
16234 inline void SolverParameter::set_has_solver_type() {
16235   _has_bits_[1] |= 0x00000080u;
16236 }
16237 inline void SolverParameter::clear_has_solver_type() {
16238   _has_bits_[1] &= ~0x00000080u;
16239 }
16240 inline void SolverParameter::clear_solver_type() {
16241   solver_type_ = 0;
16242   clear_has_solver_type();
16243 }
16244 inline ::opencv_caffe::SolverParameter_SolverType SolverParameter::solver_type() const {
16245   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_type)
16246   return static_cast< ::opencv_caffe::SolverParameter_SolverType >(solver_type_);
16247 }
16248 inline void SolverParameter::set_solver_type(::opencv_caffe::SolverParameter_SolverType value) {
16249   assert(::opencv_caffe::SolverParameter_SolverType_IsValid(value));
16250   set_has_solver_type();
16251   solver_type_ = value;
16252   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_type)
16253 }
16254
16255 inline const SolverParameter* SolverParameter::internal_default_instance() {
16256   return &SolverParameter_default_instance_.get();
16257 }
16258 // -------------------------------------------------------------------
16259
16260 // SolverState
16261
16262 // optional int32 iter = 1;
16263 inline bool SolverState::has_iter() const {
16264   return (_has_bits_[0] & 0x00000001u) != 0;
16265 }
16266 inline void SolverState::set_has_iter() {
16267   _has_bits_[0] |= 0x00000001u;
16268 }
16269 inline void SolverState::clear_has_iter() {
16270   _has_bits_[0] &= ~0x00000001u;
16271 }
16272 inline void SolverState::clear_iter() {
16273   iter_ = 0;
16274   clear_has_iter();
16275 }
16276 inline ::google::protobuf::int32 SolverState::iter() const {
16277   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.iter)
16278   return iter_;
16279 }
16280 inline void SolverState::set_iter(::google::protobuf::int32 value) {
16281   set_has_iter();
16282   iter_ = value;
16283   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.iter)
16284 }
16285
16286 // optional string learned_net = 2;
16287 inline bool SolverState::has_learned_net() const {
16288   return (_has_bits_[0] & 0x00000002u) != 0;
16289 }
16290 inline void SolverState::set_has_learned_net() {
16291   _has_bits_[0] |= 0x00000002u;
16292 }
16293 inline void SolverState::clear_has_learned_net() {
16294   _has_bits_[0] &= ~0x00000002u;
16295 }
16296 inline void SolverState::clear_learned_net() {
16297   learned_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16298   clear_has_learned_net();
16299 }
16300 inline const ::std::string& SolverState::learned_net() const {
16301   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.learned_net)
16302   return learned_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16303 }
16304 inline void SolverState::set_learned_net(const ::std::string& value) {
16305   set_has_learned_net();
16306   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
16307   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.learned_net)
16308 }
16309 inline void SolverState::set_learned_net(const char* value) {
16310   set_has_learned_net();
16311   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
16312   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverState.learned_net)
16313 }
16314 inline void SolverState::set_learned_net(const char* value, size_t size) {
16315   set_has_learned_net();
16316   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
16317       ::std::string(reinterpret_cast<const char*>(value), size));
16318   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverState.learned_net)
16319 }
16320 inline ::std::string* SolverState::mutable_learned_net() {
16321   set_has_learned_net();
16322   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.learned_net)
16323   return learned_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16324 }
16325 inline ::std::string* SolverState::release_learned_net() {
16326   // @@protoc_insertion_point(field_release:opencv_caffe.SolverState.learned_net)
16327   clear_has_learned_net();
16328   return learned_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16329 }
16330 inline void SolverState::set_allocated_learned_net(::std::string* learned_net) {
16331   if (learned_net != NULL) {
16332     set_has_learned_net();
16333   } else {
16334     clear_has_learned_net();
16335   }
16336   learned_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), learned_net);
16337   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverState.learned_net)
16338 }
16339
16340 // repeated .opencv_caffe.BlobProto history = 3;
16341 inline int SolverState::history_size() const {
16342   return history_.size();
16343 }
16344 inline void SolverState::clear_history() {
16345   history_.Clear();
16346 }
16347 inline const ::opencv_caffe::BlobProto& SolverState::history(int index) const {
16348   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.history)
16349   return history_.Get(index);
16350 }
16351 inline ::opencv_caffe::BlobProto* SolverState::mutable_history(int index) {
16352   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.history)
16353   return history_.Mutable(index);
16354 }
16355 inline ::opencv_caffe::BlobProto* SolverState::add_history() {
16356   // @@protoc_insertion_point(field_add:opencv_caffe.SolverState.history)
16357   return history_.Add();
16358 }
16359 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
16360 SolverState::mutable_history() {
16361   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverState.history)
16362   return &history_;
16363 }
16364 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
16365 SolverState::history() const {
16366   // @@protoc_insertion_point(field_list:opencv_caffe.SolverState.history)
16367   return history_;
16368 }
16369
16370 // optional int32 current_step = 4 [default = 0];
16371 inline bool SolverState::has_current_step() const {
16372   return (_has_bits_[0] & 0x00000008u) != 0;
16373 }
16374 inline void SolverState::set_has_current_step() {
16375   _has_bits_[0] |= 0x00000008u;
16376 }
16377 inline void SolverState::clear_has_current_step() {
16378   _has_bits_[0] &= ~0x00000008u;
16379 }
16380 inline void SolverState::clear_current_step() {
16381   current_step_ = 0;
16382   clear_has_current_step();
16383 }
16384 inline ::google::protobuf::int32 SolverState::current_step() const {
16385   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.current_step)
16386   return current_step_;
16387 }
16388 inline void SolverState::set_current_step(::google::protobuf::int32 value) {
16389   set_has_current_step();
16390   current_step_ = value;
16391   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.current_step)
16392 }
16393
16394 inline const SolverState* SolverState::internal_default_instance() {
16395   return &SolverState_default_instance_.get();
16396 }
16397 // -------------------------------------------------------------------
16398
16399 // NetState
16400
16401 // optional .opencv_caffe.Phase phase = 1 [default = TEST];
16402 inline bool NetState::has_phase() const {
16403   return (_has_bits_[0] & 0x00000001u) != 0;
16404 }
16405 inline void NetState::set_has_phase() {
16406   _has_bits_[0] |= 0x00000001u;
16407 }
16408 inline void NetState::clear_has_phase() {
16409   _has_bits_[0] &= ~0x00000001u;
16410 }
16411 inline void NetState::clear_phase() {
16412   phase_ = 1;
16413   clear_has_phase();
16414 }
16415 inline ::opencv_caffe::Phase NetState::phase() const {
16416   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.phase)
16417   return static_cast< ::opencv_caffe::Phase >(phase_);
16418 }
16419 inline void NetState::set_phase(::opencv_caffe::Phase value) {
16420   assert(::opencv_caffe::Phase_IsValid(value));
16421   set_has_phase();
16422   phase_ = value;
16423   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.phase)
16424 }
16425
16426 // optional int32 level = 2 [default = 0];
16427 inline bool NetState::has_level() const {
16428   return (_has_bits_[0] & 0x00000002u) != 0;
16429 }
16430 inline void NetState::set_has_level() {
16431   _has_bits_[0] |= 0x00000002u;
16432 }
16433 inline void NetState::clear_has_level() {
16434   _has_bits_[0] &= ~0x00000002u;
16435 }
16436 inline void NetState::clear_level() {
16437   level_ = 0;
16438   clear_has_level();
16439 }
16440 inline ::google::protobuf::int32 NetState::level() const {
16441   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.level)
16442   return level_;
16443 }
16444 inline void NetState::set_level(::google::protobuf::int32 value) {
16445   set_has_level();
16446   level_ = value;
16447   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.level)
16448 }
16449
16450 // repeated string stage = 3;
16451 inline int NetState::stage_size() const {
16452   return stage_.size();
16453 }
16454 inline void NetState::clear_stage() {
16455   stage_.Clear();
16456 }
16457 inline const ::std::string& NetState::stage(int index) const {
16458   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.stage)
16459   return stage_.Get(index);
16460 }
16461 inline ::std::string* NetState::mutable_stage(int index) {
16462   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetState.stage)
16463   return stage_.Mutable(index);
16464 }
16465 inline void NetState::set_stage(int index, const ::std::string& value) {
16466   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.stage)
16467   stage_.Mutable(index)->assign(value);
16468 }
16469 inline void NetState::set_stage(int index, const char* value) {
16470   stage_.Mutable(index)->assign(value);
16471   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetState.stage)
16472 }
16473 inline void NetState::set_stage(int index, const char* value, size_t size) {
16474   stage_.Mutable(index)->assign(
16475     reinterpret_cast<const char*>(value), size);
16476   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetState.stage)
16477 }
16478 inline ::std::string* NetState::add_stage() {
16479   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetState.stage)
16480   return stage_.Add();
16481 }
16482 inline void NetState::add_stage(const ::std::string& value) {
16483   stage_.Add()->assign(value);
16484   // @@protoc_insertion_point(field_add:opencv_caffe.NetState.stage)
16485 }
16486 inline void NetState::add_stage(const char* value) {
16487   stage_.Add()->assign(value);
16488   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetState.stage)
16489 }
16490 inline void NetState::add_stage(const char* value, size_t size) {
16491   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
16492   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetState.stage)
16493 }
16494 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
16495 NetState::stage() const {
16496   // @@protoc_insertion_point(field_list:opencv_caffe.NetState.stage)
16497   return stage_;
16498 }
16499 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
16500 NetState::mutable_stage() {
16501   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetState.stage)
16502   return &stage_;
16503 }
16504
16505 inline const NetState* NetState::internal_default_instance() {
16506   return &NetState_default_instance_.get();
16507 }
16508 // -------------------------------------------------------------------
16509
16510 // NetStateRule
16511
16512 // optional .opencv_caffe.Phase phase = 1;
16513 inline bool NetStateRule::has_phase() const {
16514   return (_has_bits_[0] & 0x00000001u) != 0;
16515 }
16516 inline void NetStateRule::set_has_phase() {
16517   _has_bits_[0] |= 0x00000001u;
16518 }
16519 inline void NetStateRule::clear_has_phase() {
16520   _has_bits_[0] &= ~0x00000001u;
16521 }
16522 inline void NetStateRule::clear_phase() {
16523   phase_ = 0;
16524   clear_has_phase();
16525 }
16526 inline ::opencv_caffe::Phase NetStateRule::phase() const {
16527   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.phase)
16528   return static_cast< ::opencv_caffe::Phase >(phase_);
16529 }
16530 inline void NetStateRule::set_phase(::opencv_caffe::Phase value) {
16531   assert(::opencv_caffe::Phase_IsValid(value));
16532   set_has_phase();
16533   phase_ = value;
16534   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.phase)
16535 }
16536
16537 // optional int32 min_level = 2;
16538 inline bool NetStateRule::has_min_level() const {
16539   return (_has_bits_[0] & 0x00000002u) != 0;
16540 }
16541 inline void NetStateRule::set_has_min_level() {
16542   _has_bits_[0] |= 0x00000002u;
16543 }
16544 inline void NetStateRule::clear_has_min_level() {
16545   _has_bits_[0] &= ~0x00000002u;
16546 }
16547 inline void NetStateRule::clear_min_level() {
16548   min_level_ = 0;
16549   clear_has_min_level();
16550 }
16551 inline ::google::protobuf::int32 NetStateRule::min_level() const {
16552   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.min_level)
16553   return min_level_;
16554 }
16555 inline void NetStateRule::set_min_level(::google::protobuf::int32 value) {
16556   set_has_min_level();
16557   min_level_ = value;
16558   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.min_level)
16559 }
16560
16561 // optional int32 max_level = 3;
16562 inline bool NetStateRule::has_max_level() const {
16563   return (_has_bits_[0] & 0x00000004u) != 0;
16564 }
16565 inline void NetStateRule::set_has_max_level() {
16566   _has_bits_[0] |= 0x00000004u;
16567 }
16568 inline void NetStateRule::clear_has_max_level() {
16569   _has_bits_[0] &= ~0x00000004u;
16570 }
16571 inline void NetStateRule::clear_max_level() {
16572   max_level_ = 0;
16573   clear_has_max_level();
16574 }
16575 inline ::google::protobuf::int32 NetStateRule::max_level() const {
16576   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.max_level)
16577   return max_level_;
16578 }
16579 inline void NetStateRule::set_max_level(::google::protobuf::int32 value) {
16580   set_has_max_level();
16581   max_level_ = value;
16582   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.max_level)
16583 }
16584
16585 // repeated string stage = 4;
16586 inline int NetStateRule::stage_size() const {
16587   return stage_.size();
16588 }
16589 inline void NetStateRule::clear_stage() {
16590   stage_.Clear();
16591 }
16592 inline const ::std::string& NetStateRule::stage(int index) const {
16593   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.stage)
16594   return stage_.Get(index);
16595 }
16596 inline ::std::string* NetStateRule::mutable_stage(int index) {
16597   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.stage)
16598   return stage_.Mutable(index);
16599 }
16600 inline void NetStateRule::set_stage(int index, const ::std::string& value) {
16601   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.stage)
16602   stage_.Mutable(index)->assign(value);
16603 }
16604 inline void NetStateRule::set_stage(int index, const char* value) {
16605   stage_.Mutable(index)->assign(value);
16606   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.stage)
16607 }
16608 inline void NetStateRule::set_stage(int index, const char* value, size_t size) {
16609   stage_.Mutable(index)->assign(
16610     reinterpret_cast<const char*>(value), size);
16611   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.stage)
16612 }
16613 inline ::std::string* NetStateRule::add_stage() {
16614   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.stage)
16615   return stage_.Add();
16616 }
16617 inline void NetStateRule::add_stage(const ::std::string& value) {
16618   stage_.Add()->assign(value);
16619   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.stage)
16620 }
16621 inline void NetStateRule::add_stage(const char* value) {
16622   stage_.Add()->assign(value);
16623   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.stage)
16624 }
16625 inline void NetStateRule::add_stage(const char* value, size_t size) {
16626   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
16627   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.stage)
16628 }
16629 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
16630 NetStateRule::stage() const {
16631   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.stage)
16632   return stage_;
16633 }
16634 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
16635 NetStateRule::mutable_stage() {
16636   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.stage)
16637   return &stage_;
16638 }
16639
16640 // repeated string not_stage = 5;
16641 inline int NetStateRule::not_stage_size() const {
16642   return not_stage_.size();
16643 }
16644 inline void NetStateRule::clear_not_stage() {
16645   not_stage_.Clear();
16646 }
16647 inline const ::std::string& NetStateRule::not_stage(int index) const {
16648   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.not_stage)
16649   return not_stage_.Get(index);
16650 }
16651 inline ::std::string* NetStateRule::mutable_not_stage(int index) {
16652   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.not_stage)
16653   return not_stage_.Mutable(index);
16654 }
16655 inline void NetStateRule::set_not_stage(int index, const ::std::string& value) {
16656   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.not_stage)
16657   not_stage_.Mutable(index)->assign(value);
16658 }
16659 inline void NetStateRule::set_not_stage(int index, const char* value) {
16660   not_stage_.Mutable(index)->assign(value);
16661   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.not_stage)
16662 }
16663 inline void NetStateRule::set_not_stage(int index, const char* value, size_t size) {
16664   not_stage_.Mutable(index)->assign(
16665     reinterpret_cast<const char*>(value), size);
16666   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.not_stage)
16667 }
16668 inline ::std::string* NetStateRule::add_not_stage() {
16669   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.not_stage)
16670   return not_stage_.Add();
16671 }
16672 inline void NetStateRule::add_not_stage(const ::std::string& value) {
16673   not_stage_.Add()->assign(value);
16674   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.not_stage)
16675 }
16676 inline void NetStateRule::add_not_stage(const char* value) {
16677   not_stage_.Add()->assign(value);
16678   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.not_stage)
16679 }
16680 inline void NetStateRule::add_not_stage(const char* value, size_t size) {
16681   not_stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
16682   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.not_stage)
16683 }
16684 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
16685 NetStateRule::not_stage() const {
16686   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.not_stage)
16687   return not_stage_;
16688 }
16689 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
16690 NetStateRule::mutable_not_stage() {
16691   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.not_stage)
16692   return &not_stage_;
16693 }
16694
16695 inline const NetStateRule* NetStateRule::internal_default_instance() {
16696   return &NetStateRule_default_instance_.get();
16697 }
16698 // -------------------------------------------------------------------
16699
16700 // ParamSpec
16701
16702 // optional string name = 1;
16703 inline bool ParamSpec::has_name() const {
16704   return (_has_bits_[0] & 0x00000001u) != 0;
16705 }
16706 inline void ParamSpec::set_has_name() {
16707   _has_bits_[0] |= 0x00000001u;
16708 }
16709 inline void ParamSpec::clear_has_name() {
16710   _has_bits_[0] &= ~0x00000001u;
16711 }
16712 inline void ParamSpec::clear_name() {
16713   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16714   clear_has_name();
16715 }
16716 inline const ::std::string& ParamSpec::name() const {
16717   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.name)
16718   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16719 }
16720 inline void ParamSpec::set_name(const ::std::string& value) {
16721   set_has_name();
16722   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
16723   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.name)
16724 }
16725 inline void ParamSpec::set_name(const char* value) {
16726   set_has_name();
16727   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
16728   // @@protoc_insertion_point(field_set_char:opencv_caffe.ParamSpec.name)
16729 }
16730 inline void ParamSpec::set_name(const char* value, size_t size) {
16731   set_has_name();
16732   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
16733       ::std::string(reinterpret_cast<const char*>(value), size));
16734   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ParamSpec.name)
16735 }
16736 inline ::std::string* ParamSpec::mutable_name() {
16737   set_has_name();
16738   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParamSpec.name)
16739   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16740 }
16741 inline ::std::string* ParamSpec::release_name() {
16742   // @@protoc_insertion_point(field_release:opencv_caffe.ParamSpec.name)
16743   clear_has_name();
16744   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16745 }
16746 inline void ParamSpec::set_allocated_name(::std::string* name) {
16747   if (name != NULL) {
16748     set_has_name();
16749   } else {
16750     clear_has_name();
16751   }
16752   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
16753   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParamSpec.name)
16754 }
16755
16756 // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
16757 inline bool ParamSpec::has_share_mode() const {
16758   return (_has_bits_[0] & 0x00000002u) != 0;
16759 }
16760 inline void ParamSpec::set_has_share_mode() {
16761   _has_bits_[0] |= 0x00000002u;
16762 }
16763 inline void ParamSpec::clear_has_share_mode() {
16764   _has_bits_[0] &= ~0x00000002u;
16765 }
16766 inline void ParamSpec::clear_share_mode() {
16767   share_mode_ = 0;
16768   clear_has_share_mode();
16769 }
16770 inline ::opencv_caffe::ParamSpec_DimCheckMode ParamSpec::share_mode() const {
16771   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.share_mode)
16772   return static_cast< ::opencv_caffe::ParamSpec_DimCheckMode >(share_mode_);
16773 }
16774 inline void ParamSpec::set_share_mode(::opencv_caffe::ParamSpec_DimCheckMode value) {
16775   assert(::opencv_caffe::ParamSpec_DimCheckMode_IsValid(value));
16776   set_has_share_mode();
16777   share_mode_ = value;
16778   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.share_mode)
16779 }
16780
16781 // optional float lr_mult = 3 [default = 1];
16782 inline bool ParamSpec::has_lr_mult() const {
16783   return (_has_bits_[0] & 0x00000004u) != 0;
16784 }
16785 inline void ParamSpec::set_has_lr_mult() {
16786   _has_bits_[0] |= 0x00000004u;
16787 }
16788 inline void ParamSpec::clear_has_lr_mult() {
16789   _has_bits_[0] &= ~0x00000004u;
16790 }
16791 inline void ParamSpec::clear_lr_mult() {
16792   lr_mult_ = 1;
16793   clear_has_lr_mult();
16794 }
16795 inline float ParamSpec::lr_mult() const {
16796   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.lr_mult)
16797   return lr_mult_;
16798 }
16799 inline void ParamSpec::set_lr_mult(float value) {
16800   set_has_lr_mult();
16801   lr_mult_ = value;
16802   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.lr_mult)
16803 }
16804
16805 // optional float decay_mult = 4 [default = 1];
16806 inline bool ParamSpec::has_decay_mult() const {
16807   return (_has_bits_[0] & 0x00000008u) != 0;
16808 }
16809 inline void ParamSpec::set_has_decay_mult() {
16810   _has_bits_[0] |= 0x00000008u;
16811 }
16812 inline void ParamSpec::clear_has_decay_mult() {
16813   _has_bits_[0] &= ~0x00000008u;
16814 }
16815 inline void ParamSpec::clear_decay_mult() {
16816   decay_mult_ = 1;
16817   clear_has_decay_mult();
16818 }
16819 inline float ParamSpec::decay_mult() const {
16820   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.decay_mult)
16821   return decay_mult_;
16822 }
16823 inline void ParamSpec::set_decay_mult(float value) {
16824   set_has_decay_mult();
16825   decay_mult_ = value;
16826   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.decay_mult)
16827 }
16828
16829 inline const ParamSpec* ParamSpec::internal_default_instance() {
16830   return &ParamSpec_default_instance_.get();
16831 }
16832 // -------------------------------------------------------------------
16833
16834 // LayerParameter
16835
16836 // optional string name = 1;
16837 inline bool LayerParameter::has_name() const {
16838   return (_has_bits_[0] & 0x00000001u) != 0;
16839 }
16840 inline void LayerParameter::set_has_name() {
16841   _has_bits_[0] |= 0x00000001u;
16842 }
16843 inline void LayerParameter::clear_has_name() {
16844   _has_bits_[0] &= ~0x00000001u;
16845 }
16846 inline void LayerParameter::clear_name() {
16847   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16848   clear_has_name();
16849 }
16850 inline const ::std::string& LayerParameter::name() const {
16851   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.name)
16852   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16853 }
16854 inline void LayerParameter::set_name(const ::std::string& value) {
16855   set_has_name();
16856   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
16857   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.name)
16858 }
16859 inline void LayerParameter::set_name(const char* value) {
16860   set_has_name();
16861   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
16862   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.name)
16863 }
16864 inline void LayerParameter::set_name(const char* value, size_t size) {
16865   set_has_name();
16866   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
16867       ::std::string(reinterpret_cast<const char*>(value), size));
16868   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.name)
16869 }
16870 inline ::std::string* LayerParameter::mutable_name() {
16871   set_has_name();
16872   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.name)
16873   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16874 }
16875 inline ::std::string* LayerParameter::release_name() {
16876   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.name)
16877   clear_has_name();
16878   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16879 }
16880 inline void LayerParameter::set_allocated_name(::std::string* name) {
16881   if (name != NULL) {
16882     set_has_name();
16883   } else {
16884     clear_has_name();
16885   }
16886   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
16887   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.name)
16888 }
16889
16890 // optional string type = 2;
16891 inline bool LayerParameter::has_type() const {
16892   return (_has_bits_[0] & 0x00000002u) != 0;
16893 }
16894 inline void LayerParameter::set_has_type() {
16895   _has_bits_[0] |= 0x00000002u;
16896 }
16897 inline void LayerParameter::clear_has_type() {
16898   _has_bits_[0] &= ~0x00000002u;
16899 }
16900 inline void LayerParameter::clear_type() {
16901   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16902   clear_has_type();
16903 }
16904 inline const ::std::string& LayerParameter::type() const {
16905   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.type)
16906   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16907 }
16908 inline void LayerParameter::set_type(const ::std::string& value) {
16909   set_has_type();
16910   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
16911   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.type)
16912 }
16913 inline void LayerParameter::set_type(const char* value) {
16914   set_has_type();
16915   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
16916   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.type)
16917 }
16918 inline void LayerParameter::set_type(const char* value, size_t size) {
16919   set_has_type();
16920   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
16921       ::std::string(reinterpret_cast<const char*>(value), size));
16922   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.type)
16923 }
16924 inline ::std::string* LayerParameter::mutable_type() {
16925   set_has_type();
16926   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.type)
16927   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16928 }
16929 inline ::std::string* LayerParameter::release_type() {
16930   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.type)
16931   clear_has_type();
16932   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16933 }
16934 inline void LayerParameter::set_allocated_type(::std::string* type) {
16935   if (type != NULL) {
16936     set_has_type();
16937   } else {
16938     clear_has_type();
16939   }
16940   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
16941   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.type)
16942 }
16943
16944 // repeated string bottom = 3;
16945 inline int LayerParameter::bottom_size() const {
16946   return bottom_.size();
16947 }
16948 inline void LayerParameter::clear_bottom() {
16949   bottom_.Clear();
16950 }
16951 inline const ::std::string& LayerParameter::bottom(int index) const {
16952   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bottom)
16953   return bottom_.Get(index);
16954 }
16955 inline ::std::string* LayerParameter::mutable_bottom(int index) {
16956   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bottom)
16957   return bottom_.Mutable(index);
16958 }
16959 inline void LayerParameter::set_bottom(int index, const ::std::string& value) {
16960   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.bottom)
16961   bottom_.Mutable(index)->assign(value);
16962 }
16963 inline void LayerParameter::set_bottom(int index, const char* value) {
16964   bottom_.Mutable(index)->assign(value);
16965   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.bottom)
16966 }
16967 inline void LayerParameter::set_bottom(int index, const char* value, size_t size) {
16968   bottom_.Mutable(index)->assign(
16969     reinterpret_cast<const char*>(value), size);
16970   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.bottom)
16971 }
16972 inline ::std::string* LayerParameter::add_bottom() {
16973   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.bottom)
16974   return bottom_.Add();
16975 }
16976 inline void LayerParameter::add_bottom(const ::std::string& value) {
16977   bottom_.Add()->assign(value);
16978   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.bottom)
16979 }
16980 inline void LayerParameter::add_bottom(const char* value) {
16981   bottom_.Add()->assign(value);
16982   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.bottom)
16983 }
16984 inline void LayerParameter::add_bottom(const char* value, size_t size) {
16985   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
16986   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.bottom)
16987 }
16988 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
16989 LayerParameter::bottom() const {
16990   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.bottom)
16991   return bottom_;
16992 }
16993 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
16994 LayerParameter::mutable_bottom() {
16995   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.bottom)
16996   return &bottom_;
16997 }
16998
16999 // repeated string top = 4;
17000 inline int LayerParameter::top_size() const {
17001   return top_.size();
17002 }
17003 inline void LayerParameter::clear_top() {
17004   top_.Clear();
17005 }
17006 inline const ::std::string& LayerParameter::top(int index) const {
17007   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.top)
17008   return top_.Get(index);
17009 }
17010 inline ::std::string* LayerParameter::mutable_top(int index) {
17011   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.top)
17012   return top_.Mutable(index);
17013 }
17014 inline void LayerParameter::set_top(int index, const ::std::string& value) {
17015   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.top)
17016   top_.Mutable(index)->assign(value);
17017 }
17018 inline void LayerParameter::set_top(int index, const char* value) {
17019   top_.Mutable(index)->assign(value);
17020   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.top)
17021 }
17022 inline void LayerParameter::set_top(int index, const char* value, size_t size) {
17023   top_.Mutable(index)->assign(
17024     reinterpret_cast<const char*>(value), size);
17025   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.top)
17026 }
17027 inline ::std::string* LayerParameter::add_top() {
17028   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.top)
17029   return top_.Add();
17030 }
17031 inline void LayerParameter::add_top(const ::std::string& value) {
17032   top_.Add()->assign(value);
17033   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.top)
17034 }
17035 inline void LayerParameter::add_top(const char* value) {
17036   top_.Add()->assign(value);
17037   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.top)
17038 }
17039 inline void LayerParameter::add_top(const char* value, size_t size) {
17040   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
17041   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.top)
17042 }
17043 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
17044 LayerParameter::top() const {
17045   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.top)
17046   return top_;
17047 }
17048 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
17049 LayerParameter::mutable_top() {
17050   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.top)
17051   return &top_;
17052 }
17053
17054 // optional .opencv_caffe.Phase phase = 10;
17055 inline bool LayerParameter::has_phase() const {
17056   return (_has_bits_[0] & 0x00000010u) != 0;
17057 }
17058 inline void LayerParameter::set_has_phase() {
17059   _has_bits_[0] |= 0x00000010u;
17060 }
17061 inline void LayerParameter::clear_has_phase() {
17062   _has_bits_[0] &= ~0x00000010u;
17063 }
17064 inline void LayerParameter::clear_phase() {
17065   phase_ = 0;
17066   clear_has_phase();
17067 }
17068 inline ::opencv_caffe::Phase LayerParameter::phase() const {
17069   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.phase)
17070   return static_cast< ::opencv_caffe::Phase >(phase_);
17071 }
17072 inline void LayerParameter::set_phase(::opencv_caffe::Phase value) {
17073   assert(::opencv_caffe::Phase_IsValid(value));
17074   set_has_phase();
17075   phase_ = value;
17076   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.phase)
17077 }
17078
17079 // repeated float loss_weight = 5;
17080 inline int LayerParameter::loss_weight_size() const {
17081   return loss_weight_.size();
17082 }
17083 inline void LayerParameter::clear_loss_weight() {
17084   loss_weight_.Clear();
17085 }
17086 inline float LayerParameter::loss_weight(int index) const {
17087   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_weight)
17088   return loss_weight_.Get(index);
17089 }
17090 inline void LayerParameter::set_loss_weight(int index, float value) {
17091   loss_weight_.Set(index, value);
17092   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.loss_weight)
17093 }
17094 inline void LayerParameter::add_loss_weight(float value) {
17095   loss_weight_.Add(value);
17096   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.loss_weight)
17097 }
17098 inline const ::google::protobuf::RepeatedField< float >&
17099 LayerParameter::loss_weight() const {
17100   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.loss_weight)
17101   return loss_weight_;
17102 }
17103 inline ::google::protobuf::RepeatedField< float >*
17104 LayerParameter::mutable_loss_weight() {
17105   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.loss_weight)
17106   return &loss_weight_;
17107 }
17108
17109 // repeated .opencv_caffe.ParamSpec param = 6;
17110 inline int LayerParameter::param_size() const {
17111   return param_.size();
17112 }
17113 inline void LayerParameter::clear_param() {
17114   param_.Clear();
17115 }
17116 inline const ::opencv_caffe::ParamSpec& LayerParameter::param(int index) const {
17117   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.param)
17118   return param_.Get(index);
17119 }
17120 inline ::opencv_caffe::ParamSpec* LayerParameter::mutable_param(int index) {
17121   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.param)
17122   return param_.Mutable(index);
17123 }
17124 inline ::opencv_caffe::ParamSpec* LayerParameter::add_param() {
17125   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.param)
17126   return param_.Add();
17127 }
17128 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >*
17129 LayerParameter::mutable_param() {
17130   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.param)
17131   return &param_;
17132 }
17133 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >&
17134 LayerParameter::param() const {
17135   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.param)
17136   return param_;
17137 }
17138
17139 // repeated .opencv_caffe.BlobProto blobs = 7;
17140 inline int LayerParameter::blobs_size() const {
17141   return blobs_.size();
17142 }
17143 inline void LayerParameter::clear_blobs() {
17144   blobs_.Clear();
17145 }
17146 inline const ::opencv_caffe::BlobProto& LayerParameter::blobs(int index) const {
17147   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.blobs)
17148   return blobs_.Get(index);
17149 }
17150 inline ::opencv_caffe::BlobProto* LayerParameter::mutable_blobs(int index) {
17151   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.blobs)
17152   return blobs_.Mutable(index);
17153 }
17154 inline ::opencv_caffe::BlobProto* LayerParameter::add_blobs() {
17155   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.blobs)
17156   return blobs_.Add();
17157 }
17158 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
17159 LayerParameter::mutable_blobs() {
17160   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.blobs)
17161   return &blobs_;
17162 }
17163 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
17164 LayerParameter::blobs() const {
17165   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.blobs)
17166   return blobs_;
17167 }
17168
17169 // repeated bool propagate_down = 11;
17170 inline int LayerParameter::propagate_down_size() const {
17171   return propagate_down_.size();
17172 }
17173 inline void LayerParameter::clear_propagate_down() {
17174   propagate_down_.Clear();
17175 }
17176 inline bool LayerParameter::propagate_down(int index) const {
17177   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.propagate_down)
17178   return propagate_down_.Get(index);
17179 }
17180 inline void LayerParameter::set_propagate_down(int index, bool value) {
17181   propagate_down_.Set(index, value);
17182   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.propagate_down)
17183 }
17184 inline void LayerParameter::add_propagate_down(bool value) {
17185   propagate_down_.Add(value);
17186   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.propagate_down)
17187 }
17188 inline const ::google::protobuf::RepeatedField< bool >&
17189 LayerParameter::propagate_down() const {
17190   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.propagate_down)
17191   return propagate_down_;
17192 }
17193 inline ::google::protobuf::RepeatedField< bool >*
17194 LayerParameter::mutable_propagate_down() {
17195   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.propagate_down)
17196   return &propagate_down_;
17197 }
17198
17199 // repeated .opencv_caffe.NetStateRule include = 8;
17200 inline int LayerParameter::include_size() const {
17201   return include_.size();
17202 }
17203 inline void LayerParameter::clear_include() {
17204   include_.Clear();
17205 }
17206 inline const ::opencv_caffe::NetStateRule& LayerParameter::include(int index) const {
17207   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.include)
17208   return include_.Get(index);
17209 }
17210 inline ::opencv_caffe::NetStateRule* LayerParameter::mutable_include(int index) {
17211   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.include)
17212   return include_.Mutable(index);
17213 }
17214 inline ::opencv_caffe::NetStateRule* LayerParameter::add_include() {
17215   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.include)
17216   return include_.Add();
17217 }
17218 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
17219 LayerParameter::mutable_include() {
17220   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.include)
17221   return &include_;
17222 }
17223 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
17224 LayerParameter::include() const {
17225   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.include)
17226   return include_;
17227 }
17228
17229 // repeated .opencv_caffe.NetStateRule exclude = 9;
17230 inline int LayerParameter::exclude_size() const {
17231   return exclude_.size();
17232 }
17233 inline void LayerParameter::clear_exclude() {
17234   exclude_.Clear();
17235 }
17236 inline const ::opencv_caffe::NetStateRule& LayerParameter::exclude(int index) const {
17237   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exclude)
17238   return exclude_.Get(index);
17239 }
17240 inline ::opencv_caffe::NetStateRule* LayerParameter::mutable_exclude(int index) {
17241   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exclude)
17242   return exclude_.Mutable(index);
17243 }
17244 inline ::opencv_caffe::NetStateRule* LayerParameter::add_exclude() {
17245   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.exclude)
17246   return exclude_.Add();
17247 }
17248 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
17249 LayerParameter::mutable_exclude() {
17250   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.exclude)
17251   return &exclude_;
17252 }
17253 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
17254 LayerParameter::exclude() const {
17255   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.exclude)
17256   return exclude_;
17257 }
17258
17259 // optional .opencv_caffe.TransformationParameter transform_param = 100;
17260 inline bool LayerParameter::has_transform_param() const {
17261   return (_has_bits_[0] & 0x00000800u) != 0;
17262 }
17263 inline void LayerParameter::set_has_transform_param() {
17264   _has_bits_[0] |= 0x00000800u;
17265 }
17266 inline void LayerParameter::clear_has_transform_param() {
17267   _has_bits_[0] &= ~0x00000800u;
17268 }
17269 inline void LayerParameter::clear_transform_param() {
17270   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
17271   clear_has_transform_param();
17272 }
17273 inline const ::opencv_caffe::TransformationParameter& LayerParameter::transform_param() const {
17274   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.transform_param)
17275   return transform_param_ != NULL ? *transform_param_
17276                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
17277 }
17278 inline ::opencv_caffe::TransformationParameter* LayerParameter::mutable_transform_param() {
17279   set_has_transform_param();
17280   if (transform_param_ == NULL) {
17281     transform_param_ = new ::opencv_caffe::TransformationParameter;
17282   }
17283   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.transform_param)
17284   return transform_param_;
17285 }
17286 inline ::opencv_caffe::TransformationParameter* LayerParameter::release_transform_param() {
17287   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.transform_param)
17288   clear_has_transform_param();
17289   ::opencv_caffe::TransformationParameter* temp = transform_param_;
17290   transform_param_ = NULL;
17291   return temp;
17292 }
17293 inline void LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
17294   delete transform_param_;
17295   transform_param_ = transform_param;
17296   if (transform_param) {
17297     set_has_transform_param();
17298   } else {
17299     clear_has_transform_param();
17300   }
17301   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.transform_param)
17302 }
17303
17304 // optional .opencv_caffe.LossParameter loss_param = 101;
17305 inline bool LayerParameter::has_loss_param() const {
17306   return (_has_bits_[0] & 0x00001000u) != 0;
17307 }
17308 inline void LayerParameter::set_has_loss_param() {
17309   _has_bits_[0] |= 0x00001000u;
17310 }
17311 inline void LayerParameter::clear_has_loss_param() {
17312   _has_bits_[0] &= ~0x00001000u;
17313 }
17314 inline void LayerParameter::clear_loss_param() {
17315   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
17316   clear_has_loss_param();
17317 }
17318 inline const ::opencv_caffe::LossParameter& LayerParameter::loss_param() const {
17319   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_param)
17320   return loss_param_ != NULL ? *loss_param_
17321                          : *::opencv_caffe::LossParameter::internal_default_instance();
17322 }
17323 inline ::opencv_caffe::LossParameter* LayerParameter::mutable_loss_param() {
17324   set_has_loss_param();
17325   if (loss_param_ == NULL) {
17326     loss_param_ = new ::opencv_caffe::LossParameter;
17327   }
17328   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.loss_param)
17329   return loss_param_;
17330 }
17331 inline ::opencv_caffe::LossParameter* LayerParameter::release_loss_param() {
17332   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.loss_param)
17333   clear_has_loss_param();
17334   ::opencv_caffe::LossParameter* temp = loss_param_;
17335   loss_param_ = NULL;
17336   return temp;
17337 }
17338 inline void LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
17339   delete loss_param_;
17340   loss_param_ = loss_param;
17341   if (loss_param) {
17342     set_has_loss_param();
17343   } else {
17344     clear_has_loss_param();
17345   }
17346   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.loss_param)
17347 }
17348
17349 // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
17350 inline bool LayerParameter::has_accuracy_param() const {
17351   return (_has_bits_[0] & 0x00002000u) != 0;
17352 }
17353 inline void LayerParameter::set_has_accuracy_param() {
17354   _has_bits_[0] |= 0x00002000u;
17355 }
17356 inline void LayerParameter::clear_has_accuracy_param() {
17357   _has_bits_[0] &= ~0x00002000u;
17358 }
17359 inline void LayerParameter::clear_accuracy_param() {
17360   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
17361   clear_has_accuracy_param();
17362 }
17363 inline const ::opencv_caffe::AccuracyParameter& LayerParameter::accuracy_param() const {
17364   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.accuracy_param)
17365   return accuracy_param_ != NULL ? *accuracy_param_
17366                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
17367 }
17368 inline ::opencv_caffe::AccuracyParameter* LayerParameter::mutable_accuracy_param() {
17369   set_has_accuracy_param();
17370   if (accuracy_param_ == NULL) {
17371     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
17372   }
17373   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.accuracy_param)
17374   return accuracy_param_;
17375 }
17376 inline ::opencv_caffe::AccuracyParameter* LayerParameter::release_accuracy_param() {
17377   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.accuracy_param)
17378   clear_has_accuracy_param();
17379   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
17380   accuracy_param_ = NULL;
17381   return temp;
17382 }
17383 inline void LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
17384   delete accuracy_param_;
17385   accuracy_param_ = accuracy_param;
17386   if (accuracy_param) {
17387     set_has_accuracy_param();
17388   } else {
17389     clear_has_accuracy_param();
17390   }
17391   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.accuracy_param)
17392 }
17393
17394 // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
17395 inline bool LayerParameter::has_argmax_param() const {
17396   return (_has_bits_[0] & 0x00004000u) != 0;
17397 }
17398 inline void LayerParameter::set_has_argmax_param() {
17399   _has_bits_[0] |= 0x00004000u;
17400 }
17401 inline void LayerParameter::clear_has_argmax_param() {
17402   _has_bits_[0] &= ~0x00004000u;
17403 }
17404 inline void LayerParameter::clear_argmax_param() {
17405   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
17406   clear_has_argmax_param();
17407 }
17408 inline const ::opencv_caffe::ArgMaxParameter& LayerParameter::argmax_param() const {
17409   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.argmax_param)
17410   return argmax_param_ != NULL ? *argmax_param_
17411                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
17412 }
17413 inline ::opencv_caffe::ArgMaxParameter* LayerParameter::mutable_argmax_param() {
17414   set_has_argmax_param();
17415   if (argmax_param_ == NULL) {
17416     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
17417   }
17418   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.argmax_param)
17419   return argmax_param_;
17420 }
17421 inline ::opencv_caffe::ArgMaxParameter* LayerParameter::release_argmax_param() {
17422   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.argmax_param)
17423   clear_has_argmax_param();
17424   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
17425   argmax_param_ = NULL;
17426   return temp;
17427 }
17428 inline void LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
17429   delete argmax_param_;
17430   argmax_param_ = argmax_param;
17431   if (argmax_param) {
17432     set_has_argmax_param();
17433   } else {
17434     clear_has_argmax_param();
17435   }
17436   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.argmax_param)
17437 }
17438
17439 // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17440 inline bool LayerParameter::has_batch_norm_param() const {
17441   return (_has_bits_[0] & 0x00008000u) != 0;
17442 }
17443 inline void LayerParameter::set_has_batch_norm_param() {
17444   _has_bits_[0] |= 0x00008000u;
17445 }
17446 inline void LayerParameter::clear_has_batch_norm_param() {
17447   _has_bits_[0] &= ~0x00008000u;
17448 }
17449 inline void LayerParameter::clear_batch_norm_param() {
17450   if (batch_norm_param_ != NULL) batch_norm_param_->::opencv_caffe::BatchNormParameter::Clear();
17451   clear_has_batch_norm_param();
17452 }
17453 inline const ::opencv_caffe::BatchNormParameter& LayerParameter::batch_norm_param() const {
17454   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.batch_norm_param)
17455   return batch_norm_param_ != NULL ? *batch_norm_param_
17456                          : *::opencv_caffe::BatchNormParameter::internal_default_instance();
17457 }
17458 inline ::opencv_caffe::BatchNormParameter* LayerParameter::mutable_batch_norm_param() {
17459   set_has_batch_norm_param();
17460   if (batch_norm_param_ == NULL) {
17461     batch_norm_param_ = new ::opencv_caffe::BatchNormParameter;
17462   }
17463   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.batch_norm_param)
17464   return batch_norm_param_;
17465 }
17466 inline ::opencv_caffe::BatchNormParameter* LayerParameter::release_batch_norm_param() {
17467   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.batch_norm_param)
17468   clear_has_batch_norm_param();
17469   ::opencv_caffe::BatchNormParameter* temp = batch_norm_param_;
17470   batch_norm_param_ = NULL;
17471   return temp;
17472 }
17473 inline void LayerParameter::set_allocated_batch_norm_param(::opencv_caffe::BatchNormParameter* batch_norm_param) {
17474   delete batch_norm_param_;
17475   batch_norm_param_ = batch_norm_param;
17476   if (batch_norm_param) {
17477     set_has_batch_norm_param();
17478   } else {
17479     clear_has_batch_norm_param();
17480   }
17481   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.batch_norm_param)
17482 }
17483
17484 // optional .opencv_caffe.BiasParameter bias_param = 141;
17485 inline bool LayerParameter::has_bias_param() const {
17486   return (_has_bits_[0] & 0x00010000u) != 0;
17487 }
17488 inline void LayerParameter::set_has_bias_param() {
17489   _has_bits_[0] |= 0x00010000u;
17490 }
17491 inline void LayerParameter::clear_has_bias_param() {
17492   _has_bits_[0] &= ~0x00010000u;
17493 }
17494 inline void LayerParameter::clear_bias_param() {
17495   if (bias_param_ != NULL) bias_param_->::opencv_caffe::BiasParameter::Clear();
17496   clear_has_bias_param();
17497 }
17498 inline const ::opencv_caffe::BiasParameter& LayerParameter::bias_param() const {
17499   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bias_param)
17500   return bias_param_ != NULL ? *bias_param_
17501                          : *::opencv_caffe::BiasParameter::internal_default_instance();
17502 }
17503 inline ::opencv_caffe::BiasParameter* LayerParameter::mutable_bias_param() {
17504   set_has_bias_param();
17505   if (bias_param_ == NULL) {
17506     bias_param_ = new ::opencv_caffe::BiasParameter;
17507   }
17508   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bias_param)
17509   return bias_param_;
17510 }
17511 inline ::opencv_caffe::BiasParameter* LayerParameter::release_bias_param() {
17512   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.bias_param)
17513   clear_has_bias_param();
17514   ::opencv_caffe::BiasParameter* temp = bias_param_;
17515   bias_param_ = NULL;
17516   return temp;
17517 }
17518 inline void LayerParameter::set_allocated_bias_param(::opencv_caffe::BiasParameter* bias_param) {
17519   delete bias_param_;
17520   bias_param_ = bias_param;
17521   if (bias_param) {
17522     set_has_bias_param();
17523   } else {
17524     clear_has_bias_param();
17525   }
17526   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.bias_param)
17527 }
17528
17529 // optional .opencv_caffe.ConcatParameter concat_param = 104;
17530 inline bool LayerParameter::has_concat_param() const {
17531   return (_has_bits_[0] & 0x00020000u) != 0;
17532 }
17533 inline void LayerParameter::set_has_concat_param() {
17534   _has_bits_[0] |= 0x00020000u;
17535 }
17536 inline void LayerParameter::clear_has_concat_param() {
17537   _has_bits_[0] &= ~0x00020000u;
17538 }
17539 inline void LayerParameter::clear_concat_param() {
17540   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
17541   clear_has_concat_param();
17542 }
17543 inline const ::opencv_caffe::ConcatParameter& LayerParameter::concat_param() const {
17544   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.concat_param)
17545   return concat_param_ != NULL ? *concat_param_
17546                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
17547 }
17548 inline ::opencv_caffe::ConcatParameter* LayerParameter::mutable_concat_param() {
17549   set_has_concat_param();
17550   if (concat_param_ == NULL) {
17551     concat_param_ = new ::opencv_caffe::ConcatParameter;
17552   }
17553   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.concat_param)
17554   return concat_param_;
17555 }
17556 inline ::opencv_caffe::ConcatParameter* LayerParameter::release_concat_param() {
17557   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.concat_param)
17558   clear_has_concat_param();
17559   ::opencv_caffe::ConcatParameter* temp = concat_param_;
17560   concat_param_ = NULL;
17561   return temp;
17562 }
17563 inline void LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
17564   delete concat_param_;
17565   concat_param_ = concat_param;
17566   if (concat_param) {
17567     set_has_concat_param();
17568   } else {
17569     clear_has_concat_param();
17570   }
17571   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.concat_param)
17572 }
17573
17574 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
17575 inline bool LayerParameter::has_contrastive_loss_param() const {
17576   return (_has_bits_[0] & 0x00040000u) != 0;
17577 }
17578 inline void LayerParameter::set_has_contrastive_loss_param() {
17579   _has_bits_[0] |= 0x00040000u;
17580 }
17581 inline void LayerParameter::clear_has_contrastive_loss_param() {
17582   _has_bits_[0] &= ~0x00040000u;
17583 }
17584 inline void LayerParameter::clear_contrastive_loss_param() {
17585   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
17586   clear_has_contrastive_loss_param();
17587 }
17588 inline const ::opencv_caffe::ContrastiveLossParameter& LayerParameter::contrastive_loss_param() const {
17589   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.contrastive_loss_param)
17590   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
17591                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
17592 }
17593 inline ::opencv_caffe::ContrastiveLossParameter* LayerParameter::mutable_contrastive_loss_param() {
17594   set_has_contrastive_loss_param();
17595   if (contrastive_loss_param_ == NULL) {
17596     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
17597   }
17598   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.contrastive_loss_param)
17599   return contrastive_loss_param_;
17600 }
17601 inline ::opencv_caffe::ContrastiveLossParameter* LayerParameter::release_contrastive_loss_param() {
17602   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.contrastive_loss_param)
17603   clear_has_contrastive_loss_param();
17604   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
17605   contrastive_loss_param_ = NULL;
17606   return temp;
17607 }
17608 inline void LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
17609   delete contrastive_loss_param_;
17610   contrastive_loss_param_ = contrastive_loss_param;
17611   if (contrastive_loss_param) {
17612     set_has_contrastive_loss_param();
17613   } else {
17614     clear_has_contrastive_loss_param();
17615   }
17616   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.contrastive_loss_param)
17617 }
17618
17619 // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
17620 inline bool LayerParameter::has_convolution_param() const {
17621   return (_has_bits_[0] & 0x00080000u) != 0;
17622 }
17623 inline void LayerParameter::set_has_convolution_param() {
17624   _has_bits_[0] |= 0x00080000u;
17625 }
17626 inline void LayerParameter::clear_has_convolution_param() {
17627   _has_bits_[0] &= ~0x00080000u;
17628 }
17629 inline void LayerParameter::clear_convolution_param() {
17630   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
17631   clear_has_convolution_param();
17632 }
17633 inline const ::opencv_caffe::ConvolutionParameter& LayerParameter::convolution_param() const {
17634   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.convolution_param)
17635   return convolution_param_ != NULL ? *convolution_param_
17636                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
17637 }
17638 inline ::opencv_caffe::ConvolutionParameter* LayerParameter::mutable_convolution_param() {
17639   set_has_convolution_param();
17640   if (convolution_param_ == NULL) {
17641     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
17642   }
17643   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.convolution_param)
17644   return convolution_param_;
17645 }
17646 inline ::opencv_caffe::ConvolutionParameter* LayerParameter::release_convolution_param() {
17647   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.convolution_param)
17648   clear_has_convolution_param();
17649   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
17650   convolution_param_ = NULL;
17651   return temp;
17652 }
17653 inline void LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
17654   delete convolution_param_;
17655   convolution_param_ = convolution_param;
17656   if (convolution_param) {
17657     set_has_convolution_param();
17658   } else {
17659     clear_has_convolution_param();
17660   }
17661   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.convolution_param)
17662 }
17663
17664 // optional .opencv_caffe.CropParameter crop_param = 144;
17665 inline bool LayerParameter::has_crop_param() const {
17666   return (_has_bits_[0] & 0x00100000u) != 0;
17667 }
17668 inline void LayerParameter::set_has_crop_param() {
17669   _has_bits_[0] |= 0x00100000u;
17670 }
17671 inline void LayerParameter::clear_has_crop_param() {
17672   _has_bits_[0] &= ~0x00100000u;
17673 }
17674 inline void LayerParameter::clear_crop_param() {
17675   if (crop_param_ != NULL) crop_param_->::opencv_caffe::CropParameter::Clear();
17676   clear_has_crop_param();
17677 }
17678 inline const ::opencv_caffe::CropParameter& LayerParameter::crop_param() const {
17679   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.crop_param)
17680   return crop_param_ != NULL ? *crop_param_
17681                          : *::opencv_caffe::CropParameter::internal_default_instance();
17682 }
17683 inline ::opencv_caffe::CropParameter* LayerParameter::mutable_crop_param() {
17684   set_has_crop_param();
17685   if (crop_param_ == NULL) {
17686     crop_param_ = new ::opencv_caffe::CropParameter;
17687   }
17688   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.crop_param)
17689   return crop_param_;
17690 }
17691 inline ::opencv_caffe::CropParameter* LayerParameter::release_crop_param() {
17692   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.crop_param)
17693   clear_has_crop_param();
17694   ::opencv_caffe::CropParameter* temp = crop_param_;
17695   crop_param_ = NULL;
17696   return temp;
17697 }
17698 inline void LayerParameter::set_allocated_crop_param(::opencv_caffe::CropParameter* crop_param) {
17699   delete crop_param_;
17700   crop_param_ = crop_param;
17701   if (crop_param) {
17702     set_has_crop_param();
17703   } else {
17704     clear_has_crop_param();
17705   }
17706   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.crop_param)
17707 }
17708
17709 // optional .opencv_caffe.DataParameter data_param = 107;
17710 inline bool LayerParameter::has_data_param() const {
17711   return (_has_bits_[0] & 0x00200000u) != 0;
17712 }
17713 inline void LayerParameter::set_has_data_param() {
17714   _has_bits_[0] |= 0x00200000u;
17715 }
17716 inline void LayerParameter::clear_has_data_param() {
17717   _has_bits_[0] &= ~0x00200000u;
17718 }
17719 inline void LayerParameter::clear_data_param() {
17720   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
17721   clear_has_data_param();
17722 }
17723 inline const ::opencv_caffe::DataParameter& LayerParameter::data_param() const {
17724   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.data_param)
17725   return data_param_ != NULL ? *data_param_
17726                          : *::opencv_caffe::DataParameter::internal_default_instance();
17727 }
17728 inline ::opencv_caffe::DataParameter* LayerParameter::mutable_data_param() {
17729   set_has_data_param();
17730   if (data_param_ == NULL) {
17731     data_param_ = new ::opencv_caffe::DataParameter;
17732   }
17733   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.data_param)
17734   return data_param_;
17735 }
17736 inline ::opencv_caffe::DataParameter* LayerParameter::release_data_param() {
17737   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.data_param)
17738   clear_has_data_param();
17739   ::opencv_caffe::DataParameter* temp = data_param_;
17740   data_param_ = NULL;
17741   return temp;
17742 }
17743 inline void LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
17744   delete data_param_;
17745   data_param_ = data_param;
17746   if (data_param) {
17747     set_has_data_param();
17748   } else {
17749     clear_has_data_param();
17750   }
17751   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.data_param)
17752 }
17753
17754 // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17755 inline bool LayerParameter::has_detection_output_param() const {
17756   return (_has_bits_[0] & 0x00400000u) != 0;
17757 }
17758 inline void LayerParameter::set_has_detection_output_param() {
17759   _has_bits_[0] |= 0x00400000u;
17760 }
17761 inline void LayerParameter::clear_has_detection_output_param() {
17762   _has_bits_[0] &= ~0x00400000u;
17763 }
17764 inline void LayerParameter::clear_detection_output_param() {
17765   if (detection_output_param_ != NULL) detection_output_param_->::opencv_caffe::DetectionOutputParameter::Clear();
17766   clear_has_detection_output_param();
17767 }
17768 inline const ::opencv_caffe::DetectionOutputParameter& LayerParameter::detection_output_param() const {
17769   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.detection_output_param)
17770   return detection_output_param_ != NULL ? *detection_output_param_
17771                          : *::opencv_caffe::DetectionOutputParameter::internal_default_instance();
17772 }
17773 inline ::opencv_caffe::DetectionOutputParameter* LayerParameter::mutable_detection_output_param() {
17774   set_has_detection_output_param();
17775   if (detection_output_param_ == NULL) {
17776     detection_output_param_ = new ::opencv_caffe::DetectionOutputParameter;
17777   }
17778   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.detection_output_param)
17779   return detection_output_param_;
17780 }
17781 inline ::opencv_caffe::DetectionOutputParameter* LayerParameter::release_detection_output_param() {
17782   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.detection_output_param)
17783   clear_has_detection_output_param();
17784   ::opencv_caffe::DetectionOutputParameter* temp = detection_output_param_;
17785   detection_output_param_ = NULL;
17786   return temp;
17787 }
17788 inline void LayerParameter::set_allocated_detection_output_param(::opencv_caffe::DetectionOutputParameter* detection_output_param) {
17789   delete detection_output_param_;
17790   detection_output_param_ = detection_output_param;
17791   if (detection_output_param) {
17792     set_has_detection_output_param();
17793   } else {
17794     clear_has_detection_output_param();
17795   }
17796   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.detection_output_param)
17797 }
17798
17799 // optional .opencv_caffe.DropoutParameter dropout_param = 108;
17800 inline bool LayerParameter::has_dropout_param() const {
17801   return (_has_bits_[0] & 0x00800000u) != 0;
17802 }
17803 inline void LayerParameter::set_has_dropout_param() {
17804   _has_bits_[0] |= 0x00800000u;
17805 }
17806 inline void LayerParameter::clear_has_dropout_param() {
17807   _has_bits_[0] &= ~0x00800000u;
17808 }
17809 inline void LayerParameter::clear_dropout_param() {
17810   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
17811   clear_has_dropout_param();
17812 }
17813 inline const ::opencv_caffe::DropoutParameter& LayerParameter::dropout_param() const {
17814   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dropout_param)
17815   return dropout_param_ != NULL ? *dropout_param_
17816                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
17817 }
17818 inline ::opencv_caffe::DropoutParameter* LayerParameter::mutable_dropout_param() {
17819   set_has_dropout_param();
17820   if (dropout_param_ == NULL) {
17821     dropout_param_ = new ::opencv_caffe::DropoutParameter;
17822   }
17823   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dropout_param)
17824   return dropout_param_;
17825 }
17826 inline ::opencv_caffe::DropoutParameter* LayerParameter::release_dropout_param() {
17827   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dropout_param)
17828   clear_has_dropout_param();
17829   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
17830   dropout_param_ = NULL;
17831   return temp;
17832 }
17833 inline void LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
17834   delete dropout_param_;
17835   dropout_param_ = dropout_param;
17836   if (dropout_param) {
17837     set_has_dropout_param();
17838   } else {
17839     clear_has_dropout_param();
17840   }
17841   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dropout_param)
17842 }
17843
17844 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
17845 inline bool LayerParameter::has_dummy_data_param() const {
17846   return (_has_bits_[0] & 0x01000000u) != 0;
17847 }
17848 inline void LayerParameter::set_has_dummy_data_param() {
17849   _has_bits_[0] |= 0x01000000u;
17850 }
17851 inline void LayerParameter::clear_has_dummy_data_param() {
17852   _has_bits_[0] &= ~0x01000000u;
17853 }
17854 inline void LayerParameter::clear_dummy_data_param() {
17855   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
17856   clear_has_dummy_data_param();
17857 }
17858 inline const ::opencv_caffe::DummyDataParameter& LayerParameter::dummy_data_param() const {
17859   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dummy_data_param)
17860   return dummy_data_param_ != NULL ? *dummy_data_param_
17861                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
17862 }
17863 inline ::opencv_caffe::DummyDataParameter* LayerParameter::mutable_dummy_data_param() {
17864   set_has_dummy_data_param();
17865   if (dummy_data_param_ == NULL) {
17866     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
17867   }
17868   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dummy_data_param)
17869   return dummy_data_param_;
17870 }
17871 inline ::opencv_caffe::DummyDataParameter* LayerParameter::release_dummy_data_param() {
17872   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dummy_data_param)
17873   clear_has_dummy_data_param();
17874   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
17875   dummy_data_param_ = NULL;
17876   return temp;
17877 }
17878 inline void LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
17879   delete dummy_data_param_;
17880   dummy_data_param_ = dummy_data_param;
17881   if (dummy_data_param) {
17882     set_has_dummy_data_param();
17883   } else {
17884     clear_has_dummy_data_param();
17885   }
17886   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dummy_data_param)
17887 }
17888
17889 // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
17890 inline bool LayerParameter::has_eltwise_param() const {
17891   return (_has_bits_[0] & 0x02000000u) != 0;
17892 }
17893 inline void LayerParameter::set_has_eltwise_param() {
17894   _has_bits_[0] |= 0x02000000u;
17895 }
17896 inline void LayerParameter::clear_has_eltwise_param() {
17897   _has_bits_[0] &= ~0x02000000u;
17898 }
17899 inline void LayerParameter::clear_eltwise_param() {
17900   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
17901   clear_has_eltwise_param();
17902 }
17903 inline const ::opencv_caffe::EltwiseParameter& LayerParameter::eltwise_param() const {
17904   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.eltwise_param)
17905   return eltwise_param_ != NULL ? *eltwise_param_
17906                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
17907 }
17908 inline ::opencv_caffe::EltwiseParameter* LayerParameter::mutable_eltwise_param() {
17909   set_has_eltwise_param();
17910   if (eltwise_param_ == NULL) {
17911     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
17912   }
17913   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.eltwise_param)
17914   return eltwise_param_;
17915 }
17916 inline ::opencv_caffe::EltwiseParameter* LayerParameter::release_eltwise_param() {
17917   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.eltwise_param)
17918   clear_has_eltwise_param();
17919   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
17920   eltwise_param_ = NULL;
17921   return temp;
17922 }
17923 inline void LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
17924   delete eltwise_param_;
17925   eltwise_param_ = eltwise_param;
17926   if (eltwise_param) {
17927     set_has_eltwise_param();
17928   } else {
17929     clear_has_eltwise_param();
17930   }
17931   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.eltwise_param)
17932 }
17933
17934 // optional .opencv_caffe.ELUParameter elu_param = 140;
17935 inline bool LayerParameter::has_elu_param() const {
17936   return (_has_bits_[0] & 0x04000000u) != 0;
17937 }
17938 inline void LayerParameter::set_has_elu_param() {
17939   _has_bits_[0] |= 0x04000000u;
17940 }
17941 inline void LayerParameter::clear_has_elu_param() {
17942   _has_bits_[0] &= ~0x04000000u;
17943 }
17944 inline void LayerParameter::clear_elu_param() {
17945   if (elu_param_ != NULL) elu_param_->::opencv_caffe::ELUParameter::Clear();
17946   clear_has_elu_param();
17947 }
17948 inline const ::opencv_caffe::ELUParameter& LayerParameter::elu_param() const {
17949   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.elu_param)
17950   return elu_param_ != NULL ? *elu_param_
17951                          : *::opencv_caffe::ELUParameter::internal_default_instance();
17952 }
17953 inline ::opencv_caffe::ELUParameter* LayerParameter::mutable_elu_param() {
17954   set_has_elu_param();
17955   if (elu_param_ == NULL) {
17956     elu_param_ = new ::opencv_caffe::ELUParameter;
17957   }
17958   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.elu_param)
17959   return elu_param_;
17960 }
17961 inline ::opencv_caffe::ELUParameter* LayerParameter::release_elu_param() {
17962   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.elu_param)
17963   clear_has_elu_param();
17964   ::opencv_caffe::ELUParameter* temp = elu_param_;
17965   elu_param_ = NULL;
17966   return temp;
17967 }
17968 inline void LayerParameter::set_allocated_elu_param(::opencv_caffe::ELUParameter* elu_param) {
17969   delete elu_param_;
17970   elu_param_ = elu_param;
17971   if (elu_param) {
17972     set_has_elu_param();
17973   } else {
17974     clear_has_elu_param();
17975   }
17976   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.elu_param)
17977 }
17978
17979 // optional .opencv_caffe.EmbedParameter embed_param = 137;
17980 inline bool LayerParameter::has_embed_param() const {
17981   return (_has_bits_[0] & 0x08000000u) != 0;
17982 }
17983 inline void LayerParameter::set_has_embed_param() {
17984   _has_bits_[0] |= 0x08000000u;
17985 }
17986 inline void LayerParameter::clear_has_embed_param() {
17987   _has_bits_[0] &= ~0x08000000u;
17988 }
17989 inline void LayerParameter::clear_embed_param() {
17990   if (embed_param_ != NULL) embed_param_->::opencv_caffe::EmbedParameter::Clear();
17991   clear_has_embed_param();
17992 }
17993 inline const ::opencv_caffe::EmbedParameter& LayerParameter::embed_param() const {
17994   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.embed_param)
17995   return embed_param_ != NULL ? *embed_param_
17996                          : *::opencv_caffe::EmbedParameter::internal_default_instance();
17997 }
17998 inline ::opencv_caffe::EmbedParameter* LayerParameter::mutable_embed_param() {
17999   set_has_embed_param();
18000   if (embed_param_ == NULL) {
18001     embed_param_ = new ::opencv_caffe::EmbedParameter;
18002   }
18003   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.embed_param)
18004   return embed_param_;
18005 }
18006 inline ::opencv_caffe::EmbedParameter* LayerParameter::release_embed_param() {
18007   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.embed_param)
18008   clear_has_embed_param();
18009   ::opencv_caffe::EmbedParameter* temp = embed_param_;
18010   embed_param_ = NULL;
18011   return temp;
18012 }
18013 inline void LayerParameter::set_allocated_embed_param(::opencv_caffe::EmbedParameter* embed_param) {
18014   delete embed_param_;
18015   embed_param_ = embed_param;
18016   if (embed_param) {
18017     set_has_embed_param();
18018   } else {
18019     clear_has_embed_param();
18020   }
18021   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.embed_param)
18022 }
18023
18024 // optional .opencv_caffe.ExpParameter exp_param = 111;
18025 inline bool LayerParameter::has_exp_param() const {
18026   return (_has_bits_[0] & 0x10000000u) != 0;
18027 }
18028 inline void LayerParameter::set_has_exp_param() {
18029   _has_bits_[0] |= 0x10000000u;
18030 }
18031 inline void LayerParameter::clear_has_exp_param() {
18032   _has_bits_[0] &= ~0x10000000u;
18033 }
18034 inline void LayerParameter::clear_exp_param() {
18035   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
18036   clear_has_exp_param();
18037 }
18038 inline const ::opencv_caffe::ExpParameter& LayerParameter::exp_param() const {
18039   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exp_param)
18040   return exp_param_ != NULL ? *exp_param_
18041                          : *::opencv_caffe::ExpParameter::internal_default_instance();
18042 }
18043 inline ::opencv_caffe::ExpParameter* LayerParameter::mutable_exp_param() {
18044   set_has_exp_param();
18045   if (exp_param_ == NULL) {
18046     exp_param_ = new ::opencv_caffe::ExpParameter;
18047   }
18048   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exp_param)
18049   return exp_param_;
18050 }
18051 inline ::opencv_caffe::ExpParameter* LayerParameter::release_exp_param() {
18052   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.exp_param)
18053   clear_has_exp_param();
18054   ::opencv_caffe::ExpParameter* temp = exp_param_;
18055   exp_param_ = NULL;
18056   return temp;
18057 }
18058 inline void LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
18059   delete exp_param_;
18060   exp_param_ = exp_param;
18061   if (exp_param) {
18062     set_has_exp_param();
18063   } else {
18064     clear_has_exp_param();
18065   }
18066   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.exp_param)
18067 }
18068
18069 // optional .opencv_caffe.FlattenParameter flatten_param = 135;
18070 inline bool LayerParameter::has_flatten_param() const {
18071   return (_has_bits_[0] & 0x20000000u) != 0;
18072 }
18073 inline void LayerParameter::set_has_flatten_param() {
18074   _has_bits_[0] |= 0x20000000u;
18075 }
18076 inline void LayerParameter::clear_has_flatten_param() {
18077   _has_bits_[0] &= ~0x20000000u;
18078 }
18079 inline void LayerParameter::clear_flatten_param() {
18080   if (flatten_param_ != NULL) flatten_param_->::opencv_caffe::FlattenParameter::Clear();
18081   clear_has_flatten_param();
18082 }
18083 inline const ::opencv_caffe::FlattenParameter& LayerParameter::flatten_param() const {
18084   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.flatten_param)
18085   return flatten_param_ != NULL ? *flatten_param_
18086                          : *::opencv_caffe::FlattenParameter::internal_default_instance();
18087 }
18088 inline ::opencv_caffe::FlattenParameter* LayerParameter::mutable_flatten_param() {
18089   set_has_flatten_param();
18090   if (flatten_param_ == NULL) {
18091     flatten_param_ = new ::opencv_caffe::FlattenParameter;
18092   }
18093   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.flatten_param)
18094   return flatten_param_;
18095 }
18096 inline ::opencv_caffe::FlattenParameter* LayerParameter::release_flatten_param() {
18097   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.flatten_param)
18098   clear_has_flatten_param();
18099   ::opencv_caffe::FlattenParameter* temp = flatten_param_;
18100   flatten_param_ = NULL;
18101   return temp;
18102 }
18103 inline void LayerParameter::set_allocated_flatten_param(::opencv_caffe::FlattenParameter* flatten_param) {
18104   delete flatten_param_;
18105   flatten_param_ = flatten_param;
18106   if (flatten_param) {
18107     set_has_flatten_param();
18108   } else {
18109     clear_has_flatten_param();
18110   }
18111   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.flatten_param)
18112 }
18113
18114 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
18115 inline bool LayerParameter::has_hdf5_data_param() const {
18116   return (_has_bits_[0] & 0x40000000u) != 0;
18117 }
18118 inline void LayerParameter::set_has_hdf5_data_param() {
18119   _has_bits_[0] |= 0x40000000u;
18120 }
18121 inline void LayerParameter::clear_has_hdf5_data_param() {
18122   _has_bits_[0] &= ~0x40000000u;
18123 }
18124 inline void LayerParameter::clear_hdf5_data_param() {
18125   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
18126   clear_has_hdf5_data_param();
18127 }
18128 inline const ::opencv_caffe::HDF5DataParameter& LayerParameter::hdf5_data_param() const {
18129   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_data_param)
18130   return hdf5_data_param_ != NULL ? *hdf5_data_param_
18131                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
18132 }
18133 inline ::opencv_caffe::HDF5DataParameter* LayerParameter::mutable_hdf5_data_param() {
18134   set_has_hdf5_data_param();
18135   if (hdf5_data_param_ == NULL) {
18136     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
18137   }
18138   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_data_param)
18139   return hdf5_data_param_;
18140 }
18141 inline ::opencv_caffe::HDF5DataParameter* LayerParameter::release_hdf5_data_param() {
18142   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_data_param)
18143   clear_has_hdf5_data_param();
18144   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
18145   hdf5_data_param_ = NULL;
18146   return temp;
18147 }
18148 inline void LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
18149   delete hdf5_data_param_;
18150   hdf5_data_param_ = hdf5_data_param;
18151   if (hdf5_data_param) {
18152     set_has_hdf5_data_param();
18153   } else {
18154     clear_has_hdf5_data_param();
18155   }
18156   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_data_param)
18157 }
18158
18159 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
18160 inline bool LayerParameter::has_hdf5_output_param() const {
18161   return (_has_bits_[0] & 0x80000000u) != 0;
18162 }
18163 inline void LayerParameter::set_has_hdf5_output_param() {
18164   _has_bits_[0] |= 0x80000000u;
18165 }
18166 inline void LayerParameter::clear_has_hdf5_output_param() {
18167   _has_bits_[0] &= ~0x80000000u;
18168 }
18169 inline void LayerParameter::clear_hdf5_output_param() {
18170   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
18171   clear_has_hdf5_output_param();
18172 }
18173 inline const ::opencv_caffe::HDF5OutputParameter& LayerParameter::hdf5_output_param() const {
18174   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_output_param)
18175   return hdf5_output_param_ != NULL ? *hdf5_output_param_
18176                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
18177 }
18178 inline ::opencv_caffe::HDF5OutputParameter* LayerParameter::mutable_hdf5_output_param() {
18179   set_has_hdf5_output_param();
18180   if (hdf5_output_param_ == NULL) {
18181     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
18182   }
18183   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_output_param)
18184   return hdf5_output_param_;
18185 }
18186 inline ::opencv_caffe::HDF5OutputParameter* LayerParameter::release_hdf5_output_param() {
18187   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_output_param)
18188   clear_has_hdf5_output_param();
18189   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
18190   hdf5_output_param_ = NULL;
18191   return temp;
18192 }
18193 inline void LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
18194   delete hdf5_output_param_;
18195   hdf5_output_param_ = hdf5_output_param;
18196   if (hdf5_output_param) {
18197     set_has_hdf5_output_param();
18198   } else {
18199     clear_has_hdf5_output_param();
18200   }
18201   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_output_param)
18202 }
18203
18204 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
18205 inline bool LayerParameter::has_hinge_loss_param() const {
18206   return (_has_bits_[1] & 0x00000001u) != 0;
18207 }
18208 inline void LayerParameter::set_has_hinge_loss_param() {
18209   _has_bits_[1] |= 0x00000001u;
18210 }
18211 inline void LayerParameter::clear_has_hinge_loss_param() {
18212   _has_bits_[1] &= ~0x00000001u;
18213 }
18214 inline void LayerParameter::clear_hinge_loss_param() {
18215   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
18216   clear_has_hinge_loss_param();
18217 }
18218 inline const ::opencv_caffe::HingeLossParameter& LayerParameter::hinge_loss_param() const {
18219   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hinge_loss_param)
18220   return hinge_loss_param_ != NULL ? *hinge_loss_param_
18221                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
18222 }
18223 inline ::opencv_caffe::HingeLossParameter* LayerParameter::mutable_hinge_loss_param() {
18224   set_has_hinge_loss_param();
18225   if (hinge_loss_param_ == NULL) {
18226     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
18227   }
18228   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hinge_loss_param)
18229   return hinge_loss_param_;
18230 }
18231 inline ::opencv_caffe::HingeLossParameter* LayerParameter::release_hinge_loss_param() {
18232   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hinge_loss_param)
18233   clear_has_hinge_loss_param();
18234   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
18235   hinge_loss_param_ = NULL;
18236   return temp;
18237 }
18238 inline void LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
18239   delete hinge_loss_param_;
18240   hinge_loss_param_ = hinge_loss_param;
18241   if (hinge_loss_param) {
18242     set_has_hinge_loss_param();
18243   } else {
18244     clear_has_hinge_loss_param();
18245   }
18246   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hinge_loss_param)
18247 }
18248
18249 // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
18250 inline bool LayerParameter::has_image_data_param() const {
18251   return (_has_bits_[1] & 0x00000002u) != 0;
18252 }
18253 inline void LayerParameter::set_has_image_data_param() {
18254   _has_bits_[1] |= 0x00000002u;
18255 }
18256 inline void LayerParameter::clear_has_image_data_param() {
18257   _has_bits_[1] &= ~0x00000002u;
18258 }
18259 inline void LayerParameter::clear_image_data_param() {
18260   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
18261   clear_has_image_data_param();
18262 }
18263 inline const ::opencv_caffe::ImageDataParameter& LayerParameter::image_data_param() const {
18264   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.image_data_param)
18265   return image_data_param_ != NULL ? *image_data_param_
18266                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
18267 }
18268 inline ::opencv_caffe::ImageDataParameter* LayerParameter::mutable_image_data_param() {
18269   set_has_image_data_param();
18270   if (image_data_param_ == NULL) {
18271     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
18272   }
18273   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.image_data_param)
18274   return image_data_param_;
18275 }
18276 inline ::opencv_caffe::ImageDataParameter* LayerParameter::release_image_data_param() {
18277   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.image_data_param)
18278   clear_has_image_data_param();
18279   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
18280   image_data_param_ = NULL;
18281   return temp;
18282 }
18283 inline void LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
18284   delete image_data_param_;
18285   image_data_param_ = image_data_param;
18286   if (image_data_param) {
18287     set_has_image_data_param();
18288   } else {
18289     clear_has_image_data_param();
18290   }
18291   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.image_data_param)
18292 }
18293
18294 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
18295 inline bool LayerParameter::has_infogain_loss_param() const {
18296   return (_has_bits_[1] & 0x00000004u) != 0;
18297 }
18298 inline void LayerParameter::set_has_infogain_loss_param() {
18299   _has_bits_[1] |= 0x00000004u;
18300 }
18301 inline void LayerParameter::clear_has_infogain_loss_param() {
18302   _has_bits_[1] &= ~0x00000004u;
18303 }
18304 inline void LayerParameter::clear_infogain_loss_param() {
18305   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
18306   clear_has_infogain_loss_param();
18307 }
18308 inline const ::opencv_caffe::InfogainLossParameter& LayerParameter::infogain_loss_param() const {
18309   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.infogain_loss_param)
18310   return infogain_loss_param_ != NULL ? *infogain_loss_param_
18311                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
18312 }
18313 inline ::opencv_caffe::InfogainLossParameter* LayerParameter::mutable_infogain_loss_param() {
18314   set_has_infogain_loss_param();
18315   if (infogain_loss_param_ == NULL) {
18316     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
18317   }
18318   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.infogain_loss_param)
18319   return infogain_loss_param_;
18320 }
18321 inline ::opencv_caffe::InfogainLossParameter* LayerParameter::release_infogain_loss_param() {
18322   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.infogain_loss_param)
18323   clear_has_infogain_loss_param();
18324   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
18325   infogain_loss_param_ = NULL;
18326   return temp;
18327 }
18328 inline void LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
18329   delete infogain_loss_param_;
18330   infogain_loss_param_ = infogain_loss_param;
18331   if (infogain_loss_param) {
18332     set_has_infogain_loss_param();
18333   } else {
18334     clear_has_infogain_loss_param();
18335   }
18336   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.infogain_loss_param)
18337 }
18338
18339 // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
18340 inline bool LayerParameter::has_inner_product_param() const {
18341   return (_has_bits_[1] & 0x00000008u) != 0;
18342 }
18343 inline void LayerParameter::set_has_inner_product_param() {
18344   _has_bits_[1] |= 0x00000008u;
18345 }
18346 inline void LayerParameter::clear_has_inner_product_param() {
18347   _has_bits_[1] &= ~0x00000008u;
18348 }
18349 inline void LayerParameter::clear_inner_product_param() {
18350   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
18351   clear_has_inner_product_param();
18352 }
18353 inline const ::opencv_caffe::InnerProductParameter& LayerParameter::inner_product_param() const {
18354   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.inner_product_param)
18355   return inner_product_param_ != NULL ? *inner_product_param_
18356                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
18357 }
18358 inline ::opencv_caffe::InnerProductParameter* LayerParameter::mutable_inner_product_param() {
18359   set_has_inner_product_param();
18360   if (inner_product_param_ == NULL) {
18361     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
18362   }
18363   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.inner_product_param)
18364   return inner_product_param_;
18365 }
18366 inline ::opencv_caffe::InnerProductParameter* LayerParameter::release_inner_product_param() {
18367   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.inner_product_param)
18368   clear_has_inner_product_param();
18369   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
18370   inner_product_param_ = NULL;
18371   return temp;
18372 }
18373 inline void LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
18374   delete inner_product_param_;
18375   inner_product_param_ = inner_product_param;
18376   if (inner_product_param) {
18377     set_has_inner_product_param();
18378   } else {
18379     clear_has_inner_product_param();
18380   }
18381   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.inner_product_param)
18382 }
18383
18384 // optional .opencv_caffe.InputParameter input_param = 143;
18385 inline bool LayerParameter::has_input_param() const {
18386   return (_has_bits_[1] & 0x00000010u) != 0;
18387 }
18388 inline void LayerParameter::set_has_input_param() {
18389   _has_bits_[1] |= 0x00000010u;
18390 }
18391 inline void LayerParameter::clear_has_input_param() {
18392   _has_bits_[1] &= ~0x00000010u;
18393 }
18394 inline void LayerParameter::clear_input_param() {
18395   if (input_param_ != NULL) input_param_->::opencv_caffe::InputParameter::Clear();
18396   clear_has_input_param();
18397 }
18398 inline const ::opencv_caffe::InputParameter& LayerParameter::input_param() const {
18399   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.input_param)
18400   return input_param_ != NULL ? *input_param_
18401                          : *::opencv_caffe::InputParameter::internal_default_instance();
18402 }
18403 inline ::opencv_caffe::InputParameter* LayerParameter::mutable_input_param() {
18404   set_has_input_param();
18405   if (input_param_ == NULL) {
18406     input_param_ = new ::opencv_caffe::InputParameter;
18407   }
18408   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.input_param)
18409   return input_param_;
18410 }
18411 inline ::opencv_caffe::InputParameter* LayerParameter::release_input_param() {
18412   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.input_param)
18413   clear_has_input_param();
18414   ::opencv_caffe::InputParameter* temp = input_param_;
18415   input_param_ = NULL;
18416   return temp;
18417 }
18418 inline void LayerParameter::set_allocated_input_param(::opencv_caffe::InputParameter* input_param) {
18419   delete input_param_;
18420   input_param_ = input_param;
18421   if (input_param) {
18422     set_has_input_param();
18423   } else {
18424     clear_has_input_param();
18425   }
18426   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.input_param)
18427 }
18428
18429 // optional .opencv_caffe.LogParameter log_param = 134;
18430 inline bool LayerParameter::has_log_param() const {
18431   return (_has_bits_[1] & 0x00000020u) != 0;
18432 }
18433 inline void LayerParameter::set_has_log_param() {
18434   _has_bits_[1] |= 0x00000020u;
18435 }
18436 inline void LayerParameter::clear_has_log_param() {
18437   _has_bits_[1] &= ~0x00000020u;
18438 }
18439 inline void LayerParameter::clear_log_param() {
18440   if (log_param_ != NULL) log_param_->::opencv_caffe::LogParameter::Clear();
18441   clear_has_log_param();
18442 }
18443 inline const ::opencv_caffe::LogParameter& LayerParameter::log_param() const {
18444   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.log_param)
18445   return log_param_ != NULL ? *log_param_
18446                          : *::opencv_caffe::LogParameter::internal_default_instance();
18447 }
18448 inline ::opencv_caffe::LogParameter* LayerParameter::mutable_log_param() {
18449   set_has_log_param();
18450   if (log_param_ == NULL) {
18451     log_param_ = new ::opencv_caffe::LogParameter;
18452   }
18453   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.log_param)
18454   return log_param_;
18455 }
18456 inline ::opencv_caffe::LogParameter* LayerParameter::release_log_param() {
18457   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.log_param)
18458   clear_has_log_param();
18459   ::opencv_caffe::LogParameter* temp = log_param_;
18460   log_param_ = NULL;
18461   return temp;
18462 }
18463 inline void LayerParameter::set_allocated_log_param(::opencv_caffe::LogParameter* log_param) {
18464   delete log_param_;
18465   log_param_ = log_param;
18466   if (log_param) {
18467     set_has_log_param();
18468   } else {
18469     clear_has_log_param();
18470   }
18471   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.log_param)
18472 }
18473
18474 // optional .opencv_caffe.LRNParameter lrn_param = 118;
18475 inline bool LayerParameter::has_lrn_param() const {
18476   return (_has_bits_[1] & 0x00000040u) != 0;
18477 }
18478 inline void LayerParameter::set_has_lrn_param() {
18479   _has_bits_[1] |= 0x00000040u;
18480 }
18481 inline void LayerParameter::clear_has_lrn_param() {
18482   _has_bits_[1] &= ~0x00000040u;
18483 }
18484 inline void LayerParameter::clear_lrn_param() {
18485   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
18486   clear_has_lrn_param();
18487 }
18488 inline const ::opencv_caffe::LRNParameter& LayerParameter::lrn_param() const {
18489   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.lrn_param)
18490   return lrn_param_ != NULL ? *lrn_param_
18491                          : *::opencv_caffe::LRNParameter::internal_default_instance();
18492 }
18493 inline ::opencv_caffe::LRNParameter* LayerParameter::mutable_lrn_param() {
18494   set_has_lrn_param();
18495   if (lrn_param_ == NULL) {
18496     lrn_param_ = new ::opencv_caffe::LRNParameter;
18497   }
18498   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.lrn_param)
18499   return lrn_param_;
18500 }
18501 inline ::opencv_caffe::LRNParameter* LayerParameter::release_lrn_param() {
18502   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.lrn_param)
18503   clear_has_lrn_param();
18504   ::opencv_caffe::LRNParameter* temp = lrn_param_;
18505   lrn_param_ = NULL;
18506   return temp;
18507 }
18508 inline void LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
18509   delete lrn_param_;
18510   lrn_param_ = lrn_param;
18511   if (lrn_param) {
18512     set_has_lrn_param();
18513   } else {
18514     clear_has_lrn_param();
18515   }
18516   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.lrn_param)
18517 }
18518
18519 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
18520 inline bool LayerParameter::has_memory_data_param() const {
18521   return (_has_bits_[1] & 0x00000080u) != 0;
18522 }
18523 inline void LayerParameter::set_has_memory_data_param() {
18524   _has_bits_[1] |= 0x00000080u;
18525 }
18526 inline void LayerParameter::clear_has_memory_data_param() {
18527   _has_bits_[1] &= ~0x00000080u;
18528 }
18529 inline void LayerParameter::clear_memory_data_param() {
18530   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
18531   clear_has_memory_data_param();
18532 }
18533 inline const ::opencv_caffe::MemoryDataParameter& LayerParameter::memory_data_param() const {
18534   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.memory_data_param)
18535   return memory_data_param_ != NULL ? *memory_data_param_
18536                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
18537 }
18538 inline ::opencv_caffe::MemoryDataParameter* LayerParameter::mutable_memory_data_param() {
18539   set_has_memory_data_param();
18540   if (memory_data_param_ == NULL) {
18541     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
18542   }
18543   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.memory_data_param)
18544   return memory_data_param_;
18545 }
18546 inline ::opencv_caffe::MemoryDataParameter* LayerParameter::release_memory_data_param() {
18547   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.memory_data_param)
18548   clear_has_memory_data_param();
18549   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
18550   memory_data_param_ = NULL;
18551   return temp;
18552 }
18553 inline void LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
18554   delete memory_data_param_;
18555   memory_data_param_ = memory_data_param;
18556   if (memory_data_param) {
18557     set_has_memory_data_param();
18558   } else {
18559     clear_has_memory_data_param();
18560   }
18561   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.memory_data_param)
18562 }
18563
18564 // optional .opencv_caffe.MVNParameter mvn_param = 120;
18565 inline bool LayerParameter::has_mvn_param() const {
18566   return (_has_bits_[1] & 0x00000100u) != 0;
18567 }
18568 inline void LayerParameter::set_has_mvn_param() {
18569   _has_bits_[1] |= 0x00000100u;
18570 }
18571 inline void LayerParameter::clear_has_mvn_param() {
18572   _has_bits_[1] &= ~0x00000100u;
18573 }
18574 inline void LayerParameter::clear_mvn_param() {
18575   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
18576   clear_has_mvn_param();
18577 }
18578 inline const ::opencv_caffe::MVNParameter& LayerParameter::mvn_param() const {
18579   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.mvn_param)
18580   return mvn_param_ != NULL ? *mvn_param_
18581                          : *::opencv_caffe::MVNParameter::internal_default_instance();
18582 }
18583 inline ::opencv_caffe::MVNParameter* LayerParameter::mutable_mvn_param() {
18584   set_has_mvn_param();
18585   if (mvn_param_ == NULL) {
18586     mvn_param_ = new ::opencv_caffe::MVNParameter;
18587   }
18588   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.mvn_param)
18589   return mvn_param_;
18590 }
18591 inline ::opencv_caffe::MVNParameter* LayerParameter::release_mvn_param() {
18592   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.mvn_param)
18593   clear_has_mvn_param();
18594   ::opencv_caffe::MVNParameter* temp = mvn_param_;
18595   mvn_param_ = NULL;
18596   return temp;
18597 }
18598 inline void LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
18599   delete mvn_param_;
18600   mvn_param_ = mvn_param;
18601   if (mvn_param) {
18602     set_has_mvn_param();
18603   } else {
18604     clear_has_mvn_param();
18605   }
18606   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.mvn_param)
18607 }
18608
18609 // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
18610 inline bool LayerParameter::has_norm_param() const {
18611   return (_has_bits_[1] & 0x00000200u) != 0;
18612 }
18613 inline void LayerParameter::set_has_norm_param() {
18614   _has_bits_[1] |= 0x00000200u;
18615 }
18616 inline void LayerParameter::clear_has_norm_param() {
18617   _has_bits_[1] &= ~0x00000200u;
18618 }
18619 inline void LayerParameter::clear_norm_param() {
18620   if (norm_param_ != NULL) norm_param_->::opencv_caffe::NormalizeBBoxParameter::Clear();
18621   clear_has_norm_param();
18622 }
18623 inline const ::opencv_caffe::NormalizeBBoxParameter& LayerParameter::norm_param() const {
18624   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.norm_param)
18625   return norm_param_ != NULL ? *norm_param_
18626                          : *::opencv_caffe::NormalizeBBoxParameter::internal_default_instance();
18627 }
18628 inline ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::mutable_norm_param() {
18629   set_has_norm_param();
18630   if (norm_param_ == NULL) {
18631     norm_param_ = new ::opencv_caffe::NormalizeBBoxParameter;
18632   }
18633   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.norm_param)
18634   return norm_param_;
18635 }
18636 inline ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::release_norm_param() {
18637   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.norm_param)
18638   clear_has_norm_param();
18639   ::opencv_caffe::NormalizeBBoxParameter* temp = norm_param_;
18640   norm_param_ = NULL;
18641   return temp;
18642 }
18643 inline void LayerParameter::set_allocated_norm_param(::opencv_caffe::NormalizeBBoxParameter* norm_param) {
18644   delete norm_param_;
18645   norm_param_ = norm_param;
18646   if (norm_param) {
18647     set_has_norm_param();
18648   } else {
18649     clear_has_norm_param();
18650   }
18651   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.norm_param)
18652 }
18653
18654 // optional .opencv_caffe.PermuteParameter permute_param = 148;
18655 inline bool LayerParameter::has_permute_param() const {
18656   return (_has_bits_[1] & 0x00000400u) != 0;
18657 }
18658 inline void LayerParameter::set_has_permute_param() {
18659   _has_bits_[1] |= 0x00000400u;
18660 }
18661 inline void LayerParameter::clear_has_permute_param() {
18662   _has_bits_[1] &= ~0x00000400u;
18663 }
18664 inline void LayerParameter::clear_permute_param() {
18665   if (permute_param_ != NULL) permute_param_->::opencv_caffe::PermuteParameter::Clear();
18666   clear_has_permute_param();
18667 }
18668 inline const ::opencv_caffe::PermuteParameter& LayerParameter::permute_param() const {
18669   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.permute_param)
18670   return permute_param_ != NULL ? *permute_param_
18671                          : *::opencv_caffe::PermuteParameter::internal_default_instance();
18672 }
18673 inline ::opencv_caffe::PermuteParameter* LayerParameter::mutable_permute_param() {
18674   set_has_permute_param();
18675   if (permute_param_ == NULL) {
18676     permute_param_ = new ::opencv_caffe::PermuteParameter;
18677   }
18678   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.permute_param)
18679   return permute_param_;
18680 }
18681 inline ::opencv_caffe::PermuteParameter* LayerParameter::release_permute_param() {
18682   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.permute_param)
18683   clear_has_permute_param();
18684   ::opencv_caffe::PermuteParameter* temp = permute_param_;
18685   permute_param_ = NULL;
18686   return temp;
18687 }
18688 inline void LayerParameter::set_allocated_permute_param(::opencv_caffe::PermuteParameter* permute_param) {
18689   delete permute_param_;
18690   permute_param_ = permute_param;
18691   if (permute_param) {
18692     set_has_permute_param();
18693   } else {
18694     clear_has_permute_param();
18695   }
18696   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.permute_param)
18697 }
18698
18699 // optional .opencv_caffe.ParameterParameter parameter_param = 145;
18700 inline bool LayerParameter::has_parameter_param() const {
18701   return (_has_bits_[1] & 0x00000800u) != 0;
18702 }
18703 inline void LayerParameter::set_has_parameter_param() {
18704   _has_bits_[1] |= 0x00000800u;
18705 }
18706 inline void LayerParameter::clear_has_parameter_param() {
18707   _has_bits_[1] &= ~0x00000800u;
18708 }
18709 inline void LayerParameter::clear_parameter_param() {
18710   if (parameter_param_ != NULL) parameter_param_->::opencv_caffe::ParameterParameter::Clear();
18711   clear_has_parameter_param();
18712 }
18713 inline const ::opencv_caffe::ParameterParameter& LayerParameter::parameter_param() const {
18714   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.parameter_param)
18715   return parameter_param_ != NULL ? *parameter_param_
18716                          : *::opencv_caffe::ParameterParameter::internal_default_instance();
18717 }
18718 inline ::opencv_caffe::ParameterParameter* LayerParameter::mutable_parameter_param() {
18719   set_has_parameter_param();
18720   if (parameter_param_ == NULL) {
18721     parameter_param_ = new ::opencv_caffe::ParameterParameter;
18722   }
18723   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.parameter_param)
18724   return parameter_param_;
18725 }
18726 inline ::opencv_caffe::ParameterParameter* LayerParameter::release_parameter_param() {
18727   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.parameter_param)
18728   clear_has_parameter_param();
18729   ::opencv_caffe::ParameterParameter* temp = parameter_param_;
18730   parameter_param_ = NULL;
18731   return temp;
18732 }
18733 inline void LayerParameter::set_allocated_parameter_param(::opencv_caffe::ParameterParameter* parameter_param) {
18734   delete parameter_param_;
18735   parameter_param_ = parameter_param;
18736   if (parameter_param) {
18737     set_has_parameter_param();
18738   } else {
18739     clear_has_parameter_param();
18740   }
18741   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.parameter_param)
18742 }
18743
18744 // optional .opencv_caffe.PoolingParameter pooling_param = 121;
18745 inline bool LayerParameter::has_pooling_param() const {
18746   return (_has_bits_[1] & 0x00001000u) != 0;
18747 }
18748 inline void LayerParameter::set_has_pooling_param() {
18749   _has_bits_[1] |= 0x00001000u;
18750 }
18751 inline void LayerParameter::clear_has_pooling_param() {
18752   _has_bits_[1] &= ~0x00001000u;
18753 }
18754 inline void LayerParameter::clear_pooling_param() {
18755   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
18756   clear_has_pooling_param();
18757 }
18758 inline const ::opencv_caffe::PoolingParameter& LayerParameter::pooling_param() const {
18759   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.pooling_param)
18760   return pooling_param_ != NULL ? *pooling_param_
18761                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
18762 }
18763 inline ::opencv_caffe::PoolingParameter* LayerParameter::mutable_pooling_param() {
18764   set_has_pooling_param();
18765   if (pooling_param_ == NULL) {
18766     pooling_param_ = new ::opencv_caffe::PoolingParameter;
18767   }
18768   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.pooling_param)
18769   return pooling_param_;
18770 }
18771 inline ::opencv_caffe::PoolingParameter* LayerParameter::release_pooling_param() {
18772   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.pooling_param)
18773   clear_has_pooling_param();
18774   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
18775   pooling_param_ = NULL;
18776   return temp;
18777 }
18778 inline void LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
18779   delete pooling_param_;
18780   pooling_param_ = pooling_param;
18781   if (pooling_param) {
18782     set_has_pooling_param();
18783   } else {
18784     clear_has_pooling_param();
18785   }
18786   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.pooling_param)
18787 }
18788
18789 // optional .opencv_caffe.PowerParameter power_param = 122;
18790 inline bool LayerParameter::has_power_param() const {
18791   return (_has_bits_[1] & 0x00002000u) != 0;
18792 }
18793 inline void LayerParameter::set_has_power_param() {
18794   _has_bits_[1] |= 0x00002000u;
18795 }
18796 inline void LayerParameter::clear_has_power_param() {
18797   _has_bits_[1] &= ~0x00002000u;
18798 }
18799 inline void LayerParameter::clear_power_param() {
18800   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
18801   clear_has_power_param();
18802 }
18803 inline const ::opencv_caffe::PowerParameter& LayerParameter::power_param() const {
18804   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.power_param)
18805   return power_param_ != NULL ? *power_param_
18806                          : *::opencv_caffe::PowerParameter::internal_default_instance();
18807 }
18808 inline ::opencv_caffe::PowerParameter* LayerParameter::mutable_power_param() {
18809   set_has_power_param();
18810   if (power_param_ == NULL) {
18811     power_param_ = new ::opencv_caffe::PowerParameter;
18812   }
18813   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.power_param)
18814   return power_param_;
18815 }
18816 inline ::opencv_caffe::PowerParameter* LayerParameter::release_power_param() {
18817   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.power_param)
18818   clear_has_power_param();
18819   ::opencv_caffe::PowerParameter* temp = power_param_;
18820   power_param_ = NULL;
18821   return temp;
18822 }
18823 inline void LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
18824   delete power_param_;
18825   power_param_ = power_param;
18826   if (power_param) {
18827     set_has_power_param();
18828   } else {
18829     clear_has_power_param();
18830   }
18831   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.power_param)
18832 }
18833
18834 // optional .opencv_caffe.PReLUParameter prelu_param = 131;
18835 inline bool LayerParameter::has_prelu_param() const {
18836   return (_has_bits_[1] & 0x00004000u) != 0;
18837 }
18838 inline void LayerParameter::set_has_prelu_param() {
18839   _has_bits_[1] |= 0x00004000u;
18840 }
18841 inline void LayerParameter::clear_has_prelu_param() {
18842   _has_bits_[1] &= ~0x00004000u;
18843 }
18844 inline void LayerParameter::clear_prelu_param() {
18845   if (prelu_param_ != NULL) prelu_param_->::opencv_caffe::PReLUParameter::Clear();
18846   clear_has_prelu_param();
18847 }
18848 inline const ::opencv_caffe::PReLUParameter& LayerParameter::prelu_param() const {
18849   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prelu_param)
18850   return prelu_param_ != NULL ? *prelu_param_
18851                          : *::opencv_caffe::PReLUParameter::internal_default_instance();
18852 }
18853 inline ::opencv_caffe::PReLUParameter* LayerParameter::mutable_prelu_param() {
18854   set_has_prelu_param();
18855   if (prelu_param_ == NULL) {
18856     prelu_param_ = new ::opencv_caffe::PReLUParameter;
18857   }
18858   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prelu_param)
18859   return prelu_param_;
18860 }
18861 inline ::opencv_caffe::PReLUParameter* LayerParameter::release_prelu_param() {
18862   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prelu_param)
18863   clear_has_prelu_param();
18864   ::opencv_caffe::PReLUParameter* temp = prelu_param_;
18865   prelu_param_ = NULL;
18866   return temp;
18867 }
18868 inline void LayerParameter::set_allocated_prelu_param(::opencv_caffe::PReLUParameter* prelu_param) {
18869   delete prelu_param_;
18870   prelu_param_ = prelu_param;
18871   if (prelu_param) {
18872     set_has_prelu_param();
18873   } else {
18874     clear_has_prelu_param();
18875   }
18876   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prelu_param)
18877 }
18878
18879 // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
18880 inline bool LayerParameter::has_prior_box_param() const {
18881   return (_has_bits_[1] & 0x00008000u) != 0;
18882 }
18883 inline void LayerParameter::set_has_prior_box_param() {
18884   _has_bits_[1] |= 0x00008000u;
18885 }
18886 inline void LayerParameter::clear_has_prior_box_param() {
18887   _has_bits_[1] &= ~0x00008000u;
18888 }
18889 inline void LayerParameter::clear_prior_box_param() {
18890   if (prior_box_param_ != NULL) prior_box_param_->::opencv_caffe::PriorBoxParameter::Clear();
18891   clear_has_prior_box_param();
18892 }
18893 inline const ::opencv_caffe::PriorBoxParameter& LayerParameter::prior_box_param() const {
18894   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prior_box_param)
18895   return prior_box_param_ != NULL ? *prior_box_param_
18896                          : *::opencv_caffe::PriorBoxParameter::internal_default_instance();
18897 }
18898 inline ::opencv_caffe::PriorBoxParameter* LayerParameter::mutable_prior_box_param() {
18899   set_has_prior_box_param();
18900   if (prior_box_param_ == NULL) {
18901     prior_box_param_ = new ::opencv_caffe::PriorBoxParameter;
18902   }
18903   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prior_box_param)
18904   return prior_box_param_;
18905 }
18906 inline ::opencv_caffe::PriorBoxParameter* LayerParameter::release_prior_box_param() {
18907   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prior_box_param)
18908   clear_has_prior_box_param();
18909   ::opencv_caffe::PriorBoxParameter* temp = prior_box_param_;
18910   prior_box_param_ = NULL;
18911   return temp;
18912 }
18913 inline void LayerParameter::set_allocated_prior_box_param(::opencv_caffe::PriorBoxParameter* prior_box_param) {
18914   delete prior_box_param_;
18915   prior_box_param_ = prior_box_param;
18916   if (prior_box_param) {
18917     set_has_prior_box_param();
18918   } else {
18919     clear_has_prior_box_param();
18920   }
18921   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prior_box_param)
18922 }
18923
18924 // optional .opencv_caffe.PythonParameter python_param = 130;
18925 inline bool LayerParameter::has_python_param() const {
18926   return (_has_bits_[1] & 0x00010000u) != 0;
18927 }
18928 inline void LayerParameter::set_has_python_param() {
18929   _has_bits_[1] |= 0x00010000u;
18930 }
18931 inline void LayerParameter::clear_has_python_param() {
18932   _has_bits_[1] &= ~0x00010000u;
18933 }
18934 inline void LayerParameter::clear_python_param() {
18935   if (python_param_ != NULL) python_param_->::opencv_caffe::PythonParameter::Clear();
18936   clear_has_python_param();
18937 }
18938 inline const ::opencv_caffe::PythonParameter& LayerParameter::python_param() const {
18939   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.python_param)
18940   return python_param_ != NULL ? *python_param_
18941                          : *::opencv_caffe::PythonParameter::internal_default_instance();
18942 }
18943 inline ::opencv_caffe::PythonParameter* LayerParameter::mutable_python_param() {
18944   set_has_python_param();
18945   if (python_param_ == NULL) {
18946     python_param_ = new ::opencv_caffe::PythonParameter;
18947   }
18948   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.python_param)
18949   return python_param_;
18950 }
18951 inline ::opencv_caffe::PythonParameter* LayerParameter::release_python_param() {
18952   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.python_param)
18953   clear_has_python_param();
18954   ::opencv_caffe::PythonParameter* temp = python_param_;
18955   python_param_ = NULL;
18956   return temp;
18957 }
18958 inline void LayerParameter::set_allocated_python_param(::opencv_caffe::PythonParameter* python_param) {
18959   delete python_param_;
18960   python_param_ = python_param;
18961   if (python_param) {
18962     set_has_python_param();
18963   } else {
18964     clear_has_python_param();
18965   }
18966   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.python_param)
18967 }
18968
18969 // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
18970 inline bool LayerParameter::has_recurrent_param() const {
18971   return (_has_bits_[1] & 0x00020000u) != 0;
18972 }
18973 inline void LayerParameter::set_has_recurrent_param() {
18974   _has_bits_[1] |= 0x00020000u;
18975 }
18976 inline void LayerParameter::clear_has_recurrent_param() {
18977   _has_bits_[1] &= ~0x00020000u;
18978 }
18979 inline void LayerParameter::clear_recurrent_param() {
18980   if (recurrent_param_ != NULL) recurrent_param_->::opencv_caffe::RecurrentParameter::Clear();
18981   clear_has_recurrent_param();
18982 }
18983 inline const ::opencv_caffe::RecurrentParameter& LayerParameter::recurrent_param() const {
18984   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.recurrent_param)
18985   return recurrent_param_ != NULL ? *recurrent_param_
18986                          : *::opencv_caffe::RecurrentParameter::internal_default_instance();
18987 }
18988 inline ::opencv_caffe::RecurrentParameter* LayerParameter::mutable_recurrent_param() {
18989   set_has_recurrent_param();
18990   if (recurrent_param_ == NULL) {
18991     recurrent_param_ = new ::opencv_caffe::RecurrentParameter;
18992   }
18993   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.recurrent_param)
18994   return recurrent_param_;
18995 }
18996 inline ::opencv_caffe::RecurrentParameter* LayerParameter::release_recurrent_param() {
18997   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.recurrent_param)
18998   clear_has_recurrent_param();
18999   ::opencv_caffe::RecurrentParameter* temp = recurrent_param_;
19000   recurrent_param_ = NULL;
19001   return temp;
19002 }
19003 inline void LayerParameter::set_allocated_recurrent_param(::opencv_caffe::RecurrentParameter* recurrent_param) {
19004   delete recurrent_param_;
19005   recurrent_param_ = recurrent_param;
19006   if (recurrent_param) {
19007     set_has_recurrent_param();
19008   } else {
19009     clear_has_recurrent_param();
19010   }
19011   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.recurrent_param)
19012 }
19013
19014 // optional .opencv_caffe.ReductionParameter reduction_param = 136;
19015 inline bool LayerParameter::has_reduction_param() const {
19016   return (_has_bits_[1] & 0x00040000u) != 0;
19017 }
19018 inline void LayerParameter::set_has_reduction_param() {
19019   _has_bits_[1] |= 0x00040000u;
19020 }
19021 inline void LayerParameter::clear_has_reduction_param() {
19022   _has_bits_[1] &= ~0x00040000u;
19023 }
19024 inline void LayerParameter::clear_reduction_param() {
19025   if (reduction_param_ != NULL) reduction_param_->::opencv_caffe::ReductionParameter::Clear();
19026   clear_has_reduction_param();
19027 }
19028 inline const ::opencv_caffe::ReductionParameter& LayerParameter::reduction_param() const {
19029   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reduction_param)
19030   return reduction_param_ != NULL ? *reduction_param_
19031                          : *::opencv_caffe::ReductionParameter::internal_default_instance();
19032 }
19033 inline ::opencv_caffe::ReductionParameter* LayerParameter::mutable_reduction_param() {
19034   set_has_reduction_param();
19035   if (reduction_param_ == NULL) {
19036     reduction_param_ = new ::opencv_caffe::ReductionParameter;
19037   }
19038   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reduction_param)
19039   return reduction_param_;
19040 }
19041 inline ::opencv_caffe::ReductionParameter* LayerParameter::release_reduction_param() {
19042   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reduction_param)
19043   clear_has_reduction_param();
19044   ::opencv_caffe::ReductionParameter* temp = reduction_param_;
19045   reduction_param_ = NULL;
19046   return temp;
19047 }
19048 inline void LayerParameter::set_allocated_reduction_param(::opencv_caffe::ReductionParameter* reduction_param) {
19049   delete reduction_param_;
19050   reduction_param_ = reduction_param;
19051   if (reduction_param) {
19052     set_has_reduction_param();
19053   } else {
19054     clear_has_reduction_param();
19055   }
19056   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reduction_param)
19057 }
19058
19059 // optional .opencv_caffe.ReLUParameter relu_param = 123;
19060 inline bool LayerParameter::has_relu_param() const {
19061   return (_has_bits_[1] & 0x00080000u) != 0;
19062 }
19063 inline void LayerParameter::set_has_relu_param() {
19064   _has_bits_[1] |= 0x00080000u;
19065 }
19066 inline void LayerParameter::clear_has_relu_param() {
19067   _has_bits_[1] &= ~0x00080000u;
19068 }
19069 inline void LayerParameter::clear_relu_param() {
19070   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
19071   clear_has_relu_param();
19072 }
19073 inline const ::opencv_caffe::ReLUParameter& LayerParameter::relu_param() const {
19074   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.relu_param)
19075   return relu_param_ != NULL ? *relu_param_
19076                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
19077 }
19078 inline ::opencv_caffe::ReLUParameter* LayerParameter::mutable_relu_param() {
19079   set_has_relu_param();
19080   if (relu_param_ == NULL) {
19081     relu_param_ = new ::opencv_caffe::ReLUParameter;
19082   }
19083   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.relu_param)
19084   return relu_param_;
19085 }
19086 inline ::opencv_caffe::ReLUParameter* LayerParameter::release_relu_param() {
19087   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.relu_param)
19088   clear_has_relu_param();
19089   ::opencv_caffe::ReLUParameter* temp = relu_param_;
19090   relu_param_ = NULL;
19091   return temp;
19092 }
19093 inline void LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
19094   delete relu_param_;
19095   relu_param_ = relu_param;
19096   if (relu_param) {
19097     set_has_relu_param();
19098   } else {
19099     clear_has_relu_param();
19100   }
19101   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.relu_param)
19102 }
19103
19104 // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
19105 inline bool LayerParameter::has_reshape_param() const {
19106   return (_has_bits_[1] & 0x00100000u) != 0;
19107 }
19108 inline void LayerParameter::set_has_reshape_param() {
19109   _has_bits_[1] |= 0x00100000u;
19110 }
19111 inline void LayerParameter::clear_has_reshape_param() {
19112   _has_bits_[1] &= ~0x00100000u;
19113 }
19114 inline void LayerParameter::clear_reshape_param() {
19115   if (reshape_param_ != NULL) reshape_param_->::opencv_caffe::ReshapeParameter::Clear();
19116   clear_has_reshape_param();
19117 }
19118 inline const ::opencv_caffe::ReshapeParameter& LayerParameter::reshape_param() const {
19119   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reshape_param)
19120   return reshape_param_ != NULL ? *reshape_param_
19121                          : *::opencv_caffe::ReshapeParameter::internal_default_instance();
19122 }
19123 inline ::opencv_caffe::ReshapeParameter* LayerParameter::mutable_reshape_param() {
19124   set_has_reshape_param();
19125   if (reshape_param_ == NULL) {
19126     reshape_param_ = new ::opencv_caffe::ReshapeParameter;
19127   }
19128   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reshape_param)
19129   return reshape_param_;
19130 }
19131 inline ::opencv_caffe::ReshapeParameter* LayerParameter::release_reshape_param() {
19132   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reshape_param)
19133   clear_has_reshape_param();
19134   ::opencv_caffe::ReshapeParameter* temp = reshape_param_;
19135   reshape_param_ = NULL;
19136   return temp;
19137 }
19138 inline void LayerParameter::set_allocated_reshape_param(::opencv_caffe::ReshapeParameter* reshape_param) {
19139   delete reshape_param_;
19140   reshape_param_ = reshape_param;
19141   if (reshape_param) {
19142     set_has_reshape_param();
19143   } else {
19144     clear_has_reshape_param();
19145   }
19146   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reshape_param)
19147 }
19148
19149 // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
19150 inline bool LayerParameter::has_roi_pooling_param() const {
19151   return (_has_bits_[1] & 0x00200000u) != 0;
19152 }
19153 inline void LayerParameter::set_has_roi_pooling_param() {
19154   _has_bits_[1] |= 0x00200000u;
19155 }
19156 inline void LayerParameter::clear_has_roi_pooling_param() {
19157   _has_bits_[1] &= ~0x00200000u;
19158 }
19159 inline void LayerParameter::clear_roi_pooling_param() {
19160   if (roi_pooling_param_ != NULL) roi_pooling_param_->::opencv_caffe::ROIPoolingParameter::Clear();
19161   clear_has_roi_pooling_param();
19162 }
19163 inline const ::opencv_caffe::ROIPoolingParameter& LayerParameter::roi_pooling_param() const {
19164   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.roi_pooling_param)
19165   return roi_pooling_param_ != NULL ? *roi_pooling_param_
19166                          : *::opencv_caffe::ROIPoolingParameter::internal_default_instance();
19167 }
19168 inline ::opencv_caffe::ROIPoolingParameter* LayerParameter::mutable_roi_pooling_param() {
19169   set_has_roi_pooling_param();
19170   if (roi_pooling_param_ == NULL) {
19171     roi_pooling_param_ = new ::opencv_caffe::ROIPoolingParameter;
19172   }
19173   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.roi_pooling_param)
19174   return roi_pooling_param_;
19175 }
19176 inline ::opencv_caffe::ROIPoolingParameter* LayerParameter::release_roi_pooling_param() {
19177   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.roi_pooling_param)
19178   clear_has_roi_pooling_param();
19179   ::opencv_caffe::ROIPoolingParameter* temp = roi_pooling_param_;
19180   roi_pooling_param_ = NULL;
19181   return temp;
19182 }
19183 inline void LayerParameter::set_allocated_roi_pooling_param(::opencv_caffe::ROIPoolingParameter* roi_pooling_param) {
19184   delete roi_pooling_param_;
19185   roi_pooling_param_ = roi_pooling_param;
19186   if (roi_pooling_param) {
19187     set_has_roi_pooling_param();
19188   } else {
19189     clear_has_roi_pooling_param();
19190   }
19191   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.roi_pooling_param)
19192 }
19193
19194 // optional .opencv_caffe.ScaleParameter scale_param = 142;
19195 inline bool LayerParameter::has_scale_param() const {
19196   return (_has_bits_[1] & 0x00400000u) != 0;
19197 }
19198 inline void LayerParameter::set_has_scale_param() {
19199   _has_bits_[1] |= 0x00400000u;
19200 }
19201 inline void LayerParameter::clear_has_scale_param() {
19202   _has_bits_[1] &= ~0x00400000u;
19203 }
19204 inline void LayerParameter::clear_scale_param() {
19205   if (scale_param_ != NULL) scale_param_->::opencv_caffe::ScaleParameter::Clear();
19206   clear_has_scale_param();
19207 }
19208 inline const ::opencv_caffe::ScaleParameter& LayerParameter::scale_param() const {
19209   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.scale_param)
19210   return scale_param_ != NULL ? *scale_param_
19211                          : *::opencv_caffe::ScaleParameter::internal_default_instance();
19212 }
19213 inline ::opencv_caffe::ScaleParameter* LayerParameter::mutable_scale_param() {
19214   set_has_scale_param();
19215   if (scale_param_ == NULL) {
19216     scale_param_ = new ::opencv_caffe::ScaleParameter;
19217   }
19218   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.scale_param)
19219   return scale_param_;
19220 }
19221 inline ::opencv_caffe::ScaleParameter* LayerParameter::release_scale_param() {
19222   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.scale_param)
19223   clear_has_scale_param();
19224   ::opencv_caffe::ScaleParameter* temp = scale_param_;
19225   scale_param_ = NULL;
19226   return temp;
19227 }
19228 inline void LayerParameter::set_allocated_scale_param(::opencv_caffe::ScaleParameter* scale_param) {
19229   delete scale_param_;
19230   scale_param_ = scale_param;
19231   if (scale_param) {
19232     set_has_scale_param();
19233   } else {
19234     clear_has_scale_param();
19235   }
19236   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.scale_param)
19237 }
19238
19239 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
19240 inline bool LayerParameter::has_sigmoid_param() const {
19241   return (_has_bits_[1] & 0x00800000u) != 0;
19242 }
19243 inline void LayerParameter::set_has_sigmoid_param() {
19244   _has_bits_[1] |= 0x00800000u;
19245 }
19246 inline void LayerParameter::clear_has_sigmoid_param() {
19247   _has_bits_[1] &= ~0x00800000u;
19248 }
19249 inline void LayerParameter::clear_sigmoid_param() {
19250   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
19251   clear_has_sigmoid_param();
19252 }
19253 inline const ::opencv_caffe::SigmoidParameter& LayerParameter::sigmoid_param() const {
19254   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.sigmoid_param)
19255   return sigmoid_param_ != NULL ? *sigmoid_param_
19256                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
19257 }
19258 inline ::opencv_caffe::SigmoidParameter* LayerParameter::mutable_sigmoid_param() {
19259   set_has_sigmoid_param();
19260   if (sigmoid_param_ == NULL) {
19261     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
19262   }
19263   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.sigmoid_param)
19264   return sigmoid_param_;
19265 }
19266 inline ::opencv_caffe::SigmoidParameter* LayerParameter::release_sigmoid_param() {
19267   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.sigmoid_param)
19268   clear_has_sigmoid_param();
19269   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
19270   sigmoid_param_ = NULL;
19271   return temp;
19272 }
19273 inline void LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
19274   delete sigmoid_param_;
19275   sigmoid_param_ = sigmoid_param;
19276   if (sigmoid_param) {
19277     set_has_sigmoid_param();
19278   } else {
19279     clear_has_sigmoid_param();
19280   }
19281   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.sigmoid_param)
19282 }
19283
19284 // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
19285 inline bool LayerParameter::has_softmax_param() const {
19286   return (_has_bits_[1] & 0x01000000u) != 0;
19287 }
19288 inline void LayerParameter::set_has_softmax_param() {
19289   _has_bits_[1] |= 0x01000000u;
19290 }
19291 inline void LayerParameter::clear_has_softmax_param() {
19292   _has_bits_[1] &= ~0x01000000u;
19293 }
19294 inline void LayerParameter::clear_softmax_param() {
19295   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
19296   clear_has_softmax_param();
19297 }
19298 inline const ::opencv_caffe::SoftmaxParameter& LayerParameter::softmax_param() const {
19299   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.softmax_param)
19300   return softmax_param_ != NULL ? *softmax_param_
19301                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
19302 }
19303 inline ::opencv_caffe::SoftmaxParameter* LayerParameter::mutable_softmax_param() {
19304   set_has_softmax_param();
19305   if (softmax_param_ == NULL) {
19306     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
19307   }
19308   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.softmax_param)
19309   return softmax_param_;
19310 }
19311 inline ::opencv_caffe::SoftmaxParameter* LayerParameter::release_softmax_param() {
19312   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.softmax_param)
19313   clear_has_softmax_param();
19314   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
19315   softmax_param_ = NULL;
19316   return temp;
19317 }
19318 inline void LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
19319   delete softmax_param_;
19320   softmax_param_ = softmax_param;
19321   if (softmax_param) {
19322     set_has_softmax_param();
19323   } else {
19324     clear_has_softmax_param();
19325   }
19326   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.softmax_param)
19327 }
19328
19329 // optional .opencv_caffe.SPPParameter spp_param = 132;
19330 inline bool LayerParameter::has_spp_param() const {
19331   return (_has_bits_[1] & 0x02000000u) != 0;
19332 }
19333 inline void LayerParameter::set_has_spp_param() {
19334   _has_bits_[1] |= 0x02000000u;
19335 }
19336 inline void LayerParameter::clear_has_spp_param() {
19337   _has_bits_[1] &= ~0x02000000u;
19338 }
19339 inline void LayerParameter::clear_spp_param() {
19340   if (spp_param_ != NULL) spp_param_->::opencv_caffe::SPPParameter::Clear();
19341   clear_has_spp_param();
19342 }
19343 inline const ::opencv_caffe::SPPParameter& LayerParameter::spp_param() const {
19344   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.spp_param)
19345   return spp_param_ != NULL ? *spp_param_
19346                          : *::opencv_caffe::SPPParameter::internal_default_instance();
19347 }
19348 inline ::opencv_caffe::SPPParameter* LayerParameter::mutable_spp_param() {
19349   set_has_spp_param();
19350   if (spp_param_ == NULL) {
19351     spp_param_ = new ::opencv_caffe::SPPParameter;
19352   }
19353   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.spp_param)
19354   return spp_param_;
19355 }
19356 inline ::opencv_caffe::SPPParameter* LayerParameter::release_spp_param() {
19357   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.spp_param)
19358   clear_has_spp_param();
19359   ::opencv_caffe::SPPParameter* temp = spp_param_;
19360   spp_param_ = NULL;
19361   return temp;
19362 }
19363 inline void LayerParameter::set_allocated_spp_param(::opencv_caffe::SPPParameter* spp_param) {
19364   delete spp_param_;
19365   spp_param_ = spp_param;
19366   if (spp_param) {
19367     set_has_spp_param();
19368   } else {
19369     clear_has_spp_param();
19370   }
19371   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.spp_param)
19372 }
19373
19374 // optional .opencv_caffe.SliceParameter slice_param = 126;
19375 inline bool LayerParameter::has_slice_param() const {
19376   return (_has_bits_[1] & 0x04000000u) != 0;
19377 }
19378 inline void LayerParameter::set_has_slice_param() {
19379   _has_bits_[1] |= 0x04000000u;
19380 }
19381 inline void LayerParameter::clear_has_slice_param() {
19382   _has_bits_[1] &= ~0x04000000u;
19383 }
19384 inline void LayerParameter::clear_slice_param() {
19385   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
19386   clear_has_slice_param();
19387 }
19388 inline const ::opencv_caffe::SliceParameter& LayerParameter::slice_param() const {
19389   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.slice_param)
19390   return slice_param_ != NULL ? *slice_param_
19391                          : *::opencv_caffe::SliceParameter::internal_default_instance();
19392 }
19393 inline ::opencv_caffe::SliceParameter* LayerParameter::mutable_slice_param() {
19394   set_has_slice_param();
19395   if (slice_param_ == NULL) {
19396     slice_param_ = new ::opencv_caffe::SliceParameter;
19397   }
19398   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.slice_param)
19399   return slice_param_;
19400 }
19401 inline ::opencv_caffe::SliceParameter* LayerParameter::release_slice_param() {
19402   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.slice_param)
19403   clear_has_slice_param();
19404   ::opencv_caffe::SliceParameter* temp = slice_param_;
19405   slice_param_ = NULL;
19406   return temp;
19407 }
19408 inline void LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
19409   delete slice_param_;
19410   slice_param_ = slice_param;
19411   if (slice_param) {
19412     set_has_slice_param();
19413   } else {
19414     clear_has_slice_param();
19415   }
19416   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.slice_param)
19417 }
19418
19419 // optional .opencv_caffe.TanHParameter tanh_param = 127;
19420 inline bool LayerParameter::has_tanh_param() const {
19421   return (_has_bits_[1] & 0x08000000u) != 0;
19422 }
19423 inline void LayerParameter::set_has_tanh_param() {
19424   _has_bits_[1] |= 0x08000000u;
19425 }
19426 inline void LayerParameter::clear_has_tanh_param() {
19427   _has_bits_[1] &= ~0x08000000u;
19428 }
19429 inline void LayerParameter::clear_tanh_param() {
19430   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
19431   clear_has_tanh_param();
19432 }
19433 inline const ::opencv_caffe::TanHParameter& LayerParameter::tanh_param() const {
19434   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tanh_param)
19435   return tanh_param_ != NULL ? *tanh_param_
19436                          : *::opencv_caffe::TanHParameter::internal_default_instance();
19437 }
19438 inline ::opencv_caffe::TanHParameter* LayerParameter::mutable_tanh_param() {
19439   set_has_tanh_param();
19440   if (tanh_param_ == NULL) {
19441     tanh_param_ = new ::opencv_caffe::TanHParameter;
19442   }
19443   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tanh_param)
19444   return tanh_param_;
19445 }
19446 inline ::opencv_caffe::TanHParameter* LayerParameter::release_tanh_param() {
19447   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tanh_param)
19448   clear_has_tanh_param();
19449   ::opencv_caffe::TanHParameter* temp = tanh_param_;
19450   tanh_param_ = NULL;
19451   return temp;
19452 }
19453 inline void LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
19454   delete tanh_param_;
19455   tanh_param_ = tanh_param;
19456   if (tanh_param) {
19457     set_has_tanh_param();
19458   } else {
19459     clear_has_tanh_param();
19460   }
19461   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tanh_param)
19462 }
19463
19464 // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
19465 inline bool LayerParameter::has_threshold_param() const {
19466   return (_has_bits_[1] & 0x10000000u) != 0;
19467 }
19468 inline void LayerParameter::set_has_threshold_param() {
19469   _has_bits_[1] |= 0x10000000u;
19470 }
19471 inline void LayerParameter::clear_has_threshold_param() {
19472   _has_bits_[1] &= ~0x10000000u;
19473 }
19474 inline void LayerParameter::clear_threshold_param() {
19475   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
19476   clear_has_threshold_param();
19477 }
19478 inline const ::opencv_caffe::ThresholdParameter& LayerParameter::threshold_param() const {
19479   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.threshold_param)
19480   return threshold_param_ != NULL ? *threshold_param_
19481                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
19482 }
19483 inline ::opencv_caffe::ThresholdParameter* LayerParameter::mutable_threshold_param() {
19484   set_has_threshold_param();
19485   if (threshold_param_ == NULL) {
19486     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
19487   }
19488   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.threshold_param)
19489   return threshold_param_;
19490 }
19491 inline ::opencv_caffe::ThresholdParameter* LayerParameter::release_threshold_param() {
19492   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.threshold_param)
19493   clear_has_threshold_param();
19494   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
19495   threshold_param_ = NULL;
19496   return temp;
19497 }
19498 inline void LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
19499   delete threshold_param_;
19500   threshold_param_ = threshold_param;
19501   if (threshold_param) {
19502     set_has_threshold_param();
19503   } else {
19504     clear_has_threshold_param();
19505   }
19506   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.threshold_param)
19507 }
19508
19509 // optional .opencv_caffe.TileParameter tile_param = 138;
19510 inline bool LayerParameter::has_tile_param() const {
19511   return (_has_bits_[1] & 0x20000000u) != 0;
19512 }
19513 inline void LayerParameter::set_has_tile_param() {
19514   _has_bits_[1] |= 0x20000000u;
19515 }
19516 inline void LayerParameter::clear_has_tile_param() {
19517   _has_bits_[1] &= ~0x20000000u;
19518 }
19519 inline void LayerParameter::clear_tile_param() {
19520   if (tile_param_ != NULL) tile_param_->::opencv_caffe::TileParameter::Clear();
19521   clear_has_tile_param();
19522 }
19523 inline const ::opencv_caffe::TileParameter& LayerParameter::tile_param() const {
19524   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tile_param)
19525   return tile_param_ != NULL ? *tile_param_
19526                          : *::opencv_caffe::TileParameter::internal_default_instance();
19527 }
19528 inline ::opencv_caffe::TileParameter* LayerParameter::mutable_tile_param() {
19529   set_has_tile_param();
19530   if (tile_param_ == NULL) {
19531     tile_param_ = new ::opencv_caffe::TileParameter;
19532   }
19533   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tile_param)
19534   return tile_param_;
19535 }
19536 inline ::opencv_caffe::TileParameter* LayerParameter::release_tile_param() {
19537   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tile_param)
19538   clear_has_tile_param();
19539   ::opencv_caffe::TileParameter* temp = tile_param_;
19540   tile_param_ = NULL;
19541   return temp;
19542 }
19543 inline void LayerParameter::set_allocated_tile_param(::opencv_caffe::TileParameter* tile_param) {
19544   delete tile_param_;
19545   tile_param_ = tile_param;
19546   if (tile_param) {
19547     set_has_tile_param();
19548   } else {
19549     clear_has_tile_param();
19550   }
19551   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tile_param)
19552 }
19553
19554 // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
19555 inline bool LayerParameter::has_window_data_param() const {
19556   return (_has_bits_[1] & 0x40000000u) != 0;
19557 }
19558 inline void LayerParameter::set_has_window_data_param() {
19559   _has_bits_[1] |= 0x40000000u;
19560 }
19561 inline void LayerParameter::clear_has_window_data_param() {
19562   _has_bits_[1] &= ~0x40000000u;
19563 }
19564 inline void LayerParameter::clear_window_data_param() {
19565   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
19566   clear_has_window_data_param();
19567 }
19568 inline const ::opencv_caffe::WindowDataParameter& LayerParameter::window_data_param() const {
19569   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.window_data_param)
19570   return window_data_param_ != NULL ? *window_data_param_
19571                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
19572 }
19573 inline ::opencv_caffe::WindowDataParameter* LayerParameter::mutable_window_data_param() {
19574   set_has_window_data_param();
19575   if (window_data_param_ == NULL) {
19576     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
19577   }
19578   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.window_data_param)
19579   return window_data_param_;
19580 }
19581 inline ::opencv_caffe::WindowDataParameter* LayerParameter::release_window_data_param() {
19582   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.window_data_param)
19583   clear_has_window_data_param();
19584   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
19585   window_data_param_ = NULL;
19586   return temp;
19587 }
19588 inline void LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
19589   delete window_data_param_;
19590   window_data_param_ = window_data_param;
19591   if (window_data_param) {
19592     set_has_window_data_param();
19593   } else {
19594     clear_has_window_data_param();
19595   }
19596   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.window_data_param)
19597 }
19598
19599 inline const LayerParameter* LayerParameter::internal_default_instance() {
19600   return &LayerParameter_default_instance_.get();
19601 }
19602 // -------------------------------------------------------------------
19603
19604 // TransformationParameter
19605
19606 // optional float scale = 1 [default = 1];
19607 inline bool TransformationParameter::has_scale() const {
19608   return (_has_bits_[0] & 0x00000001u) != 0;
19609 }
19610 inline void TransformationParameter::set_has_scale() {
19611   _has_bits_[0] |= 0x00000001u;
19612 }
19613 inline void TransformationParameter::clear_has_scale() {
19614   _has_bits_[0] &= ~0x00000001u;
19615 }
19616 inline void TransformationParameter::clear_scale() {
19617   scale_ = 1;
19618   clear_has_scale();
19619 }
19620 inline float TransformationParameter::scale() const {
19621   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.scale)
19622   return scale_;
19623 }
19624 inline void TransformationParameter::set_scale(float value) {
19625   set_has_scale();
19626   scale_ = value;
19627   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.scale)
19628 }
19629
19630 // optional bool mirror = 2 [default = false];
19631 inline bool TransformationParameter::has_mirror() const {
19632   return (_has_bits_[0] & 0x00000002u) != 0;
19633 }
19634 inline void TransformationParameter::set_has_mirror() {
19635   _has_bits_[0] |= 0x00000002u;
19636 }
19637 inline void TransformationParameter::clear_has_mirror() {
19638   _has_bits_[0] &= ~0x00000002u;
19639 }
19640 inline void TransformationParameter::clear_mirror() {
19641   mirror_ = false;
19642   clear_has_mirror();
19643 }
19644 inline bool TransformationParameter::mirror() const {
19645   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mirror)
19646   return mirror_;
19647 }
19648 inline void TransformationParameter::set_mirror(bool value) {
19649   set_has_mirror();
19650   mirror_ = value;
19651   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mirror)
19652 }
19653
19654 // optional uint32 crop_size = 3 [default = 0];
19655 inline bool TransformationParameter::has_crop_size() const {
19656   return (_has_bits_[0] & 0x00000004u) != 0;
19657 }
19658 inline void TransformationParameter::set_has_crop_size() {
19659   _has_bits_[0] |= 0x00000004u;
19660 }
19661 inline void TransformationParameter::clear_has_crop_size() {
19662   _has_bits_[0] &= ~0x00000004u;
19663 }
19664 inline void TransformationParameter::clear_crop_size() {
19665   crop_size_ = 0u;
19666   clear_has_crop_size();
19667 }
19668 inline ::google::protobuf::uint32 TransformationParameter::crop_size() const {
19669   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.crop_size)
19670   return crop_size_;
19671 }
19672 inline void TransformationParameter::set_crop_size(::google::protobuf::uint32 value) {
19673   set_has_crop_size();
19674   crop_size_ = value;
19675   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.crop_size)
19676 }
19677
19678 // optional string mean_file = 4;
19679 inline bool TransformationParameter::has_mean_file() const {
19680   return (_has_bits_[0] & 0x00000008u) != 0;
19681 }
19682 inline void TransformationParameter::set_has_mean_file() {
19683   _has_bits_[0] |= 0x00000008u;
19684 }
19685 inline void TransformationParameter::clear_has_mean_file() {
19686   _has_bits_[0] &= ~0x00000008u;
19687 }
19688 inline void TransformationParameter::clear_mean_file() {
19689   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19690   clear_has_mean_file();
19691 }
19692 inline const ::std::string& TransformationParameter::mean_file() const {
19693   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_file)
19694   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19695 }
19696 inline void TransformationParameter::set_mean_file(const ::std::string& value) {
19697   set_has_mean_file();
19698   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
19699   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_file)
19700 }
19701 inline void TransformationParameter::set_mean_file(const char* value) {
19702   set_has_mean_file();
19703   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
19704   // @@protoc_insertion_point(field_set_char:opencv_caffe.TransformationParameter.mean_file)
19705 }
19706 inline void TransformationParameter::set_mean_file(const char* value, size_t size) {
19707   set_has_mean_file();
19708   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
19709       ::std::string(reinterpret_cast<const char*>(value), size));
19710   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.TransformationParameter.mean_file)
19711 }
19712 inline ::std::string* TransformationParameter::mutable_mean_file() {
19713   set_has_mean_file();
19714   // @@protoc_insertion_point(field_mutable:opencv_caffe.TransformationParameter.mean_file)
19715   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19716 }
19717 inline ::std::string* TransformationParameter::release_mean_file() {
19718   // @@protoc_insertion_point(field_release:opencv_caffe.TransformationParameter.mean_file)
19719   clear_has_mean_file();
19720   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19721 }
19722 inline void TransformationParameter::set_allocated_mean_file(::std::string* mean_file) {
19723   if (mean_file != NULL) {
19724     set_has_mean_file();
19725   } else {
19726     clear_has_mean_file();
19727   }
19728   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
19729   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.TransformationParameter.mean_file)
19730 }
19731
19732 // repeated float mean_value = 5;
19733 inline int TransformationParameter::mean_value_size() const {
19734   return mean_value_.size();
19735 }
19736 inline void TransformationParameter::clear_mean_value() {
19737   mean_value_.Clear();
19738 }
19739 inline float TransformationParameter::mean_value(int index) const {
19740   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_value)
19741   return mean_value_.Get(index);
19742 }
19743 inline void TransformationParameter::set_mean_value(int index, float value) {
19744   mean_value_.Set(index, value);
19745   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_value)
19746 }
19747 inline void TransformationParameter::add_mean_value(float value) {
19748   mean_value_.Add(value);
19749   // @@protoc_insertion_point(field_add:opencv_caffe.TransformationParameter.mean_value)
19750 }
19751 inline const ::google::protobuf::RepeatedField< float >&
19752 TransformationParameter::mean_value() const {
19753   // @@protoc_insertion_point(field_list:opencv_caffe.TransformationParameter.mean_value)
19754   return mean_value_;
19755 }
19756 inline ::google::protobuf::RepeatedField< float >*
19757 TransformationParameter::mutable_mean_value() {
19758   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.TransformationParameter.mean_value)
19759   return &mean_value_;
19760 }
19761
19762 // optional bool force_color = 6 [default = false];
19763 inline bool TransformationParameter::has_force_color() const {
19764   return (_has_bits_[0] & 0x00000020u) != 0;
19765 }
19766 inline void TransformationParameter::set_has_force_color() {
19767   _has_bits_[0] |= 0x00000020u;
19768 }
19769 inline void TransformationParameter::clear_has_force_color() {
19770   _has_bits_[0] &= ~0x00000020u;
19771 }
19772 inline void TransformationParameter::clear_force_color() {
19773   force_color_ = false;
19774   clear_has_force_color();
19775 }
19776 inline bool TransformationParameter::force_color() const {
19777   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_color)
19778   return force_color_;
19779 }
19780 inline void TransformationParameter::set_force_color(bool value) {
19781   set_has_force_color();
19782   force_color_ = value;
19783   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_color)
19784 }
19785
19786 // optional bool force_gray = 7 [default = false];
19787 inline bool TransformationParameter::has_force_gray() const {
19788   return (_has_bits_[0] & 0x00000040u) != 0;
19789 }
19790 inline void TransformationParameter::set_has_force_gray() {
19791   _has_bits_[0] |= 0x00000040u;
19792 }
19793 inline void TransformationParameter::clear_has_force_gray() {
19794   _has_bits_[0] &= ~0x00000040u;
19795 }
19796 inline void TransformationParameter::clear_force_gray() {
19797   force_gray_ = false;
19798   clear_has_force_gray();
19799 }
19800 inline bool TransformationParameter::force_gray() const {
19801   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_gray)
19802   return force_gray_;
19803 }
19804 inline void TransformationParameter::set_force_gray(bool value) {
19805   set_has_force_gray();
19806   force_gray_ = value;
19807   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_gray)
19808 }
19809
19810 inline const TransformationParameter* TransformationParameter::internal_default_instance() {
19811   return &TransformationParameter_default_instance_.get();
19812 }
19813 // -------------------------------------------------------------------
19814
19815 // LossParameter
19816
19817 // optional int32 ignore_label = 1;
19818 inline bool LossParameter::has_ignore_label() const {
19819   return (_has_bits_[0] & 0x00000001u) != 0;
19820 }
19821 inline void LossParameter::set_has_ignore_label() {
19822   _has_bits_[0] |= 0x00000001u;
19823 }
19824 inline void LossParameter::clear_has_ignore_label() {
19825   _has_bits_[0] &= ~0x00000001u;
19826 }
19827 inline void LossParameter::clear_ignore_label() {
19828   ignore_label_ = 0;
19829   clear_has_ignore_label();
19830 }
19831 inline ::google::protobuf::int32 LossParameter::ignore_label() const {
19832   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.ignore_label)
19833   return ignore_label_;
19834 }
19835 inline void LossParameter::set_ignore_label(::google::protobuf::int32 value) {
19836   set_has_ignore_label();
19837   ignore_label_ = value;
19838   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.ignore_label)
19839 }
19840
19841 // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
19842 inline bool LossParameter::has_normalization() const {
19843   return (_has_bits_[0] & 0x00000002u) != 0;
19844 }
19845 inline void LossParameter::set_has_normalization() {
19846   _has_bits_[0] |= 0x00000002u;
19847 }
19848 inline void LossParameter::clear_has_normalization() {
19849   _has_bits_[0] &= ~0x00000002u;
19850 }
19851 inline void LossParameter::clear_normalization() {
19852   normalization_ = 1;
19853   clear_has_normalization();
19854 }
19855 inline ::opencv_caffe::LossParameter_NormalizationMode LossParameter::normalization() const {
19856   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalization)
19857   return static_cast< ::opencv_caffe::LossParameter_NormalizationMode >(normalization_);
19858 }
19859 inline void LossParameter::set_normalization(::opencv_caffe::LossParameter_NormalizationMode value) {
19860   assert(::opencv_caffe::LossParameter_NormalizationMode_IsValid(value));
19861   set_has_normalization();
19862   normalization_ = value;
19863   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalization)
19864 }
19865
19866 // optional bool normalize = 2;
19867 inline bool LossParameter::has_normalize() const {
19868   return (_has_bits_[0] & 0x00000004u) != 0;
19869 }
19870 inline void LossParameter::set_has_normalize() {
19871   _has_bits_[0] |= 0x00000004u;
19872 }
19873 inline void LossParameter::clear_has_normalize() {
19874   _has_bits_[0] &= ~0x00000004u;
19875 }
19876 inline void LossParameter::clear_normalize() {
19877   normalize_ = false;
19878   clear_has_normalize();
19879 }
19880 inline bool LossParameter::normalize() const {
19881   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalize)
19882   return normalize_;
19883 }
19884 inline void LossParameter::set_normalize(bool value) {
19885   set_has_normalize();
19886   normalize_ = value;
19887   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalize)
19888 }
19889
19890 inline const LossParameter* LossParameter::internal_default_instance() {
19891   return &LossParameter_default_instance_.get();
19892 }
19893 // -------------------------------------------------------------------
19894
19895 // AccuracyParameter
19896
19897 // optional uint32 top_k = 1 [default = 1];
19898 inline bool AccuracyParameter::has_top_k() const {
19899   return (_has_bits_[0] & 0x00000001u) != 0;
19900 }
19901 inline void AccuracyParameter::set_has_top_k() {
19902   _has_bits_[0] |= 0x00000001u;
19903 }
19904 inline void AccuracyParameter::clear_has_top_k() {
19905   _has_bits_[0] &= ~0x00000001u;
19906 }
19907 inline void AccuracyParameter::clear_top_k() {
19908   top_k_ = 1u;
19909   clear_has_top_k();
19910 }
19911 inline ::google::protobuf::uint32 AccuracyParameter::top_k() const {
19912   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.top_k)
19913   return top_k_;
19914 }
19915 inline void AccuracyParameter::set_top_k(::google::protobuf::uint32 value) {
19916   set_has_top_k();
19917   top_k_ = value;
19918   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.top_k)
19919 }
19920
19921 // optional int32 axis = 2 [default = 1];
19922 inline bool AccuracyParameter::has_axis() const {
19923   return (_has_bits_[0] & 0x00000002u) != 0;
19924 }
19925 inline void AccuracyParameter::set_has_axis() {
19926   _has_bits_[0] |= 0x00000002u;
19927 }
19928 inline void AccuracyParameter::clear_has_axis() {
19929   _has_bits_[0] &= ~0x00000002u;
19930 }
19931 inline void AccuracyParameter::clear_axis() {
19932   axis_ = 1;
19933   clear_has_axis();
19934 }
19935 inline ::google::protobuf::int32 AccuracyParameter::axis() const {
19936   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.axis)
19937   return axis_;
19938 }
19939 inline void AccuracyParameter::set_axis(::google::protobuf::int32 value) {
19940   set_has_axis();
19941   axis_ = value;
19942   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.axis)
19943 }
19944
19945 // optional int32 ignore_label = 3;
19946 inline bool AccuracyParameter::has_ignore_label() const {
19947   return (_has_bits_[0] & 0x00000004u) != 0;
19948 }
19949 inline void AccuracyParameter::set_has_ignore_label() {
19950   _has_bits_[0] |= 0x00000004u;
19951 }
19952 inline void AccuracyParameter::clear_has_ignore_label() {
19953   _has_bits_[0] &= ~0x00000004u;
19954 }
19955 inline void AccuracyParameter::clear_ignore_label() {
19956   ignore_label_ = 0;
19957   clear_has_ignore_label();
19958 }
19959 inline ::google::protobuf::int32 AccuracyParameter::ignore_label() const {
19960   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.ignore_label)
19961   return ignore_label_;
19962 }
19963 inline void AccuracyParameter::set_ignore_label(::google::protobuf::int32 value) {
19964   set_has_ignore_label();
19965   ignore_label_ = value;
19966   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.ignore_label)
19967 }
19968
19969 inline const AccuracyParameter* AccuracyParameter::internal_default_instance() {
19970   return &AccuracyParameter_default_instance_.get();
19971 }
19972 // -------------------------------------------------------------------
19973
19974 // ArgMaxParameter
19975
19976 // optional bool out_max_val = 1 [default = false];
19977 inline bool ArgMaxParameter::has_out_max_val() const {
19978   return (_has_bits_[0] & 0x00000001u) != 0;
19979 }
19980 inline void ArgMaxParameter::set_has_out_max_val() {
19981   _has_bits_[0] |= 0x00000001u;
19982 }
19983 inline void ArgMaxParameter::clear_has_out_max_val() {
19984   _has_bits_[0] &= ~0x00000001u;
19985 }
19986 inline void ArgMaxParameter::clear_out_max_val() {
19987   out_max_val_ = false;
19988   clear_has_out_max_val();
19989 }
19990 inline bool ArgMaxParameter::out_max_val() const {
19991   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.out_max_val)
19992   return out_max_val_;
19993 }
19994 inline void ArgMaxParameter::set_out_max_val(bool value) {
19995   set_has_out_max_val();
19996   out_max_val_ = value;
19997   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.out_max_val)
19998 }
19999
20000 // optional uint32 top_k = 2 [default = 1];
20001 inline bool ArgMaxParameter::has_top_k() const {
20002   return (_has_bits_[0] & 0x00000002u) != 0;
20003 }
20004 inline void ArgMaxParameter::set_has_top_k() {
20005   _has_bits_[0] |= 0x00000002u;
20006 }
20007 inline void ArgMaxParameter::clear_has_top_k() {
20008   _has_bits_[0] &= ~0x00000002u;
20009 }
20010 inline void ArgMaxParameter::clear_top_k() {
20011   top_k_ = 1u;
20012   clear_has_top_k();
20013 }
20014 inline ::google::protobuf::uint32 ArgMaxParameter::top_k() const {
20015   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.top_k)
20016   return top_k_;
20017 }
20018 inline void ArgMaxParameter::set_top_k(::google::protobuf::uint32 value) {
20019   set_has_top_k();
20020   top_k_ = value;
20021   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.top_k)
20022 }
20023
20024 // optional int32 axis = 3;
20025 inline bool ArgMaxParameter::has_axis() const {
20026   return (_has_bits_[0] & 0x00000004u) != 0;
20027 }
20028 inline void ArgMaxParameter::set_has_axis() {
20029   _has_bits_[0] |= 0x00000004u;
20030 }
20031 inline void ArgMaxParameter::clear_has_axis() {
20032   _has_bits_[0] &= ~0x00000004u;
20033 }
20034 inline void ArgMaxParameter::clear_axis() {
20035   axis_ = 0;
20036   clear_has_axis();
20037 }
20038 inline ::google::protobuf::int32 ArgMaxParameter::axis() const {
20039   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.axis)
20040   return axis_;
20041 }
20042 inline void ArgMaxParameter::set_axis(::google::protobuf::int32 value) {
20043   set_has_axis();
20044   axis_ = value;
20045   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.axis)
20046 }
20047
20048 inline const ArgMaxParameter* ArgMaxParameter::internal_default_instance() {
20049   return &ArgMaxParameter_default_instance_.get();
20050 }
20051 // -------------------------------------------------------------------
20052
20053 // ConcatParameter
20054
20055 // optional int32 axis = 2 [default = 1];
20056 inline bool ConcatParameter::has_axis() const {
20057   return (_has_bits_[0] & 0x00000001u) != 0;
20058 }
20059 inline void ConcatParameter::set_has_axis() {
20060   _has_bits_[0] |= 0x00000001u;
20061 }
20062 inline void ConcatParameter::clear_has_axis() {
20063   _has_bits_[0] &= ~0x00000001u;
20064 }
20065 inline void ConcatParameter::clear_axis() {
20066   axis_ = 1;
20067   clear_has_axis();
20068 }
20069 inline ::google::protobuf::int32 ConcatParameter::axis() const {
20070   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.axis)
20071   return axis_;
20072 }
20073 inline void ConcatParameter::set_axis(::google::protobuf::int32 value) {
20074   set_has_axis();
20075   axis_ = value;
20076   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.axis)
20077 }
20078
20079 // optional uint32 concat_dim = 1 [default = 1];
20080 inline bool ConcatParameter::has_concat_dim() const {
20081   return (_has_bits_[0] & 0x00000002u) != 0;
20082 }
20083 inline void ConcatParameter::set_has_concat_dim() {
20084   _has_bits_[0] |= 0x00000002u;
20085 }
20086 inline void ConcatParameter::clear_has_concat_dim() {
20087   _has_bits_[0] &= ~0x00000002u;
20088 }
20089 inline void ConcatParameter::clear_concat_dim() {
20090   concat_dim_ = 1u;
20091   clear_has_concat_dim();
20092 }
20093 inline ::google::protobuf::uint32 ConcatParameter::concat_dim() const {
20094   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.concat_dim)
20095   return concat_dim_;
20096 }
20097 inline void ConcatParameter::set_concat_dim(::google::protobuf::uint32 value) {
20098   set_has_concat_dim();
20099   concat_dim_ = value;
20100   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.concat_dim)
20101 }
20102
20103 inline const ConcatParameter* ConcatParameter::internal_default_instance() {
20104   return &ConcatParameter_default_instance_.get();
20105 }
20106 // -------------------------------------------------------------------
20107
20108 // BatchNormParameter
20109
20110 // optional bool use_global_stats = 1;
20111 inline bool BatchNormParameter::has_use_global_stats() const {
20112   return (_has_bits_[0] & 0x00000001u) != 0;
20113 }
20114 inline void BatchNormParameter::set_has_use_global_stats() {
20115   _has_bits_[0] |= 0x00000001u;
20116 }
20117 inline void BatchNormParameter::clear_has_use_global_stats() {
20118   _has_bits_[0] &= ~0x00000001u;
20119 }
20120 inline void BatchNormParameter::clear_use_global_stats() {
20121   use_global_stats_ = false;
20122   clear_has_use_global_stats();
20123 }
20124 inline bool BatchNormParameter::use_global_stats() const {
20125   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.use_global_stats)
20126   return use_global_stats_;
20127 }
20128 inline void BatchNormParameter::set_use_global_stats(bool value) {
20129   set_has_use_global_stats();
20130   use_global_stats_ = value;
20131   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.use_global_stats)
20132 }
20133
20134 // optional float moving_average_fraction = 2 [default = 0.999];
20135 inline bool BatchNormParameter::has_moving_average_fraction() const {
20136   return (_has_bits_[0] & 0x00000002u) != 0;
20137 }
20138 inline void BatchNormParameter::set_has_moving_average_fraction() {
20139   _has_bits_[0] |= 0x00000002u;
20140 }
20141 inline void BatchNormParameter::clear_has_moving_average_fraction() {
20142   _has_bits_[0] &= ~0x00000002u;
20143 }
20144 inline void BatchNormParameter::clear_moving_average_fraction() {
20145   moving_average_fraction_ = 0.999f;
20146   clear_has_moving_average_fraction();
20147 }
20148 inline float BatchNormParameter::moving_average_fraction() const {
20149   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.moving_average_fraction)
20150   return moving_average_fraction_;
20151 }
20152 inline void BatchNormParameter::set_moving_average_fraction(float value) {
20153   set_has_moving_average_fraction();
20154   moving_average_fraction_ = value;
20155   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.moving_average_fraction)
20156 }
20157
20158 // optional float eps = 3 [default = 1e-05];
20159 inline bool BatchNormParameter::has_eps() const {
20160   return (_has_bits_[0] & 0x00000004u) != 0;
20161 }
20162 inline void BatchNormParameter::set_has_eps() {
20163   _has_bits_[0] |= 0x00000004u;
20164 }
20165 inline void BatchNormParameter::clear_has_eps() {
20166   _has_bits_[0] &= ~0x00000004u;
20167 }
20168 inline void BatchNormParameter::clear_eps() {
20169   eps_ = 1e-05f;
20170   clear_has_eps();
20171 }
20172 inline float BatchNormParameter::eps() const {
20173   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.eps)
20174   return eps_;
20175 }
20176 inline void BatchNormParameter::set_eps(float value) {
20177   set_has_eps();
20178   eps_ = value;
20179   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.eps)
20180 }
20181
20182 inline const BatchNormParameter* BatchNormParameter::internal_default_instance() {
20183   return &BatchNormParameter_default_instance_.get();
20184 }
20185 // -------------------------------------------------------------------
20186
20187 // BiasParameter
20188
20189 // optional int32 axis = 1 [default = 1];
20190 inline bool BiasParameter::has_axis() const {
20191   return (_has_bits_[0] & 0x00000001u) != 0;
20192 }
20193 inline void BiasParameter::set_has_axis() {
20194   _has_bits_[0] |= 0x00000001u;
20195 }
20196 inline void BiasParameter::clear_has_axis() {
20197   _has_bits_[0] &= ~0x00000001u;
20198 }
20199 inline void BiasParameter::clear_axis() {
20200   axis_ = 1;
20201   clear_has_axis();
20202 }
20203 inline ::google::protobuf::int32 BiasParameter::axis() const {
20204   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.axis)
20205   return axis_;
20206 }
20207 inline void BiasParameter::set_axis(::google::protobuf::int32 value) {
20208   set_has_axis();
20209   axis_ = value;
20210   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.axis)
20211 }
20212
20213 // optional int32 num_axes = 2 [default = 1];
20214 inline bool BiasParameter::has_num_axes() const {
20215   return (_has_bits_[0] & 0x00000002u) != 0;
20216 }
20217 inline void BiasParameter::set_has_num_axes() {
20218   _has_bits_[0] |= 0x00000002u;
20219 }
20220 inline void BiasParameter::clear_has_num_axes() {
20221   _has_bits_[0] &= ~0x00000002u;
20222 }
20223 inline void BiasParameter::clear_num_axes() {
20224   num_axes_ = 1;
20225   clear_has_num_axes();
20226 }
20227 inline ::google::protobuf::int32 BiasParameter::num_axes() const {
20228   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.num_axes)
20229   return num_axes_;
20230 }
20231 inline void BiasParameter::set_num_axes(::google::protobuf::int32 value) {
20232   set_has_num_axes();
20233   num_axes_ = value;
20234   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.num_axes)
20235 }
20236
20237 // optional .opencv_caffe.FillerParameter filler = 3;
20238 inline bool BiasParameter::has_filler() const {
20239   return (_has_bits_[0] & 0x00000004u) != 0;
20240 }
20241 inline void BiasParameter::set_has_filler() {
20242   _has_bits_[0] |= 0x00000004u;
20243 }
20244 inline void BiasParameter::clear_has_filler() {
20245   _has_bits_[0] &= ~0x00000004u;
20246 }
20247 inline void BiasParameter::clear_filler() {
20248   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
20249   clear_has_filler();
20250 }
20251 inline const ::opencv_caffe::FillerParameter& BiasParameter::filler() const {
20252   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.filler)
20253   return filler_ != NULL ? *filler_
20254                          : *::opencv_caffe::FillerParameter::internal_default_instance();
20255 }
20256 inline ::opencv_caffe::FillerParameter* BiasParameter::mutable_filler() {
20257   set_has_filler();
20258   if (filler_ == NULL) {
20259     filler_ = new ::opencv_caffe::FillerParameter;
20260   }
20261   // @@protoc_insertion_point(field_mutable:opencv_caffe.BiasParameter.filler)
20262   return filler_;
20263 }
20264 inline ::opencv_caffe::FillerParameter* BiasParameter::release_filler() {
20265   // @@protoc_insertion_point(field_release:opencv_caffe.BiasParameter.filler)
20266   clear_has_filler();
20267   ::opencv_caffe::FillerParameter* temp = filler_;
20268   filler_ = NULL;
20269   return temp;
20270 }
20271 inline void BiasParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
20272   delete filler_;
20273   filler_ = filler;
20274   if (filler) {
20275     set_has_filler();
20276   } else {
20277     clear_has_filler();
20278   }
20279   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BiasParameter.filler)
20280 }
20281
20282 inline const BiasParameter* BiasParameter::internal_default_instance() {
20283   return &BiasParameter_default_instance_.get();
20284 }
20285 // -------------------------------------------------------------------
20286
20287 // ContrastiveLossParameter
20288
20289 // optional float margin = 1 [default = 1];
20290 inline bool ContrastiveLossParameter::has_margin() const {
20291   return (_has_bits_[0] & 0x00000001u) != 0;
20292 }
20293 inline void ContrastiveLossParameter::set_has_margin() {
20294   _has_bits_[0] |= 0x00000001u;
20295 }
20296 inline void ContrastiveLossParameter::clear_has_margin() {
20297   _has_bits_[0] &= ~0x00000001u;
20298 }
20299 inline void ContrastiveLossParameter::clear_margin() {
20300   margin_ = 1;
20301   clear_has_margin();
20302 }
20303 inline float ContrastiveLossParameter::margin() const {
20304   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.margin)
20305   return margin_;
20306 }
20307 inline void ContrastiveLossParameter::set_margin(float value) {
20308   set_has_margin();
20309   margin_ = value;
20310   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.margin)
20311 }
20312
20313 // optional bool legacy_version = 2 [default = false];
20314 inline bool ContrastiveLossParameter::has_legacy_version() const {
20315   return (_has_bits_[0] & 0x00000002u) != 0;
20316 }
20317 inline void ContrastiveLossParameter::set_has_legacy_version() {
20318   _has_bits_[0] |= 0x00000002u;
20319 }
20320 inline void ContrastiveLossParameter::clear_has_legacy_version() {
20321   _has_bits_[0] &= ~0x00000002u;
20322 }
20323 inline void ContrastiveLossParameter::clear_legacy_version() {
20324   legacy_version_ = false;
20325   clear_has_legacy_version();
20326 }
20327 inline bool ContrastiveLossParameter::legacy_version() const {
20328   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.legacy_version)
20329   return legacy_version_;
20330 }
20331 inline void ContrastiveLossParameter::set_legacy_version(bool value) {
20332   set_has_legacy_version();
20333   legacy_version_ = value;
20334   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.legacy_version)
20335 }
20336
20337 inline const ContrastiveLossParameter* ContrastiveLossParameter::internal_default_instance() {
20338   return &ContrastiveLossParameter_default_instance_.get();
20339 }
20340 // -------------------------------------------------------------------
20341
20342 // ConvolutionParameter
20343
20344 // optional uint32 num_output = 1;
20345 inline bool ConvolutionParameter::has_num_output() const {
20346   return (_has_bits_[0] & 0x00000001u) != 0;
20347 }
20348 inline void ConvolutionParameter::set_has_num_output() {
20349   _has_bits_[0] |= 0x00000001u;
20350 }
20351 inline void ConvolutionParameter::clear_has_num_output() {
20352   _has_bits_[0] &= ~0x00000001u;
20353 }
20354 inline void ConvolutionParameter::clear_num_output() {
20355   num_output_ = 0u;
20356   clear_has_num_output();
20357 }
20358 inline ::google::protobuf::uint32 ConvolutionParameter::num_output() const {
20359   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.num_output)
20360   return num_output_;
20361 }
20362 inline void ConvolutionParameter::set_num_output(::google::protobuf::uint32 value) {
20363   set_has_num_output();
20364   num_output_ = value;
20365   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.num_output)
20366 }
20367
20368 // optional bool bias_term = 2 [default = true];
20369 inline bool ConvolutionParameter::has_bias_term() const {
20370   return (_has_bits_[0] & 0x00000002u) != 0;
20371 }
20372 inline void ConvolutionParameter::set_has_bias_term() {
20373   _has_bits_[0] |= 0x00000002u;
20374 }
20375 inline void ConvolutionParameter::clear_has_bias_term() {
20376   _has_bits_[0] &= ~0x00000002u;
20377 }
20378 inline void ConvolutionParameter::clear_bias_term() {
20379   bias_term_ = true;
20380   clear_has_bias_term();
20381 }
20382 inline bool ConvolutionParameter::bias_term() const {
20383   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_term)
20384   return bias_term_;
20385 }
20386 inline void ConvolutionParameter::set_bias_term(bool value) {
20387   set_has_bias_term();
20388   bias_term_ = value;
20389   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.bias_term)
20390 }
20391
20392 // repeated uint32 pad = 3;
20393 inline int ConvolutionParameter::pad_size() const {
20394   return pad_.size();
20395 }
20396 inline void ConvolutionParameter::clear_pad() {
20397   pad_.Clear();
20398 }
20399 inline ::google::protobuf::uint32 ConvolutionParameter::pad(int index) const {
20400   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad)
20401   return pad_.Get(index);
20402 }
20403 inline void ConvolutionParameter::set_pad(int index, ::google::protobuf::uint32 value) {
20404   pad_.Set(index, value);
20405   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad)
20406 }
20407 inline void ConvolutionParameter::add_pad(::google::protobuf::uint32 value) {
20408   pad_.Add(value);
20409   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.pad)
20410 }
20411 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20412 ConvolutionParameter::pad() const {
20413   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.pad)
20414   return pad_;
20415 }
20416 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20417 ConvolutionParameter::mutable_pad() {
20418   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.pad)
20419   return &pad_;
20420 }
20421
20422 // repeated uint32 kernel_size = 4;
20423 inline int ConvolutionParameter::kernel_size_size() const {
20424   return kernel_size_.size();
20425 }
20426 inline void ConvolutionParameter::clear_kernel_size() {
20427   kernel_size_.Clear();
20428 }
20429 inline ::google::protobuf::uint32 ConvolutionParameter::kernel_size(int index) const {
20430   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_size)
20431   return kernel_size_.Get(index);
20432 }
20433 inline void ConvolutionParameter::set_kernel_size(int index, ::google::protobuf::uint32 value) {
20434   kernel_size_.Set(index, value);
20435   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_size)
20436 }
20437 inline void ConvolutionParameter::add_kernel_size(::google::protobuf::uint32 value) {
20438   kernel_size_.Add(value);
20439   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.kernel_size)
20440 }
20441 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20442 ConvolutionParameter::kernel_size() const {
20443   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.kernel_size)
20444   return kernel_size_;
20445 }
20446 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20447 ConvolutionParameter::mutable_kernel_size() {
20448   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.kernel_size)
20449   return &kernel_size_;
20450 }
20451
20452 // repeated uint32 stride = 6;
20453 inline int ConvolutionParameter::stride_size() const {
20454   return stride_.size();
20455 }
20456 inline void ConvolutionParameter::clear_stride() {
20457   stride_.Clear();
20458 }
20459 inline ::google::protobuf::uint32 ConvolutionParameter::stride(int index) const {
20460   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride)
20461   return stride_.Get(index);
20462 }
20463 inline void ConvolutionParameter::set_stride(int index, ::google::protobuf::uint32 value) {
20464   stride_.Set(index, value);
20465   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride)
20466 }
20467 inline void ConvolutionParameter::add_stride(::google::protobuf::uint32 value) {
20468   stride_.Add(value);
20469   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.stride)
20470 }
20471 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20472 ConvolutionParameter::stride() const {
20473   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.stride)
20474   return stride_;
20475 }
20476 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20477 ConvolutionParameter::mutable_stride() {
20478   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.stride)
20479   return &stride_;
20480 }
20481
20482 // repeated uint32 dilation = 18;
20483 inline int ConvolutionParameter::dilation_size() const {
20484   return dilation_.size();
20485 }
20486 inline void ConvolutionParameter::clear_dilation() {
20487   dilation_.Clear();
20488 }
20489 inline ::google::protobuf::uint32 ConvolutionParameter::dilation(int index) const {
20490   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.dilation)
20491   return dilation_.Get(index);
20492 }
20493 inline void ConvolutionParameter::set_dilation(int index, ::google::protobuf::uint32 value) {
20494   dilation_.Set(index, value);
20495   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.dilation)
20496 }
20497 inline void ConvolutionParameter::add_dilation(::google::protobuf::uint32 value) {
20498   dilation_.Add(value);
20499   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.dilation)
20500 }
20501 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20502 ConvolutionParameter::dilation() const {
20503   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.dilation)
20504   return dilation_;
20505 }
20506 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20507 ConvolutionParameter::mutable_dilation() {
20508   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.dilation)
20509   return &dilation_;
20510 }
20511
20512 // optional uint32 pad_h = 9 [default = 0];
20513 inline bool ConvolutionParameter::has_pad_h() const {
20514   return (_has_bits_[0] & 0x00000040u) != 0;
20515 }
20516 inline void ConvolutionParameter::set_has_pad_h() {
20517   _has_bits_[0] |= 0x00000040u;
20518 }
20519 inline void ConvolutionParameter::clear_has_pad_h() {
20520   _has_bits_[0] &= ~0x00000040u;
20521 }
20522 inline void ConvolutionParameter::clear_pad_h() {
20523   pad_h_ = 0u;
20524   clear_has_pad_h();
20525 }
20526 inline ::google::protobuf::uint32 ConvolutionParameter::pad_h() const {
20527   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_h)
20528   return pad_h_;
20529 }
20530 inline void ConvolutionParameter::set_pad_h(::google::protobuf::uint32 value) {
20531   set_has_pad_h();
20532   pad_h_ = value;
20533   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_h)
20534 }
20535
20536 // optional uint32 pad_w = 10 [default = 0];
20537 inline bool ConvolutionParameter::has_pad_w() const {
20538   return (_has_bits_[0] & 0x00000080u) != 0;
20539 }
20540 inline void ConvolutionParameter::set_has_pad_w() {
20541   _has_bits_[0] |= 0x00000080u;
20542 }
20543 inline void ConvolutionParameter::clear_has_pad_w() {
20544   _has_bits_[0] &= ~0x00000080u;
20545 }
20546 inline void ConvolutionParameter::clear_pad_w() {
20547   pad_w_ = 0u;
20548   clear_has_pad_w();
20549 }
20550 inline ::google::protobuf::uint32 ConvolutionParameter::pad_w() const {
20551   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_w)
20552   return pad_w_;
20553 }
20554 inline void ConvolutionParameter::set_pad_w(::google::protobuf::uint32 value) {
20555   set_has_pad_w();
20556   pad_w_ = value;
20557   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_w)
20558 }
20559
20560 // optional uint32 kernel_h = 11;
20561 inline bool ConvolutionParameter::has_kernel_h() const {
20562   return (_has_bits_[0] & 0x00000100u) != 0;
20563 }
20564 inline void ConvolutionParameter::set_has_kernel_h() {
20565   _has_bits_[0] |= 0x00000100u;
20566 }
20567 inline void ConvolutionParameter::clear_has_kernel_h() {
20568   _has_bits_[0] &= ~0x00000100u;
20569 }
20570 inline void ConvolutionParameter::clear_kernel_h() {
20571   kernel_h_ = 0u;
20572   clear_has_kernel_h();
20573 }
20574 inline ::google::protobuf::uint32 ConvolutionParameter::kernel_h() const {
20575   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_h)
20576   return kernel_h_;
20577 }
20578 inline void ConvolutionParameter::set_kernel_h(::google::protobuf::uint32 value) {
20579   set_has_kernel_h();
20580   kernel_h_ = value;
20581   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_h)
20582 }
20583
20584 // optional uint32 kernel_w = 12;
20585 inline bool ConvolutionParameter::has_kernel_w() const {
20586   return (_has_bits_[0] & 0x00000200u) != 0;
20587 }
20588 inline void ConvolutionParameter::set_has_kernel_w() {
20589   _has_bits_[0] |= 0x00000200u;
20590 }
20591 inline void ConvolutionParameter::clear_has_kernel_w() {
20592   _has_bits_[0] &= ~0x00000200u;
20593 }
20594 inline void ConvolutionParameter::clear_kernel_w() {
20595   kernel_w_ = 0u;
20596   clear_has_kernel_w();
20597 }
20598 inline ::google::protobuf::uint32 ConvolutionParameter::kernel_w() const {
20599   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_w)
20600   return kernel_w_;
20601 }
20602 inline void ConvolutionParameter::set_kernel_w(::google::protobuf::uint32 value) {
20603   set_has_kernel_w();
20604   kernel_w_ = value;
20605   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_w)
20606 }
20607
20608 // optional uint32 stride_h = 13;
20609 inline bool ConvolutionParameter::has_stride_h() const {
20610   return (_has_bits_[0] & 0x00000400u) != 0;
20611 }
20612 inline void ConvolutionParameter::set_has_stride_h() {
20613   _has_bits_[0] |= 0x00000400u;
20614 }
20615 inline void ConvolutionParameter::clear_has_stride_h() {
20616   _has_bits_[0] &= ~0x00000400u;
20617 }
20618 inline void ConvolutionParameter::clear_stride_h() {
20619   stride_h_ = 0u;
20620   clear_has_stride_h();
20621 }
20622 inline ::google::protobuf::uint32 ConvolutionParameter::stride_h() const {
20623   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_h)
20624   return stride_h_;
20625 }
20626 inline void ConvolutionParameter::set_stride_h(::google::protobuf::uint32 value) {
20627   set_has_stride_h();
20628   stride_h_ = value;
20629   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_h)
20630 }
20631
20632 // optional uint32 stride_w = 14;
20633 inline bool ConvolutionParameter::has_stride_w() const {
20634   return (_has_bits_[0] & 0x00000800u) != 0;
20635 }
20636 inline void ConvolutionParameter::set_has_stride_w() {
20637   _has_bits_[0] |= 0x00000800u;
20638 }
20639 inline void ConvolutionParameter::clear_has_stride_w() {
20640   _has_bits_[0] &= ~0x00000800u;
20641 }
20642 inline void ConvolutionParameter::clear_stride_w() {
20643   stride_w_ = 0u;
20644   clear_has_stride_w();
20645 }
20646 inline ::google::protobuf::uint32 ConvolutionParameter::stride_w() const {
20647   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_w)
20648   return stride_w_;
20649 }
20650 inline void ConvolutionParameter::set_stride_w(::google::protobuf::uint32 value) {
20651   set_has_stride_w();
20652   stride_w_ = value;
20653   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_w)
20654 }
20655
20656 // optional uint32 group = 5 [default = 1];
20657 inline bool ConvolutionParameter::has_group() const {
20658   return (_has_bits_[0] & 0x00001000u) != 0;
20659 }
20660 inline void ConvolutionParameter::set_has_group() {
20661   _has_bits_[0] |= 0x00001000u;
20662 }
20663 inline void ConvolutionParameter::clear_has_group() {
20664   _has_bits_[0] &= ~0x00001000u;
20665 }
20666 inline void ConvolutionParameter::clear_group() {
20667   group_ = 1u;
20668   clear_has_group();
20669 }
20670 inline ::google::protobuf::uint32 ConvolutionParameter::group() const {
20671   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.group)
20672   return group_;
20673 }
20674 inline void ConvolutionParameter::set_group(::google::protobuf::uint32 value) {
20675   set_has_group();
20676   group_ = value;
20677   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.group)
20678 }
20679
20680 // optional .opencv_caffe.FillerParameter weight_filler = 7;
20681 inline bool ConvolutionParameter::has_weight_filler() const {
20682   return (_has_bits_[0] & 0x00002000u) != 0;
20683 }
20684 inline void ConvolutionParameter::set_has_weight_filler() {
20685   _has_bits_[0] |= 0x00002000u;
20686 }
20687 inline void ConvolutionParameter::clear_has_weight_filler() {
20688   _has_bits_[0] &= ~0x00002000u;
20689 }
20690 inline void ConvolutionParameter::clear_weight_filler() {
20691   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
20692   clear_has_weight_filler();
20693 }
20694 inline const ::opencv_caffe::FillerParameter& ConvolutionParameter::weight_filler() const {
20695   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.weight_filler)
20696   return weight_filler_ != NULL ? *weight_filler_
20697                          : *::opencv_caffe::FillerParameter::internal_default_instance();
20698 }
20699 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_weight_filler() {
20700   set_has_weight_filler();
20701   if (weight_filler_ == NULL) {
20702     weight_filler_ = new ::opencv_caffe::FillerParameter;
20703   }
20704   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.weight_filler)
20705   return weight_filler_;
20706 }
20707 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::release_weight_filler() {
20708   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.weight_filler)
20709   clear_has_weight_filler();
20710   ::opencv_caffe::FillerParameter* temp = weight_filler_;
20711   weight_filler_ = NULL;
20712   return temp;
20713 }
20714 inline void ConvolutionParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
20715   delete weight_filler_;
20716   weight_filler_ = weight_filler;
20717   if (weight_filler) {
20718     set_has_weight_filler();
20719   } else {
20720     clear_has_weight_filler();
20721   }
20722   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.weight_filler)
20723 }
20724
20725 // optional .opencv_caffe.FillerParameter bias_filler = 8;
20726 inline bool ConvolutionParameter::has_bias_filler() const {
20727   return (_has_bits_[0] & 0x00004000u) != 0;
20728 }
20729 inline void ConvolutionParameter::set_has_bias_filler() {
20730   _has_bits_[0] |= 0x00004000u;
20731 }
20732 inline void ConvolutionParameter::clear_has_bias_filler() {
20733   _has_bits_[0] &= ~0x00004000u;
20734 }
20735 inline void ConvolutionParameter::clear_bias_filler() {
20736   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
20737   clear_has_bias_filler();
20738 }
20739 inline const ::opencv_caffe::FillerParameter& ConvolutionParameter::bias_filler() const {
20740   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_filler)
20741   return bias_filler_ != NULL ? *bias_filler_
20742                          : *::opencv_caffe::FillerParameter::internal_default_instance();
20743 }
20744 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_bias_filler() {
20745   set_has_bias_filler();
20746   if (bias_filler_ == NULL) {
20747     bias_filler_ = new ::opencv_caffe::FillerParameter;
20748   }
20749   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.bias_filler)
20750   return bias_filler_;
20751 }
20752 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::release_bias_filler() {
20753   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.bias_filler)
20754   clear_has_bias_filler();
20755   ::opencv_caffe::FillerParameter* temp = bias_filler_;
20756   bias_filler_ = NULL;
20757   return temp;
20758 }
20759 inline void ConvolutionParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
20760   delete bias_filler_;
20761   bias_filler_ = bias_filler;
20762   if (bias_filler) {
20763     set_has_bias_filler();
20764   } else {
20765     clear_has_bias_filler();
20766   }
20767   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.bias_filler)
20768 }
20769
20770 // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
20771 inline bool ConvolutionParameter::has_engine() const {
20772   return (_has_bits_[0] & 0x00008000u) != 0;
20773 }
20774 inline void ConvolutionParameter::set_has_engine() {
20775   _has_bits_[0] |= 0x00008000u;
20776 }
20777 inline void ConvolutionParameter::clear_has_engine() {
20778   _has_bits_[0] &= ~0x00008000u;
20779 }
20780 inline void ConvolutionParameter::clear_engine() {
20781   engine_ = 0;
20782   clear_has_engine();
20783 }
20784 inline ::opencv_caffe::ConvolutionParameter_Engine ConvolutionParameter::engine() const {
20785   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.engine)
20786   return static_cast< ::opencv_caffe::ConvolutionParameter_Engine >(engine_);
20787 }
20788 inline void ConvolutionParameter::set_engine(::opencv_caffe::ConvolutionParameter_Engine value) {
20789   assert(::opencv_caffe::ConvolutionParameter_Engine_IsValid(value));
20790   set_has_engine();
20791   engine_ = value;
20792   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.engine)
20793 }
20794
20795 // optional int32 axis = 16 [default = 1];
20796 inline bool ConvolutionParameter::has_axis() const {
20797   return (_has_bits_[0] & 0x00010000u) != 0;
20798 }
20799 inline void ConvolutionParameter::set_has_axis() {
20800   _has_bits_[0] |= 0x00010000u;
20801 }
20802 inline void ConvolutionParameter::clear_has_axis() {
20803   _has_bits_[0] &= ~0x00010000u;
20804 }
20805 inline void ConvolutionParameter::clear_axis() {
20806   axis_ = 1;
20807   clear_has_axis();
20808 }
20809 inline ::google::protobuf::int32 ConvolutionParameter::axis() const {
20810   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.axis)
20811   return axis_;
20812 }
20813 inline void ConvolutionParameter::set_axis(::google::protobuf::int32 value) {
20814   set_has_axis();
20815   axis_ = value;
20816   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.axis)
20817 }
20818
20819 // optional bool force_nd_im2col = 17 [default = false];
20820 inline bool ConvolutionParameter::has_force_nd_im2col() const {
20821   return (_has_bits_[0] & 0x00020000u) != 0;
20822 }
20823 inline void ConvolutionParameter::set_has_force_nd_im2col() {
20824   _has_bits_[0] |= 0x00020000u;
20825 }
20826 inline void ConvolutionParameter::clear_has_force_nd_im2col() {
20827   _has_bits_[0] &= ~0x00020000u;
20828 }
20829 inline void ConvolutionParameter::clear_force_nd_im2col() {
20830   force_nd_im2col_ = false;
20831   clear_has_force_nd_im2col();
20832 }
20833 inline bool ConvolutionParameter::force_nd_im2col() const {
20834   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.force_nd_im2col)
20835   return force_nd_im2col_;
20836 }
20837 inline void ConvolutionParameter::set_force_nd_im2col(bool value) {
20838   set_has_force_nd_im2col();
20839   force_nd_im2col_ = value;
20840   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.force_nd_im2col)
20841 }
20842
20843 inline const ConvolutionParameter* ConvolutionParameter::internal_default_instance() {
20844   return &ConvolutionParameter_default_instance_.get();
20845 }
20846 // -------------------------------------------------------------------
20847
20848 // CropParameter
20849
20850 // optional int32 axis = 1 [default = 2];
20851 inline bool CropParameter::has_axis() const {
20852   return (_has_bits_[0] & 0x00000001u) != 0;
20853 }
20854 inline void CropParameter::set_has_axis() {
20855   _has_bits_[0] |= 0x00000001u;
20856 }
20857 inline void CropParameter::clear_has_axis() {
20858   _has_bits_[0] &= ~0x00000001u;
20859 }
20860 inline void CropParameter::clear_axis() {
20861   axis_ = 2;
20862   clear_has_axis();
20863 }
20864 inline ::google::protobuf::int32 CropParameter::axis() const {
20865   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.axis)
20866   return axis_;
20867 }
20868 inline void CropParameter::set_axis(::google::protobuf::int32 value) {
20869   set_has_axis();
20870   axis_ = value;
20871   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.axis)
20872 }
20873
20874 // repeated uint32 offset = 2;
20875 inline int CropParameter::offset_size() const {
20876   return offset_.size();
20877 }
20878 inline void CropParameter::clear_offset() {
20879   offset_.Clear();
20880 }
20881 inline ::google::protobuf::uint32 CropParameter::offset(int index) const {
20882   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.offset)
20883   return offset_.Get(index);
20884 }
20885 inline void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) {
20886   offset_.Set(index, value);
20887   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.offset)
20888 }
20889 inline void CropParameter::add_offset(::google::protobuf::uint32 value) {
20890   offset_.Add(value);
20891   // @@protoc_insertion_point(field_add:opencv_caffe.CropParameter.offset)
20892 }
20893 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20894 CropParameter::offset() const {
20895   // @@protoc_insertion_point(field_list:opencv_caffe.CropParameter.offset)
20896   return offset_;
20897 }
20898 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20899 CropParameter::mutable_offset() {
20900   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.CropParameter.offset)
20901   return &offset_;
20902 }
20903
20904 inline const CropParameter* CropParameter::internal_default_instance() {
20905   return &CropParameter_default_instance_.get();
20906 }
20907 // -------------------------------------------------------------------
20908
20909 // DataParameter
20910
20911 // optional string source = 1;
20912 inline bool DataParameter::has_source() const {
20913   return (_has_bits_[0] & 0x00000001u) != 0;
20914 }
20915 inline void DataParameter::set_has_source() {
20916   _has_bits_[0] |= 0x00000001u;
20917 }
20918 inline void DataParameter::clear_has_source() {
20919   _has_bits_[0] &= ~0x00000001u;
20920 }
20921 inline void DataParameter::clear_source() {
20922   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
20923   clear_has_source();
20924 }
20925 inline const ::std::string& DataParameter::source() const {
20926   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.source)
20927   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
20928 }
20929 inline void DataParameter::set_source(const ::std::string& value) {
20930   set_has_source();
20931   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
20932   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.source)
20933 }
20934 inline void DataParameter::set_source(const char* value) {
20935   set_has_source();
20936   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
20937   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.source)
20938 }
20939 inline void DataParameter::set_source(const char* value, size_t size) {
20940   set_has_source();
20941   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
20942       ::std::string(reinterpret_cast<const char*>(value), size));
20943   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.source)
20944 }
20945 inline ::std::string* DataParameter::mutable_source() {
20946   set_has_source();
20947   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.source)
20948   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
20949 }
20950 inline ::std::string* DataParameter::release_source() {
20951   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.source)
20952   clear_has_source();
20953   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
20954 }
20955 inline void DataParameter::set_allocated_source(::std::string* source) {
20956   if (source != NULL) {
20957     set_has_source();
20958   } else {
20959     clear_has_source();
20960   }
20961   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
20962   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.source)
20963 }
20964
20965 // optional uint32 batch_size = 4;
20966 inline bool DataParameter::has_batch_size() const {
20967   return (_has_bits_[0] & 0x00000002u) != 0;
20968 }
20969 inline void DataParameter::set_has_batch_size() {
20970   _has_bits_[0] |= 0x00000002u;
20971 }
20972 inline void DataParameter::clear_has_batch_size() {
20973   _has_bits_[0] &= ~0x00000002u;
20974 }
20975 inline void DataParameter::clear_batch_size() {
20976   batch_size_ = 0u;
20977   clear_has_batch_size();
20978 }
20979 inline ::google::protobuf::uint32 DataParameter::batch_size() const {
20980   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.batch_size)
20981   return batch_size_;
20982 }
20983 inline void DataParameter::set_batch_size(::google::protobuf::uint32 value) {
20984   set_has_batch_size();
20985   batch_size_ = value;
20986   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.batch_size)
20987 }
20988
20989 // optional uint32 rand_skip = 7 [default = 0];
20990 inline bool DataParameter::has_rand_skip() const {
20991   return (_has_bits_[0] & 0x00000004u) != 0;
20992 }
20993 inline void DataParameter::set_has_rand_skip() {
20994   _has_bits_[0] |= 0x00000004u;
20995 }
20996 inline void DataParameter::clear_has_rand_skip() {
20997   _has_bits_[0] &= ~0x00000004u;
20998 }
20999 inline void DataParameter::clear_rand_skip() {
21000   rand_skip_ = 0u;
21001   clear_has_rand_skip();
21002 }
21003 inline ::google::protobuf::uint32 DataParameter::rand_skip() const {
21004   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.rand_skip)
21005   return rand_skip_;
21006 }
21007 inline void DataParameter::set_rand_skip(::google::protobuf::uint32 value) {
21008   set_has_rand_skip();
21009   rand_skip_ = value;
21010   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.rand_skip)
21011 }
21012
21013 // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
21014 inline bool DataParameter::has_backend() const {
21015   return (_has_bits_[0] & 0x00000008u) != 0;
21016 }
21017 inline void DataParameter::set_has_backend() {
21018   _has_bits_[0] |= 0x00000008u;
21019 }
21020 inline void DataParameter::clear_has_backend() {
21021   _has_bits_[0] &= ~0x00000008u;
21022 }
21023 inline void DataParameter::clear_backend() {
21024   backend_ = 0;
21025   clear_has_backend();
21026 }
21027 inline ::opencv_caffe::DataParameter_DB DataParameter::backend() const {
21028   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.backend)
21029   return static_cast< ::opencv_caffe::DataParameter_DB >(backend_);
21030 }
21031 inline void DataParameter::set_backend(::opencv_caffe::DataParameter_DB value) {
21032   assert(::opencv_caffe::DataParameter_DB_IsValid(value));
21033   set_has_backend();
21034   backend_ = value;
21035   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.backend)
21036 }
21037
21038 // optional float scale = 2 [default = 1];
21039 inline bool DataParameter::has_scale() const {
21040   return (_has_bits_[0] & 0x00000010u) != 0;
21041 }
21042 inline void DataParameter::set_has_scale() {
21043   _has_bits_[0] |= 0x00000010u;
21044 }
21045 inline void DataParameter::clear_has_scale() {
21046   _has_bits_[0] &= ~0x00000010u;
21047 }
21048 inline void DataParameter::clear_scale() {
21049   scale_ = 1;
21050   clear_has_scale();
21051 }
21052 inline float DataParameter::scale() const {
21053   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.scale)
21054   return scale_;
21055 }
21056 inline void DataParameter::set_scale(float value) {
21057   set_has_scale();
21058   scale_ = value;
21059   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.scale)
21060 }
21061
21062 // optional string mean_file = 3;
21063 inline bool DataParameter::has_mean_file() const {
21064   return (_has_bits_[0] & 0x00000020u) != 0;
21065 }
21066 inline void DataParameter::set_has_mean_file() {
21067   _has_bits_[0] |= 0x00000020u;
21068 }
21069 inline void DataParameter::clear_has_mean_file() {
21070   _has_bits_[0] &= ~0x00000020u;
21071 }
21072 inline void DataParameter::clear_mean_file() {
21073   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21074   clear_has_mean_file();
21075 }
21076 inline const ::std::string& DataParameter::mean_file() const {
21077   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mean_file)
21078   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21079 }
21080 inline void DataParameter::set_mean_file(const ::std::string& value) {
21081   set_has_mean_file();
21082   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21083   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mean_file)
21084 }
21085 inline void DataParameter::set_mean_file(const char* value) {
21086   set_has_mean_file();
21087   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21088   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.mean_file)
21089 }
21090 inline void DataParameter::set_mean_file(const char* value, size_t size) {
21091   set_has_mean_file();
21092   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21093       ::std::string(reinterpret_cast<const char*>(value), size));
21094   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.mean_file)
21095 }
21096 inline ::std::string* DataParameter::mutable_mean_file() {
21097   set_has_mean_file();
21098   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.mean_file)
21099   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21100 }
21101 inline ::std::string* DataParameter::release_mean_file() {
21102   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.mean_file)
21103   clear_has_mean_file();
21104   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21105 }
21106 inline void DataParameter::set_allocated_mean_file(::std::string* mean_file) {
21107   if (mean_file != NULL) {
21108     set_has_mean_file();
21109   } else {
21110     clear_has_mean_file();
21111   }
21112   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
21113   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.mean_file)
21114 }
21115
21116 // optional uint32 crop_size = 5 [default = 0];
21117 inline bool DataParameter::has_crop_size() const {
21118   return (_has_bits_[0] & 0x00000040u) != 0;
21119 }
21120 inline void DataParameter::set_has_crop_size() {
21121   _has_bits_[0] |= 0x00000040u;
21122 }
21123 inline void DataParameter::clear_has_crop_size() {
21124   _has_bits_[0] &= ~0x00000040u;
21125 }
21126 inline void DataParameter::clear_crop_size() {
21127   crop_size_ = 0u;
21128   clear_has_crop_size();
21129 }
21130 inline ::google::protobuf::uint32 DataParameter::crop_size() const {
21131   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.crop_size)
21132   return crop_size_;
21133 }
21134 inline void DataParameter::set_crop_size(::google::protobuf::uint32 value) {
21135   set_has_crop_size();
21136   crop_size_ = value;
21137   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.crop_size)
21138 }
21139
21140 // optional bool mirror = 6 [default = false];
21141 inline bool DataParameter::has_mirror() const {
21142   return (_has_bits_[0] & 0x00000080u) != 0;
21143 }
21144 inline void DataParameter::set_has_mirror() {
21145   _has_bits_[0] |= 0x00000080u;
21146 }
21147 inline void DataParameter::clear_has_mirror() {
21148   _has_bits_[0] &= ~0x00000080u;
21149 }
21150 inline void DataParameter::clear_mirror() {
21151   mirror_ = false;
21152   clear_has_mirror();
21153 }
21154 inline bool DataParameter::mirror() const {
21155   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mirror)
21156   return mirror_;
21157 }
21158 inline void DataParameter::set_mirror(bool value) {
21159   set_has_mirror();
21160   mirror_ = value;
21161   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mirror)
21162 }
21163
21164 // optional bool force_encoded_color = 9 [default = false];
21165 inline bool DataParameter::has_force_encoded_color() const {
21166   return (_has_bits_[0] & 0x00000100u) != 0;
21167 }
21168 inline void DataParameter::set_has_force_encoded_color() {
21169   _has_bits_[0] |= 0x00000100u;
21170 }
21171 inline void DataParameter::clear_has_force_encoded_color() {
21172   _has_bits_[0] &= ~0x00000100u;
21173 }
21174 inline void DataParameter::clear_force_encoded_color() {
21175   force_encoded_color_ = false;
21176   clear_has_force_encoded_color();
21177 }
21178 inline bool DataParameter::force_encoded_color() const {
21179   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.force_encoded_color)
21180   return force_encoded_color_;
21181 }
21182 inline void DataParameter::set_force_encoded_color(bool value) {
21183   set_has_force_encoded_color();
21184   force_encoded_color_ = value;
21185   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.force_encoded_color)
21186 }
21187
21188 // optional uint32 prefetch = 10 [default = 4];
21189 inline bool DataParameter::has_prefetch() const {
21190   return (_has_bits_[0] & 0x00000200u) != 0;
21191 }
21192 inline void DataParameter::set_has_prefetch() {
21193   _has_bits_[0] |= 0x00000200u;
21194 }
21195 inline void DataParameter::clear_has_prefetch() {
21196   _has_bits_[0] &= ~0x00000200u;
21197 }
21198 inline void DataParameter::clear_prefetch() {
21199   prefetch_ = 4u;
21200   clear_has_prefetch();
21201 }
21202 inline ::google::protobuf::uint32 DataParameter::prefetch() const {
21203   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.prefetch)
21204   return prefetch_;
21205 }
21206 inline void DataParameter::set_prefetch(::google::protobuf::uint32 value) {
21207   set_has_prefetch();
21208   prefetch_ = value;
21209   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.prefetch)
21210 }
21211
21212 inline const DataParameter* DataParameter::internal_default_instance() {
21213   return &DataParameter_default_instance_.get();
21214 }
21215 // -------------------------------------------------------------------
21216
21217 // NonMaximumSuppressionParameter
21218
21219 // optional float nms_threshold = 1 [default = 0.3];
21220 inline bool NonMaximumSuppressionParameter::has_nms_threshold() const {
21221   return (_has_bits_[0] & 0x00000001u) != 0;
21222 }
21223 inline void NonMaximumSuppressionParameter::set_has_nms_threshold() {
21224   _has_bits_[0] |= 0x00000001u;
21225 }
21226 inline void NonMaximumSuppressionParameter::clear_has_nms_threshold() {
21227   _has_bits_[0] &= ~0x00000001u;
21228 }
21229 inline void NonMaximumSuppressionParameter::clear_nms_threshold() {
21230   nms_threshold_ = 0.3f;
21231   clear_has_nms_threshold();
21232 }
21233 inline float NonMaximumSuppressionParameter::nms_threshold() const {
21234   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
21235   return nms_threshold_;
21236 }
21237 inline void NonMaximumSuppressionParameter::set_nms_threshold(float value) {
21238   set_has_nms_threshold();
21239   nms_threshold_ = value;
21240   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
21241 }
21242
21243 // optional int32 top_k = 2;
21244 inline bool NonMaximumSuppressionParameter::has_top_k() const {
21245   return (_has_bits_[0] & 0x00000002u) != 0;
21246 }
21247 inline void NonMaximumSuppressionParameter::set_has_top_k() {
21248   _has_bits_[0] |= 0x00000002u;
21249 }
21250 inline void NonMaximumSuppressionParameter::clear_has_top_k() {
21251   _has_bits_[0] &= ~0x00000002u;
21252 }
21253 inline void NonMaximumSuppressionParameter::clear_top_k() {
21254   top_k_ = 0;
21255   clear_has_top_k();
21256 }
21257 inline ::google::protobuf::int32 NonMaximumSuppressionParameter::top_k() const {
21258   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.top_k)
21259   return top_k_;
21260 }
21261 inline void NonMaximumSuppressionParameter::set_top_k(::google::protobuf::int32 value) {
21262   set_has_top_k();
21263   top_k_ = value;
21264   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.top_k)
21265 }
21266
21267 // optional float eta = 3 [default = 1];
21268 inline bool NonMaximumSuppressionParameter::has_eta() const {
21269   return (_has_bits_[0] & 0x00000004u) != 0;
21270 }
21271 inline void NonMaximumSuppressionParameter::set_has_eta() {
21272   _has_bits_[0] |= 0x00000004u;
21273 }
21274 inline void NonMaximumSuppressionParameter::clear_has_eta() {
21275   _has_bits_[0] &= ~0x00000004u;
21276 }
21277 inline void NonMaximumSuppressionParameter::clear_eta() {
21278   eta_ = 1;
21279   clear_has_eta();
21280 }
21281 inline float NonMaximumSuppressionParameter::eta() const {
21282   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.eta)
21283   return eta_;
21284 }
21285 inline void NonMaximumSuppressionParameter::set_eta(float value) {
21286   set_has_eta();
21287   eta_ = value;
21288   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.eta)
21289 }
21290
21291 inline const NonMaximumSuppressionParameter* NonMaximumSuppressionParameter::internal_default_instance() {
21292   return &NonMaximumSuppressionParameter_default_instance_.get();
21293 }
21294 // -------------------------------------------------------------------
21295
21296 // SaveOutputParameter
21297
21298 // optional string output_directory = 1;
21299 inline bool SaveOutputParameter::has_output_directory() const {
21300   return (_has_bits_[0] & 0x00000001u) != 0;
21301 }
21302 inline void SaveOutputParameter::set_has_output_directory() {
21303   _has_bits_[0] |= 0x00000001u;
21304 }
21305 inline void SaveOutputParameter::clear_has_output_directory() {
21306   _has_bits_[0] &= ~0x00000001u;
21307 }
21308 inline void SaveOutputParameter::clear_output_directory() {
21309   output_directory_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21310   clear_has_output_directory();
21311 }
21312 inline const ::std::string& SaveOutputParameter::output_directory() const {
21313   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_directory)
21314   return output_directory_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21315 }
21316 inline void SaveOutputParameter::set_output_directory(const ::std::string& value) {
21317   set_has_output_directory();
21318   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21319   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_directory)
21320 }
21321 inline void SaveOutputParameter::set_output_directory(const char* value) {
21322   set_has_output_directory();
21323   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21324   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_directory)
21325 }
21326 inline void SaveOutputParameter::set_output_directory(const char* value, size_t size) {
21327   set_has_output_directory();
21328   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21329       ::std::string(reinterpret_cast<const char*>(value), size));
21330   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_directory)
21331 }
21332 inline ::std::string* SaveOutputParameter::mutable_output_directory() {
21333   set_has_output_directory();
21334   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_directory)
21335   return output_directory_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21336 }
21337 inline ::std::string* SaveOutputParameter::release_output_directory() {
21338   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_directory)
21339   clear_has_output_directory();
21340   return output_directory_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21341 }
21342 inline void SaveOutputParameter::set_allocated_output_directory(::std::string* output_directory) {
21343   if (output_directory != NULL) {
21344     set_has_output_directory();
21345   } else {
21346     clear_has_output_directory();
21347   }
21348   output_directory_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_directory);
21349   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_directory)
21350 }
21351
21352 // optional string output_name_prefix = 2;
21353 inline bool SaveOutputParameter::has_output_name_prefix() const {
21354   return (_has_bits_[0] & 0x00000002u) != 0;
21355 }
21356 inline void SaveOutputParameter::set_has_output_name_prefix() {
21357   _has_bits_[0] |= 0x00000002u;
21358 }
21359 inline void SaveOutputParameter::clear_has_output_name_prefix() {
21360   _has_bits_[0] &= ~0x00000002u;
21361 }
21362 inline void SaveOutputParameter::clear_output_name_prefix() {
21363   output_name_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21364   clear_has_output_name_prefix();
21365 }
21366 inline const ::std::string& SaveOutputParameter::output_name_prefix() const {
21367   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_name_prefix)
21368   return output_name_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21369 }
21370 inline void SaveOutputParameter::set_output_name_prefix(const ::std::string& value) {
21371   set_has_output_name_prefix();
21372   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21373   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_name_prefix)
21374 }
21375 inline void SaveOutputParameter::set_output_name_prefix(const char* value) {
21376   set_has_output_name_prefix();
21377   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21378   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_name_prefix)
21379 }
21380 inline void SaveOutputParameter::set_output_name_prefix(const char* value, size_t size) {
21381   set_has_output_name_prefix();
21382   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21383       ::std::string(reinterpret_cast<const char*>(value), size));
21384   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_name_prefix)
21385 }
21386 inline ::std::string* SaveOutputParameter::mutable_output_name_prefix() {
21387   set_has_output_name_prefix();
21388   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_name_prefix)
21389   return output_name_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21390 }
21391 inline ::std::string* SaveOutputParameter::release_output_name_prefix() {
21392   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_name_prefix)
21393   clear_has_output_name_prefix();
21394   return output_name_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21395 }
21396 inline void SaveOutputParameter::set_allocated_output_name_prefix(::std::string* output_name_prefix) {
21397   if (output_name_prefix != NULL) {
21398     set_has_output_name_prefix();
21399   } else {
21400     clear_has_output_name_prefix();
21401   }
21402   output_name_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_name_prefix);
21403   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_name_prefix)
21404 }
21405
21406 // optional string output_format = 3;
21407 inline bool SaveOutputParameter::has_output_format() const {
21408   return (_has_bits_[0] & 0x00000004u) != 0;
21409 }
21410 inline void SaveOutputParameter::set_has_output_format() {
21411   _has_bits_[0] |= 0x00000004u;
21412 }
21413 inline void SaveOutputParameter::clear_has_output_format() {
21414   _has_bits_[0] &= ~0x00000004u;
21415 }
21416 inline void SaveOutputParameter::clear_output_format() {
21417   output_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21418   clear_has_output_format();
21419 }
21420 inline const ::std::string& SaveOutputParameter::output_format() const {
21421   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_format)
21422   return output_format_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21423 }
21424 inline void SaveOutputParameter::set_output_format(const ::std::string& value) {
21425   set_has_output_format();
21426   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21427   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_format)
21428 }
21429 inline void SaveOutputParameter::set_output_format(const char* value) {
21430   set_has_output_format();
21431   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21432   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_format)
21433 }
21434 inline void SaveOutputParameter::set_output_format(const char* value, size_t size) {
21435   set_has_output_format();
21436   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21437       ::std::string(reinterpret_cast<const char*>(value), size));
21438   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_format)
21439 }
21440 inline ::std::string* SaveOutputParameter::mutable_output_format() {
21441   set_has_output_format();
21442   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_format)
21443   return output_format_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21444 }
21445 inline ::std::string* SaveOutputParameter::release_output_format() {
21446   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_format)
21447   clear_has_output_format();
21448   return output_format_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21449 }
21450 inline void SaveOutputParameter::set_allocated_output_format(::std::string* output_format) {
21451   if (output_format != NULL) {
21452     set_has_output_format();
21453   } else {
21454     clear_has_output_format();
21455   }
21456   output_format_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_format);
21457   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_format)
21458 }
21459
21460 // optional string label_map_file = 4;
21461 inline bool SaveOutputParameter::has_label_map_file() const {
21462   return (_has_bits_[0] & 0x00000008u) != 0;
21463 }
21464 inline void SaveOutputParameter::set_has_label_map_file() {
21465   _has_bits_[0] |= 0x00000008u;
21466 }
21467 inline void SaveOutputParameter::clear_has_label_map_file() {
21468   _has_bits_[0] &= ~0x00000008u;
21469 }
21470 inline void SaveOutputParameter::clear_label_map_file() {
21471   label_map_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21472   clear_has_label_map_file();
21473 }
21474 inline const ::std::string& SaveOutputParameter::label_map_file() const {
21475   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.label_map_file)
21476   return label_map_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21477 }
21478 inline void SaveOutputParameter::set_label_map_file(const ::std::string& value) {
21479   set_has_label_map_file();
21480   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21481   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.label_map_file)
21482 }
21483 inline void SaveOutputParameter::set_label_map_file(const char* value) {
21484   set_has_label_map_file();
21485   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21486   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.label_map_file)
21487 }
21488 inline void SaveOutputParameter::set_label_map_file(const char* value, size_t size) {
21489   set_has_label_map_file();
21490   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21491       ::std::string(reinterpret_cast<const char*>(value), size));
21492   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.label_map_file)
21493 }
21494 inline ::std::string* SaveOutputParameter::mutable_label_map_file() {
21495   set_has_label_map_file();
21496   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.label_map_file)
21497   return label_map_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21498 }
21499 inline ::std::string* SaveOutputParameter::release_label_map_file() {
21500   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.label_map_file)
21501   clear_has_label_map_file();
21502   return label_map_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21503 }
21504 inline void SaveOutputParameter::set_allocated_label_map_file(::std::string* label_map_file) {
21505   if (label_map_file != NULL) {
21506     set_has_label_map_file();
21507   } else {
21508     clear_has_label_map_file();
21509   }
21510   label_map_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), label_map_file);
21511   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.label_map_file)
21512 }
21513
21514 // optional string name_size_file = 5;
21515 inline bool SaveOutputParameter::has_name_size_file() const {
21516   return (_has_bits_[0] & 0x00000010u) != 0;
21517 }
21518 inline void SaveOutputParameter::set_has_name_size_file() {
21519   _has_bits_[0] |= 0x00000010u;
21520 }
21521 inline void SaveOutputParameter::clear_has_name_size_file() {
21522   _has_bits_[0] &= ~0x00000010u;
21523 }
21524 inline void SaveOutputParameter::clear_name_size_file() {
21525   name_size_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21526   clear_has_name_size_file();
21527 }
21528 inline const ::std::string& SaveOutputParameter::name_size_file() const {
21529   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.name_size_file)
21530   return name_size_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21531 }
21532 inline void SaveOutputParameter::set_name_size_file(const ::std::string& value) {
21533   set_has_name_size_file();
21534   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21535   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.name_size_file)
21536 }
21537 inline void SaveOutputParameter::set_name_size_file(const char* value) {
21538   set_has_name_size_file();
21539   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21540   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.name_size_file)
21541 }
21542 inline void SaveOutputParameter::set_name_size_file(const char* value, size_t size) {
21543   set_has_name_size_file();
21544   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21545       ::std::string(reinterpret_cast<const char*>(value), size));
21546   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.name_size_file)
21547 }
21548 inline ::std::string* SaveOutputParameter::mutable_name_size_file() {
21549   set_has_name_size_file();
21550   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.name_size_file)
21551   return name_size_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21552 }
21553 inline ::std::string* SaveOutputParameter::release_name_size_file() {
21554   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.name_size_file)
21555   clear_has_name_size_file();
21556   return name_size_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21557 }
21558 inline void SaveOutputParameter::set_allocated_name_size_file(::std::string* name_size_file) {
21559   if (name_size_file != NULL) {
21560     set_has_name_size_file();
21561   } else {
21562     clear_has_name_size_file();
21563   }
21564   name_size_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name_size_file);
21565   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.name_size_file)
21566 }
21567
21568 // optional uint32 num_test_image = 6;
21569 inline bool SaveOutputParameter::has_num_test_image() const {
21570   return (_has_bits_[0] & 0x00000020u) != 0;
21571 }
21572 inline void SaveOutputParameter::set_has_num_test_image() {
21573   _has_bits_[0] |= 0x00000020u;
21574 }
21575 inline void SaveOutputParameter::clear_has_num_test_image() {
21576   _has_bits_[0] &= ~0x00000020u;
21577 }
21578 inline void SaveOutputParameter::clear_num_test_image() {
21579   num_test_image_ = 0u;
21580   clear_has_num_test_image();
21581 }
21582 inline ::google::protobuf::uint32 SaveOutputParameter::num_test_image() const {
21583   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.num_test_image)
21584   return num_test_image_;
21585 }
21586 inline void SaveOutputParameter::set_num_test_image(::google::protobuf::uint32 value) {
21587   set_has_num_test_image();
21588   num_test_image_ = value;
21589   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.num_test_image)
21590 }
21591
21592 inline const SaveOutputParameter* SaveOutputParameter::internal_default_instance() {
21593   return &SaveOutputParameter_default_instance_.get();
21594 }
21595 // -------------------------------------------------------------------
21596
21597 // DropoutParameter
21598
21599 // optional float dropout_ratio = 1 [default = 0.5];
21600 inline bool DropoutParameter::has_dropout_ratio() const {
21601   return (_has_bits_[0] & 0x00000001u) != 0;
21602 }
21603 inline void DropoutParameter::set_has_dropout_ratio() {
21604   _has_bits_[0] |= 0x00000001u;
21605 }
21606 inline void DropoutParameter::clear_has_dropout_ratio() {
21607   _has_bits_[0] &= ~0x00000001u;
21608 }
21609 inline void DropoutParameter::clear_dropout_ratio() {
21610   dropout_ratio_ = 0.5f;
21611   clear_has_dropout_ratio();
21612 }
21613 inline float DropoutParameter::dropout_ratio() const {
21614   // @@protoc_insertion_point(field_get:opencv_caffe.DropoutParameter.dropout_ratio)
21615   return dropout_ratio_;
21616 }
21617 inline void DropoutParameter::set_dropout_ratio(float value) {
21618   set_has_dropout_ratio();
21619   dropout_ratio_ = value;
21620   // @@protoc_insertion_point(field_set:opencv_caffe.DropoutParameter.dropout_ratio)
21621 }
21622
21623 inline const DropoutParameter* DropoutParameter::internal_default_instance() {
21624   return &DropoutParameter_default_instance_.get();
21625 }
21626 // -------------------------------------------------------------------
21627
21628 // DummyDataParameter
21629
21630 // repeated .opencv_caffe.FillerParameter data_filler = 1;
21631 inline int DummyDataParameter::data_filler_size() const {
21632   return data_filler_.size();
21633 }
21634 inline void DummyDataParameter::clear_data_filler() {
21635   data_filler_.Clear();
21636 }
21637 inline const ::opencv_caffe::FillerParameter& DummyDataParameter::data_filler(int index) const {
21638   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.data_filler)
21639   return data_filler_.Get(index);
21640 }
21641 inline ::opencv_caffe::FillerParameter* DummyDataParameter::mutable_data_filler(int index) {
21642   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.data_filler)
21643   return data_filler_.Mutable(index);
21644 }
21645 inline ::opencv_caffe::FillerParameter* DummyDataParameter::add_data_filler() {
21646   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.data_filler)
21647   return data_filler_.Add();
21648 }
21649 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >*
21650 DummyDataParameter::mutable_data_filler() {
21651   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.data_filler)
21652   return &data_filler_;
21653 }
21654 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >&
21655 DummyDataParameter::data_filler() const {
21656   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.data_filler)
21657   return data_filler_;
21658 }
21659
21660 // repeated .opencv_caffe.BlobShape shape = 6;
21661 inline int DummyDataParameter::shape_size() const {
21662   return shape_.size();
21663 }
21664 inline void DummyDataParameter::clear_shape() {
21665   shape_.Clear();
21666 }
21667 inline const ::opencv_caffe::BlobShape& DummyDataParameter::shape(int index) const {
21668   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.shape)
21669   return shape_.Get(index);
21670 }
21671 inline ::opencv_caffe::BlobShape* DummyDataParameter::mutable_shape(int index) {
21672   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.shape)
21673   return shape_.Mutable(index);
21674 }
21675 inline ::opencv_caffe::BlobShape* DummyDataParameter::add_shape() {
21676   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.shape)
21677   return shape_.Add();
21678 }
21679 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
21680 DummyDataParameter::mutable_shape() {
21681   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.shape)
21682   return &shape_;
21683 }
21684 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
21685 DummyDataParameter::shape() const {
21686   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.shape)
21687   return shape_;
21688 }
21689
21690 // repeated uint32 num = 2;
21691 inline int DummyDataParameter::num_size() const {
21692   return num_.size();
21693 }
21694 inline void DummyDataParameter::clear_num() {
21695   num_.Clear();
21696 }
21697 inline ::google::protobuf::uint32 DummyDataParameter::num(int index) const {
21698   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.num)
21699   return num_.Get(index);
21700 }
21701 inline void DummyDataParameter::set_num(int index, ::google::protobuf::uint32 value) {
21702   num_.Set(index, value);
21703   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.num)
21704 }
21705 inline void DummyDataParameter::add_num(::google::protobuf::uint32 value) {
21706   num_.Add(value);
21707   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.num)
21708 }
21709 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
21710 DummyDataParameter::num() const {
21711   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.num)
21712   return num_;
21713 }
21714 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
21715 DummyDataParameter::mutable_num() {
21716   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.num)
21717   return &num_;
21718 }
21719
21720 // repeated uint32 channels = 3;
21721 inline int DummyDataParameter::channels_size() const {
21722   return channels_.size();
21723 }
21724 inline void DummyDataParameter::clear_channels() {
21725   channels_.Clear();
21726 }
21727 inline ::google::protobuf::uint32 DummyDataParameter::channels(int index) const {
21728   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.channels)
21729   return channels_.Get(index);
21730 }
21731 inline void DummyDataParameter::set_channels(int index, ::google::protobuf::uint32 value) {
21732   channels_.Set(index, value);
21733   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.channels)
21734 }
21735 inline void DummyDataParameter::add_channels(::google::protobuf::uint32 value) {
21736   channels_.Add(value);
21737   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.channels)
21738 }
21739 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
21740 DummyDataParameter::channels() const {
21741   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.channels)
21742   return channels_;
21743 }
21744 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
21745 DummyDataParameter::mutable_channels() {
21746   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.channels)
21747   return &channels_;
21748 }
21749
21750 // repeated uint32 height = 4;
21751 inline int DummyDataParameter::height_size() const {
21752   return height_.size();
21753 }
21754 inline void DummyDataParameter::clear_height() {
21755   height_.Clear();
21756 }
21757 inline ::google::protobuf::uint32 DummyDataParameter::height(int index) const {
21758   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.height)
21759   return height_.Get(index);
21760 }
21761 inline void DummyDataParameter::set_height(int index, ::google::protobuf::uint32 value) {
21762   height_.Set(index, value);
21763   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.height)
21764 }
21765 inline void DummyDataParameter::add_height(::google::protobuf::uint32 value) {
21766   height_.Add(value);
21767   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.height)
21768 }
21769 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
21770 DummyDataParameter::height() const {
21771   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.height)
21772   return height_;
21773 }
21774 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
21775 DummyDataParameter::mutable_height() {
21776   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.height)
21777   return &height_;
21778 }
21779
21780 // repeated uint32 width = 5;
21781 inline int DummyDataParameter::width_size() const {
21782   return width_.size();
21783 }
21784 inline void DummyDataParameter::clear_width() {
21785   width_.Clear();
21786 }
21787 inline ::google::protobuf::uint32 DummyDataParameter::width(int index) const {
21788   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.width)
21789   return width_.Get(index);
21790 }
21791 inline void DummyDataParameter::set_width(int index, ::google::protobuf::uint32 value) {
21792   width_.Set(index, value);
21793   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.width)
21794 }
21795 inline void DummyDataParameter::add_width(::google::protobuf::uint32 value) {
21796   width_.Add(value);
21797   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.width)
21798 }
21799 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
21800 DummyDataParameter::width() const {
21801   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.width)
21802   return width_;
21803 }
21804 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
21805 DummyDataParameter::mutable_width() {
21806   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.width)
21807   return &width_;
21808 }
21809
21810 inline const DummyDataParameter* DummyDataParameter::internal_default_instance() {
21811   return &DummyDataParameter_default_instance_.get();
21812 }
21813 // -------------------------------------------------------------------
21814
21815 // EltwiseParameter
21816
21817 // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
21818 inline bool EltwiseParameter::has_operation() const {
21819   return (_has_bits_[0] & 0x00000001u) != 0;
21820 }
21821 inline void EltwiseParameter::set_has_operation() {
21822   _has_bits_[0] |= 0x00000001u;
21823 }
21824 inline void EltwiseParameter::clear_has_operation() {
21825   _has_bits_[0] &= ~0x00000001u;
21826 }
21827 inline void EltwiseParameter::clear_operation() {
21828   operation_ = 1;
21829   clear_has_operation();
21830 }
21831 inline ::opencv_caffe::EltwiseParameter_EltwiseOp EltwiseParameter::operation() const {
21832   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.operation)
21833   return static_cast< ::opencv_caffe::EltwiseParameter_EltwiseOp >(operation_);
21834 }
21835 inline void EltwiseParameter::set_operation(::opencv_caffe::EltwiseParameter_EltwiseOp value) {
21836   assert(::opencv_caffe::EltwiseParameter_EltwiseOp_IsValid(value));
21837   set_has_operation();
21838   operation_ = value;
21839   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.operation)
21840 }
21841
21842 // repeated float coeff = 2;
21843 inline int EltwiseParameter::coeff_size() const {
21844   return coeff_.size();
21845 }
21846 inline void EltwiseParameter::clear_coeff() {
21847   coeff_.Clear();
21848 }
21849 inline float EltwiseParameter::coeff(int index) const {
21850   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.coeff)
21851   return coeff_.Get(index);
21852 }
21853 inline void EltwiseParameter::set_coeff(int index, float value) {
21854   coeff_.Set(index, value);
21855   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.coeff)
21856 }
21857 inline void EltwiseParameter::add_coeff(float value) {
21858   coeff_.Add(value);
21859   // @@protoc_insertion_point(field_add:opencv_caffe.EltwiseParameter.coeff)
21860 }
21861 inline const ::google::protobuf::RepeatedField< float >&
21862 EltwiseParameter::coeff() const {
21863   // @@protoc_insertion_point(field_list:opencv_caffe.EltwiseParameter.coeff)
21864   return coeff_;
21865 }
21866 inline ::google::protobuf::RepeatedField< float >*
21867 EltwiseParameter::mutable_coeff() {
21868   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.EltwiseParameter.coeff)
21869   return &coeff_;
21870 }
21871
21872 // optional bool stable_prod_grad = 3 [default = true];
21873 inline bool EltwiseParameter::has_stable_prod_grad() const {
21874   return (_has_bits_[0] & 0x00000004u) != 0;
21875 }
21876 inline void EltwiseParameter::set_has_stable_prod_grad() {
21877   _has_bits_[0] |= 0x00000004u;
21878 }
21879 inline void EltwiseParameter::clear_has_stable_prod_grad() {
21880   _has_bits_[0] &= ~0x00000004u;
21881 }
21882 inline void EltwiseParameter::clear_stable_prod_grad() {
21883   stable_prod_grad_ = true;
21884   clear_has_stable_prod_grad();
21885 }
21886 inline bool EltwiseParameter::stable_prod_grad() const {
21887   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.stable_prod_grad)
21888   return stable_prod_grad_;
21889 }
21890 inline void EltwiseParameter::set_stable_prod_grad(bool value) {
21891   set_has_stable_prod_grad();
21892   stable_prod_grad_ = value;
21893   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.stable_prod_grad)
21894 }
21895
21896 inline const EltwiseParameter* EltwiseParameter::internal_default_instance() {
21897   return &EltwiseParameter_default_instance_.get();
21898 }
21899 // -------------------------------------------------------------------
21900
21901 // ELUParameter
21902
21903 // optional float alpha = 1 [default = 1];
21904 inline bool ELUParameter::has_alpha() const {
21905   return (_has_bits_[0] & 0x00000001u) != 0;
21906 }
21907 inline void ELUParameter::set_has_alpha() {
21908   _has_bits_[0] |= 0x00000001u;
21909 }
21910 inline void ELUParameter::clear_has_alpha() {
21911   _has_bits_[0] &= ~0x00000001u;
21912 }
21913 inline void ELUParameter::clear_alpha() {
21914   alpha_ = 1;
21915   clear_has_alpha();
21916 }
21917 inline float ELUParameter::alpha() const {
21918   // @@protoc_insertion_point(field_get:opencv_caffe.ELUParameter.alpha)
21919   return alpha_;
21920 }
21921 inline void ELUParameter::set_alpha(float value) {
21922   set_has_alpha();
21923   alpha_ = value;
21924   // @@protoc_insertion_point(field_set:opencv_caffe.ELUParameter.alpha)
21925 }
21926
21927 inline const ELUParameter* ELUParameter::internal_default_instance() {
21928   return &ELUParameter_default_instance_.get();
21929 }
21930 // -------------------------------------------------------------------
21931
21932 // EmbedParameter
21933
21934 // optional uint32 num_output = 1;
21935 inline bool EmbedParameter::has_num_output() const {
21936   return (_has_bits_[0] & 0x00000001u) != 0;
21937 }
21938 inline void EmbedParameter::set_has_num_output() {
21939   _has_bits_[0] |= 0x00000001u;
21940 }
21941 inline void EmbedParameter::clear_has_num_output() {
21942   _has_bits_[0] &= ~0x00000001u;
21943 }
21944 inline void EmbedParameter::clear_num_output() {
21945   num_output_ = 0u;
21946   clear_has_num_output();
21947 }
21948 inline ::google::protobuf::uint32 EmbedParameter::num_output() const {
21949   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.num_output)
21950   return num_output_;
21951 }
21952 inline void EmbedParameter::set_num_output(::google::protobuf::uint32 value) {
21953   set_has_num_output();
21954   num_output_ = value;
21955   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.num_output)
21956 }
21957
21958 // optional uint32 input_dim = 2;
21959 inline bool EmbedParameter::has_input_dim() const {
21960   return (_has_bits_[0] & 0x00000002u) != 0;
21961 }
21962 inline void EmbedParameter::set_has_input_dim() {
21963   _has_bits_[0] |= 0x00000002u;
21964 }
21965 inline void EmbedParameter::clear_has_input_dim() {
21966   _has_bits_[0] &= ~0x00000002u;
21967 }
21968 inline void EmbedParameter::clear_input_dim() {
21969   input_dim_ = 0u;
21970   clear_has_input_dim();
21971 }
21972 inline ::google::protobuf::uint32 EmbedParameter::input_dim() const {
21973   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.input_dim)
21974   return input_dim_;
21975 }
21976 inline void EmbedParameter::set_input_dim(::google::protobuf::uint32 value) {
21977   set_has_input_dim();
21978   input_dim_ = value;
21979   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.input_dim)
21980 }
21981
21982 // optional bool bias_term = 3 [default = true];
21983 inline bool EmbedParameter::has_bias_term() const {
21984   return (_has_bits_[0] & 0x00000004u) != 0;
21985 }
21986 inline void EmbedParameter::set_has_bias_term() {
21987   _has_bits_[0] |= 0x00000004u;
21988 }
21989 inline void EmbedParameter::clear_has_bias_term() {
21990   _has_bits_[0] &= ~0x00000004u;
21991 }
21992 inline void EmbedParameter::clear_bias_term() {
21993   bias_term_ = true;
21994   clear_has_bias_term();
21995 }
21996 inline bool EmbedParameter::bias_term() const {
21997   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_term)
21998   return bias_term_;
21999 }
22000 inline void EmbedParameter::set_bias_term(bool value) {
22001   set_has_bias_term();
22002   bias_term_ = value;
22003   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.bias_term)
22004 }
22005
22006 // optional .opencv_caffe.FillerParameter weight_filler = 4;
22007 inline bool EmbedParameter::has_weight_filler() const {
22008   return (_has_bits_[0] & 0x00000008u) != 0;
22009 }
22010 inline void EmbedParameter::set_has_weight_filler() {
22011   _has_bits_[0] |= 0x00000008u;
22012 }
22013 inline void EmbedParameter::clear_has_weight_filler() {
22014   _has_bits_[0] &= ~0x00000008u;
22015 }
22016 inline void EmbedParameter::clear_weight_filler() {
22017   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
22018   clear_has_weight_filler();
22019 }
22020 inline const ::opencv_caffe::FillerParameter& EmbedParameter::weight_filler() const {
22021   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.weight_filler)
22022   return weight_filler_ != NULL ? *weight_filler_
22023                          : *::opencv_caffe::FillerParameter::internal_default_instance();
22024 }
22025 inline ::opencv_caffe::FillerParameter* EmbedParameter::mutable_weight_filler() {
22026   set_has_weight_filler();
22027   if (weight_filler_ == NULL) {
22028     weight_filler_ = new ::opencv_caffe::FillerParameter;
22029   }
22030   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.weight_filler)
22031   return weight_filler_;
22032 }
22033 inline ::opencv_caffe::FillerParameter* EmbedParameter::release_weight_filler() {
22034   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.weight_filler)
22035   clear_has_weight_filler();
22036   ::opencv_caffe::FillerParameter* temp = weight_filler_;
22037   weight_filler_ = NULL;
22038   return temp;
22039 }
22040 inline void EmbedParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
22041   delete weight_filler_;
22042   weight_filler_ = weight_filler;
22043   if (weight_filler) {
22044     set_has_weight_filler();
22045   } else {
22046     clear_has_weight_filler();
22047   }
22048   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.weight_filler)
22049 }
22050
22051 // optional .opencv_caffe.FillerParameter bias_filler = 5;
22052 inline bool EmbedParameter::has_bias_filler() const {
22053   return (_has_bits_[0] & 0x00000010u) != 0;
22054 }
22055 inline void EmbedParameter::set_has_bias_filler() {
22056   _has_bits_[0] |= 0x00000010u;
22057 }
22058 inline void EmbedParameter::clear_has_bias_filler() {
22059   _has_bits_[0] &= ~0x00000010u;
22060 }
22061 inline void EmbedParameter::clear_bias_filler() {
22062   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
22063   clear_has_bias_filler();
22064 }
22065 inline const ::opencv_caffe::FillerParameter& EmbedParameter::bias_filler() const {
22066   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_filler)
22067   return bias_filler_ != NULL ? *bias_filler_
22068                          : *::opencv_caffe::FillerParameter::internal_default_instance();
22069 }
22070 inline ::opencv_caffe::FillerParameter* EmbedParameter::mutable_bias_filler() {
22071   set_has_bias_filler();
22072   if (bias_filler_ == NULL) {
22073     bias_filler_ = new ::opencv_caffe::FillerParameter;
22074   }
22075   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.bias_filler)
22076   return bias_filler_;
22077 }
22078 inline ::opencv_caffe::FillerParameter* EmbedParameter::release_bias_filler() {
22079   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.bias_filler)
22080   clear_has_bias_filler();
22081   ::opencv_caffe::FillerParameter* temp = bias_filler_;
22082   bias_filler_ = NULL;
22083   return temp;
22084 }
22085 inline void EmbedParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
22086   delete bias_filler_;
22087   bias_filler_ = bias_filler;
22088   if (bias_filler) {
22089     set_has_bias_filler();
22090   } else {
22091     clear_has_bias_filler();
22092   }
22093   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.bias_filler)
22094 }
22095
22096 inline const EmbedParameter* EmbedParameter::internal_default_instance() {
22097   return &EmbedParameter_default_instance_.get();
22098 }
22099 // -------------------------------------------------------------------
22100
22101 // ExpParameter
22102
22103 // optional float base = 1 [default = -1];
22104 inline bool ExpParameter::has_base() const {
22105   return (_has_bits_[0] & 0x00000001u) != 0;
22106 }
22107 inline void ExpParameter::set_has_base() {
22108   _has_bits_[0] |= 0x00000001u;
22109 }
22110 inline void ExpParameter::clear_has_base() {
22111   _has_bits_[0] &= ~0x00000001u;
22112 }
22113 inline void ExpParameter::clear_base() {
22114   base_ = -1;
22115   clear_has_base();
22116 }
22117 inline float ExpParameter::base() const {
22118   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.base)
22119   return base_;
22120 }
22121 inline void ExpParameter::set_base(float value) {
22122   set_has_base();
22123   base_ = value;
22124   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.base)
22125 }
22126
22127 // optional float scale = 2 [default = 1];
22128 inline bool ExpParameter::has_scale() const {
22129   return (_has_bits_[0] & 0x00000002u) != 0;
22130 }
22131 inline void ExpParameter::set_has_scale() {
22132   _has_bits_[0] |= 0x00000002u;
22133 }
22134 inline void ExpParameter::clear_has_scale() {
22135   _has_bits_[0] &= ~0x00000002u;
22136 }
22137 inline void ExpParameter::clear_scale() {
22138   scale_ = 1;
22139   clear_has_scale();
22140 }
22141 inline float ExpParameter::scale() const {
22142   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.scale)
22143   return scale_;
22144 }
22145 inline void ExpParameter::set_scale(float value) {
22146   set_has_scale();
22147   scale_ = value;
22148   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.scale)
22149 }
22150
22151 // optional float shift = 3 [default = 0];
22152 inline bool ExpParameter::has_shift() const {
22153   return (_has_bits_[0] & 0x00000004u) != 0;
22154 }
22155 inline void ExpParameter::set_has_shift() {
22156   _has_bits_[0] |= 0x00000004u;
22157 }
22158 inline void ExpParameter::clear_has_shift() {
22159   _has_bits_[0] &= ~0x00000004u;
22160 }
22161 inline void ExpParameter::clear_shift() {
22162   shift_ = 0;
22163   clear_has_shift();
22164 }
22165 inline float ExpParameter::shift() const {
22166   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.shift)
22167   return shift_;
22168 }
22169 inline void ExpParameter::set_shift(float value) {
22170   set_has_shift();
22171   shift_ = value;
22172   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.shift)
22173 }
22174
22175 inline const ExpParameter* ExpParameter::internal_default_instance() {
22176   return &ExpParameter_default_instance_.get();
22177 }
22178 // -------------------------------------------------------------------
22179
22180 // FlattenParameter
22181
22182 // optional int32 axis = 1 [default = 1];
22183 inline bool FlattenParameter::has_axis() const {
22184   return (_has_bits_[0] & 0x00000001u) != 0;
22185 }
22186 inline void FlattenParameter::set_has_axis() {
22187   _has_bits_[0] |= 0x00000001u;
22188 }
22189 inline void FlattenParameter::clear_has_axis() {
22190   _has_bits_[0] &= ~0x00000001u;
22191 }
22192 inline void FlattenParameter::clear_axis() {
22193   axis_ = 1;
22194   clear_has_axis();
22195 }
22196 inline ::google::protobuf::int32 FlattenParameter::axis() const {
22197   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.axis)
22198   return axis_;
22199 }
22200 inline void FlattenParameter::set_axis(::google::protobuf::int32 value) {
22201   set_has_axis();
22202   axis_ = value;
22203   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.axis)
22204 }
22205
22206 // optional int32 end_axis = 2 [default = -1];
22207 inline bool FlattenParameter::has_end_axis() const {
22208   return (_has_bits_[0] & 0x00000002u) != 0;
22209 }
22210 inline void FlattenParameter::set_has_end_axis() {
22211   _has_bits_[0] |= 0x00000002u;
22212 }
22213 inline void FlattenParameter::clear_has_end_axis() {
22214   _has_bits_[0] &= ~0x00000002u;
22215 }
22216 inline void FlattenParameter::clear_end_axis() {
22217   end_axis_ = -1;
22218   clear_has_end_axis();
22219 }
22220 inline ::google::protobuf::int32 FlattenParameter::end_axis() const {
22221   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.end_axis)
22222   return end_axis_;
22223 }
22224 inline void FlattenParameter::set_end_axis(::google::protobuf::int32 value) {
22225   set_has_end_axis();
22226   end_axis_ = value;
22227   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.end_axis)
22228 }
22229
22230 inline const FlattenParameter* FlattenParameter::internal_default_instance() {
22231   return &FlattenParameter_default_instance_.get();
22232 }
22233 // -------------------------------------------------------------------
22234
22235 // HDF5DataParameter
22236
22237 // optional string source = 1;
22238 inline bool HDF5DataParameter::has_source() const {
22239   return (_has_bits_[0] & 0x00000001u) != 0;
22240 }
22241 inline void HDF5DataParameter::set_has_source() {
22242   _has_bits_[0] |= 0x00000001u;
22243 }
22244 inline void HDF5DataParameter::clear_has_source() {
22245   _has_bits_[0] &= ~0x00000001u;
22246 }
22247 inline void HDF5DataParameter::clear_source() {
22248   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22249   clear_has_source();
22250 }
22251 inline const ::std::string& HDF5DataParameter::source() const {
22252   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.source)
22253   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22254 }
22255 inline void HDF5DataParameter::set_source(const ::std::string& value) {
22256   set_has_source();
22257   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22258   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.source)
22259 }
22260 inline void HDF5DataParameter::set_source(const char* value) {
22261   set_has_source();
22262   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22263   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5DataParameter.source)
22264 }
22265 inline void HDF5DataParameter::set_source(const char* value, size_t size) {
22266   set_has_source();
22267   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22268       ::std::string(reinterpret_cast<const char*>(value), size));
22269   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5DataParameter.source)
22270 }
22271 inline ::std::string* HDF5DataParameter::mutable_source() {
22272   set_has_source();
22273   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5DataParameter.source)
22274   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22275 }
22276 inline ::std::string* HDF5DataParameter::release_source() {
22277   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5DataParameter.source)
22278   clear_has_source();
22279   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22280 }
22281 inline void HDF5DataParameter::set_allocated_source(::std::string* source) {
22282   if (source != NULL) {
22283     set_has_source();
22284   } else {
22285     clear_has_source();
22286   }
22287   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
22288   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5DataParameter.source)
22289 }
22290
22291 // optional uint32 batch_size = 2;
22292 inline bool HDF5DataParameter::has_batch_size() const {
22293   return (_has_bits_[0] & 0x00000002u) != 0;
22294 }
22295 inline void HDF5DataParameter::set_has_batch_size() {
22296   _has_bits_[0] |= 0x00000002u;
22297 }
22298 inline void HDF5DataParameter::clear_has_batch_size() {
22299   _has_bits_[0] &= ~0x00000002u;
22300 }
22301 inline void HDF5DataParameter::clear_batch_size() {
22302   batch_size_ = 0u;
22303   clear_has_batch_size();
22304 }
22305 inline ::google::protobuf::uint32 HDF5DataParameter::batch_size() const {
22306   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.batch_size)
22307   return batch_size_;
22308 }
22309 inline void HDF5DataParameter::set_batch_size(::google::protobuf::uint32 value) {
22310   set_has_batch_size();
22311   batch_size_ = value;
22312   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.batch_size)
22313 }
22314
22315 // optional bool shuffle = 3 [default = false];
22316 inline bool HDF5DataParameter::has_shuffle() const {
22317   return (_has_bits_[0] & 0x00000004u) != 0;
22318 }
22319 inline void HDF5DataParameter::set_has_shuffle() {
22320   _has_bits_[0] |= 0x00000004u;
22321 }
22322 inline void HDF5DataParameter::clear_has_shuffle() {
22323   _has_bits_[0] &= ~0x00000004u;
22324 }
22325 inline void HDF5DataParameter::clear_shuffle() {
22326   shuffle_ = false;
22327   clear_has_shuffle();
22328 }
22329 inline bool HDF5DataParameter::shuffle() const {
22330   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.shuffle)
22331   return shuffle_;
22332 }
22333 inline void HDF5DataParameter::set_shuffle(bool value) {
22334   set_has_shuffle();
22335   shuffle_ = value;
22336   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.shuffle)
22337 }
22338
22339 inline const HDF5DataParameter* HDF5DataParameter::internal_default_instance() {
22340   return &HDF5DataParameter_default_instance_.get();
22341 }
22342 // -------------------------------------------------------------------
22343
22344 // HDF5OutputParameter
22345
22346 // optional string file_name = 1;
22347 inline bool HDF5OutputParameter::has_file_name() const {
22348   return (_has_bits_[0] & 0x00000001u) != 0;
22349 }
22350 inline void HDF5OutputParameter::set_has_file_name() {
22351   _has_bits_[0] |= 0x00000001u;
22352 }
22353 inline void HDF5OutputParameter::clear_has_file_name() {
22354   _has_bits_[0] &= ~0x00000001u;
22355 }
22356 inline void HDF5OutputParameter::clear_file_name() {
22357   file_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22358   clear_has_file_name();
22359 }
22360 inline const ::std::string& HDF5OutputParameter::file_name() const {
22361   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5OutputParameter.file_name)
22362   return file_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22363 }
22364 inline void HDF5OutputParameter::set_file_name(const ::std::string& value) {
22365   set_has_file_name();
22366   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22367   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5OutputParameter.file_name)
22368 }
22369 inline void HDF5OutputParameter::set_file_name(const char* value) {
22370   set_has_file_name();
22371   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22372   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5OutputParameter.file_name)
22373 }
22374 inline void HDF5OutputParameter::set_file_name(const char* value, size_t size) {
22375   set_has_file_name();
22376   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22377       ::std::string(reinterpret_cast<const char*>(value), size));
22378   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5OutputParameter.file_name)
22379 }
22380 inline ::std::string* HDF5OutputParameter::mutable_file_name() {
22381   set_has_file_name();
22382   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5OutputParameter.file_name)
22383   return file_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22384 }
22385 inline ::std::string* HDF5OutputParameter::release_file_name() {
22386   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5OutputParameter.file_name)
22387   clear_has_file_name();
22388   return file_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22389 }
22390 inline void HDF5OutputParameter::set_allocated_file_name(::std::string* file_name) {
22391   if (file_name != NULL) {
22392     set_has_file_name();
22393   } else {
22394     clear_has_file_name();
22395   }
22396   file_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_name);
22397   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5OutputParameter.file_name)
22398 }
22399
22400 inline const HDF5OutputParameter* HDF5OutputParameter::internal_default_instance() {
22401   return &HDF5OutputParameter_default_instance_.get();
22402 }
22403 // -------------------------------------------------------------------
22404
22405 // HingeLossParameter
22406
22407 // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
22408 inline bool HingeLossParameter::has_norm() const {
22409   return (_has_bits_[0] & 0x00000001u) != 0;
22410 }
22411 inline void HingeLossParameter::set_has_norm() {
22412   _has_bits_[0] |= 0x00000001u;
22413 }
22414 inline void HingeLossParameter::clear_has_norm() {
22415   _has_bits_[0] &= ~0x00000001u;
22416 }
22417 inline void HingeLossParameter::clear_norm() {
22418   norm_ = 1;
22419   clear_has_norm();
22420 }
22421 inline ::opencv_caffe::HingeLossParameter_Norm HingeLossParameter::norm() const {
22422   // @@protoc_insertion_point(field_get:opencv_caffe.HingeLossParameter.norm)
22423   return static_cast< ::opencv_caffe::HingeLossParameter_Norm >(norm_);
22424 }
22425 inline void HingeLossParameter::set_norm(::opencv_caffe::HingeLossParameter_Norm value) {
22426   assert(::opencv_caffe::HingeLossParameter_Norm_IsValid(value));
22427   set_has_norm();
22428   norm_ = value;
22429   // @@protoc_insertion_point(field_set:opencv_caffe.HingeLossParameter.norm)
22430 }
22431
22432 inline const HingeLossParameter* HingeLossParameter::internal_default_instance() {
22433   return &HingeLossParameter_default_instance_.get();
22434 }
22435 // -------------------------------------------------------------------
22436
22437 // ImageDataParameter
22438
22439 // optional string source = 1;
22440 inline bool ImageDataParameter::has_source() const {
22441   return (_has_bits_[0] & 0x00000001u) != 0;
22442 }
22443 inline void ImageDataParameter::set_has_source() {
22444   _has_bits_[0] |= 0x00000001u;
22445 }
22446 inline void ImageDataParameter::clear_has_source() {
22447   _has_bits_[0] &= ~0x00000001u;
22448 }
22449 inline void ImageDataParameter::clear_source() {
22450   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22451   clear_has_source();
22452 }
22453 inline const ::std::string& ImageDataParameter::source() const {
22454   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.source)
22455   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22456 }
22457 inline void ImageDataParameter::set_source(const ::std::string& value) {
22458   set_has_source();
22459   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22460   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.source)
22461 }
22462 inline void ImageDataParameter::set_source(const char* value) {
22463   set_has_source();
22464   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22465   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.source)
22466 }
22467 inline void ImageDataParameter::set_source(const char* value, size_t size) {
22468   set_has_source();
22469   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22470       ::std::string(reinterpret_cast<const char*>(value), size));
22471   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.source)
22472 }
22473 inline ::std::string* ImageDataParameter::mutable_source() {
22474   set_has_source();
22475   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.source)
22476   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22477 }
22478 inline ::std::string* ImageDataParameter::release_source() {
22479   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.source)
22480   clear_has_source();
22481   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22482 }
22483 inline void ImageDataParameter::set_allocated_source(::std::string* source) {
22484   if (source != NULL) {
22485     set_has_source();
22486   } else {
22487     clear_has_source();
22488   }
22489   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
22490   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.source)
22491 }
22492
22493 // optional uint32 batch_size = 4 [default = 1];
22494 inline bool ImageDataParameter::has_batch_size() const {
22495   return (_has_bits_[0] & 0x00000002u) != 0;
22496 }
22497 inline void ImageDataParameter::set_has_batch_size() {
22498   _has_bits_[0] |= 0x00000002u;
22499 }
22500 inline void ImageDataParameter::clear_has_batch_size() {
22501   _has_bits_[0] &= ~0x00000002u;
22502 }
22503 inline void ImageDataParameter::clear_batch_size() {
22504   batch_size_ = 1u;
22505   clear_has_batch_size();
22506 }
22507 inline ::google::protobuf::uint32 ImageDataParameter::batch_size() const {
22508   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.batch_size)
22509   return batch_size_;
22510 }
22511 inline void ImageDataParameter::set_batch_size(::google::protobuf::uint32 value) {
22512   set_has_batch_size();
22513   batch_size_ = value;
22514   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.batch_size)
22515 }
22516
22517 // optional uint32 rand_skip = 7 [default = 0];
22518 inline bool ImageDataParameter::has_rand_skip() const {
22519   return (_has_bits_[0] & 0x00000004u) != 0;
22520 }
22521 inline void ImageDataParameter::set_has_rand_skip() {
22522   _has_bits_[0] |= 0x00000004u;
22523 }
22524 inline void ImageDataParameter::clear_has_rand_skip() {
22525   _has_bits_[0] &= ~0x00000004u;
22526 }
22527 inline void ImageDataParameter::clear_rand_skip() {
22528   rand_skip_ = 0u;
22529   clear_has_rand_skip();
22530 }
22531 inline ::google::protobuf::uint32 ImageDataParameter::rand_skip() const {
22532   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.rand_skip)
22533   return rand_skip_;
22534 }
22535 inline void ImageDataParameter::set_rand_skip(::google::protobuf::uint32 value) {
22536   set_has_rand_skip();
22537   rand_skip_ = value;
22538   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.rand_skip)
22539 }
22540
22541 // optional bool shuffle = 8 [default = false];
22542 inline bool ImageDataParameter::has_shuffle() const {
22543   return (_has_bits_[0] & 0x00000008u) != 0;
22544 }
22545 inline void ImageDataParameter::set_has_shuffle() {
22546   _has_bits_[0] |= 0x00000008u;
22547 }
22548 inline void ImageDataParameter::clear_has_shuffle() {
22549   _has_bits_[0] &= ~0x00000008u;
22550 }
22551 inline void ImageDataParameter::clear_shuffle() {
22552   shuffle_ = false;
22553   clear_has_shuffle();
22554 }
22555 inline bool ImageDataParameter::shuffle() const {
22556   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.shuffle)
22557   return shuffle_;
22558 }
22559 inline void ImageDataParameter::set_shuffle(bool value) {
22560   set_has_shuffle();
22561   shuffle_ = value;
22562   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.shuffle)
22563 }
22564
22565 // optional uint32 new_height = 9 [default = 0];
22566 inline bool ImageDataParameter::has_new_height() const {
22567   return (_has_bits_[0] & 0x00000010u) != 0;
22568 }
22569 inline void ImageDataParameter::set_has_new_height() {
22570   _has_bits_[0] |= 0x00000010u;
22571 }
22572 inline void ImageDataParameter::clear_has_new_height() {
22573   _has_bits_[0] &= ~0x00000010u;
22574 }
22575 inline void ImageDataParameter::clear_new_height() {
22576   new_height_ = 0u;
22577   clear_has_new_height();
22578 }
22579 inline ::google::protobuf::uint32 ImageDataParameter::new_height() const {
22580   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_height)
22581   return new_height_;
22582 }
22583 inline void ImageDataParameter::set_new_height(::google::protobuf::uint32 value) {
22584   set_has_new_height();
22585   new_height_ = value;
22586   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_height)
22587 }
22588
22589 // optional uint32 new_width = 10 [default = 0];
22590 inline bool ImageDataParameter::has_new_width() const {
22591   return (_has_bits_[0] & 0x00000020u) != 0;
22592 }
22593 inline void ImageDataParameter::set_has_new_width() {
22594   _has_bits_[0] |= 0x00000020u;
22595 }
22596 inline void ImageDataParameter::clear_has_new_width() {
22597   _has_bits_[0] &= ~0x00000020u;
22598 }
22599 inline void ImageDataParameter::clear_new_width() {
22600   new_width_ = 0u;
22601   clear_has_new_width();
22602 }
22603 inline ::google::protobuf::uint32 ImageDataParameter::new_width() const {
22604   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_width)
22605   return new_width_;
22606 }
22607 inline void ImageDataParameter::set_new_width(::google::protobuf::uint32 value) {
22608   set_has_new_width();
22609   new_width_ = value;
22610   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_width)
22611 }
22612
22613 // optional bool is_color = 11 [default = true];
22614 inline bool ImageDataParameter::has_is_color() const {
22615   return (_has_bits_[0] & 0x00000040u) != 0;
22616 }
22617 inline void ImageDataParameter::set_has_is_color() {
22618   _has_bits_[0] |= 0x00000040u;
22619 }
22620 inline void ImageDataParameter::clear_has_is_color() {
22621   _has_bits_[0] &= ~0x00000040u;
22622 }
22623 inline void ImageDataParameter::clear_is_color() {
22624   is_color_ = true;
22625   clear_has_is_color();
22626 }
22627 inline bool ImageDataParameter::is_color() const {
22628   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.is_color)
22629   return is_color_;
22630 }
22631 inline void ImageDataParameter::set_is_color(bool value) {
22632   set_has_is_color();
22633   is_color_ = value;
22634   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.is_color)
22635 }
22636
22637 // optional float scale = 2 [default = 1];
22638 inline bool ImageDataParameter::has_scale() const {
22639   return (_has_bits_[0] & 0x00000080u) != 0;
22640 }
22641 inline void ImageDataParameter::set_has_scale() {
22642   _has_bits_[0] |= 0x00000080u;
22643 }
22644 inline void ImageDataParameter::clear_has_scale() {
22645   _has_bits_[0] &= ~0x00000080u;
22646 }
22647 inline void ImageDataParameter::clear_scale() {
22648   scale_ = 1;
22649   clear_has_scale();
22650 }
22651 inline float ImageDataParameter::scale() const {
22652   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.scale)
22653   return scale_;
22654 }
22655 inline void ImageDataParameter::set_scale(float value) {
22656   set_has_scale();
22657   scale_ = value;
22658   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.scale)
22659 }
22660
22661 // optional string mean_file = 3;
22662 inline bool ImageDataParameter::has_mean_file() const {
22663   return (_has_bits_[0] & 0x00000100u) != 0;
22664 }
22665 inline void ImageDataParameter::set_has_mean_file() {
22666   _has_bits_[0] |= 0x00000100u;
22667 }
22668 inline void ImageDataParameter::clear_has_mean_file() {
22669   _has_bits_[0] &= ~0x00000100u;
22670 }
22671 inline void ImageDataParameter::clear_mean_file() {
22672   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22673   clear_has_mean_file();
22674 }
22675 inline const ::std::string& ImageDataParameter::mean_file() const {
22676   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mean_file)
22677   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22678 }
22679 inline void ImageDataParameter::set_mean_file(const ::std::string& value) {
22680   set_has_mean_file();
22681   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22682   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mean_file)
22683 }
22684 inline void ImageDataParameter::set_mean_file(const char* value) {
22685   set_has_mean_file();
22686   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22687   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.mean_file)
22688 }
22689 inline void ImageDataParameter::set_mean_file(const char* value, size_t size) {
22690   set_has_mean_file();
22691   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22692       ::std::string(reinterpret_cast<const char*>(value), size));
22693   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.mean_file)
22694 }
22695 inline ::std::string* ImageDataParameter::mutable_mean_file() {
22696   set_has_mean_file();
22697   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.mean_file)
22698   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22699 }
22700 inline ::std::string* ImageDataParameter::release_mean_file() {
22701   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.mean_file)
22702   clear_has_mean_file();
22703   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22704 }
22705 inline void ImageDataParameter::set_allocated_mean_file(::std::string* mean_file) {
22706   if (mean_file != NULL) {
22707     set_has_mean_file();
22708   } else {
22709     clear_has_mean_file();
22710   }
22711   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
22712   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.mean_file)
22713 }
22714
22715 // optional uint32 crop_size = 5 [default = 0];
22716 inline bool ImageDataParameter::has_crop_size() const {
22717   return (_has_bits_[0] & 0x00000200u) != 0;
22718 }
22719 inline void ImageDataParameter::set_has_crop_size() {
22720   _has_bits_[0] |= 0x00000200u;
22721 }
22722 inline void ImageDataParameter::clear_has_crop_size() {
22723   _has_bits_[0] &= ~0x00000200u;
22724 }
22725 inline void ImageDataParameter::clear_crop_size() {
22726   crop_size_ = 0u;
22727   clear_has_crop_size();
22728 }
22729 inline ::google::protobuf::uint32 ImageDataParameter::crop_size() const {
22730   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.crop_size)
22731   return crop_size_;
22732 }
22733 inline void ImageDataParameter::set_crop_size(::google::protobuf::uint32 value) {
22734   set_has_crop_size();
22735   crop_size_ = value;
22736   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.crop_size)
22737 }
22738
22739 // optional bool mirror = 6 [default = false];
22740 inline bool ImageDataParameter::has_mirror() const {
22741   return (_has_bits_[0] & 0x00000400u) != 0;
22742 }
22743 inline void ImageDataParameter::set_has_mirror() {
22744   _has_bits_[0] |= 0x00000400u;
22745 }
22746 inline void ImageDataParameter::clear_has_mirror() {
22747   _has_bits_[0] &= ~0x00000400u;
22748 }
22749 inline void ImageDataParameter::clear_mirror() {
22750   mirror_ = false;
22751   clear_has_mirror();
22752 }
22753 inline bool ImageDataParameter::mirror() const {
22754   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mirror)
22755   return mirror_;
22756 }
22757 inline void ImageDataParameter::set_mirror(bool value) {
22758   set_has_mirror();
22759   mirror_ = value;
22760   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mirror)
22761 }
22762
22763 // optional string root_folder = 12 [default = ""];
22764 inline bool ImageDataParameter::has_root_folder() const {
22765   return (_has_bits_[0] & 0x00000800u) != 0;
22766 }
22767 inline void ImageDataParameter::set_has_root_folder() {
22768   _has_bits_[0] |= 0x00000800u;
22769 }
22770 inline void ImageDataParameter::clear_has_root_folder() {
22771   _has_bits_[0] &= ~0x00000800u;
22772 }
22773 inline void ImageDataParameter::clear_root_folder() {
22774   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22775   clear_has_root_folder();
22776 }
22777 inline const ::std::string& ImageDataParameter::root_folder() const {
22778   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.root_folder)
22779   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22780 }
22781 inline void ImageDataParameter::set_root_folder(const ::std::string& value) {
22782   set_has_root_folder();
22783   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22784   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.root_folder)
22785 }
22786 inline void ImageDataParameter::set_root_folder(const char* value) {
22787   set_has_root_folder();
22788   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22789   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.root_folder)
22790 }
22791 inline void ImageDataParameter::set_root_folder(const char* value, size_t size) {
22792   set_has_root_folder();
22793   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22794       ::std::string(reinterpret_cast<const char*>(value), size));
22795   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.root_folder)
22796 }
22797 inline ::std::string* ImageDataParameter::mutable_root_folder() {
22798   set_has_root_folder();
22799   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.root_folder)
22800   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22801 }
22802 inline ::std::string* ImageDataParameter::release_root_folder() {
22803   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.root_folder)
22804   clear_has_root_folder();
22805   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22806 }
22807 inline void ImageDataParameter::set_allocated_root_folder(::std::string* root_folder) {
22808   if (root_folder != NULL) {
22809     set_has_root_folder();
22810   } else {
22811     clear_has_root_folder();
22812   }
22813   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
22814   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.root_folder)
22815 }
22816
22817 inline const ImageDataParameter* ImageDataParameter::internal_default_instance() {
22818   return &ImageDataParameter_default_instance_.get();
22819 }
22820 // -------------------------------------------------------------------
22821
22822 // InfogainLossParameter
22823
22824 // optional string source = 1;
22825 inline bool InfogainLossParameter::has_source() const {
22826   return (_has_bits_[0] & 0x00000001u) != 0;
22827 }
22828 inline void InfogainLossParameter::set_has_source() {
22829   _has_bits_[0] |= 0x00000001u;
22830 }
22831 inline void InfogainLossParameter::clear_has_source() {
22832   _has_bits_[0] &= ~0x00000001u;
22833 }
22834 inline void InfogainLossParameter::clear_source() {
22835   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22836   clear_has_source();
22837 }
22838 inline const ::std::string& InfogainLossParameter::source() const {
22839   // @@protoc_insertion_point(field_get:opencv_caffe.InfogainLossParameter.source)
22840   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22841 }
22842 inline void InfogainLossParameter::set_source(const ::std::string& value) {
22843   set_has_source();
22844   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22845   // @@protoc_insertion_point(field_set:opencv_caffe.InfogainLossParameter.source)
22846 }
22847 inline void InfogainLossParameter::set_source(const char* value) {
22848   set_has_source();
22849   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22850   // @@protoc_insertion_point(field_set_char:opencv_caffe.InfogainLossParameter.source)
22851 }
22852 inline void InfogainLossParameter::set_source(const char* value, size_t size) {
22853   set_has_source();
22854   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22855       ::std::string(reinterpret_cast<const char*>(value), size));
22856   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.InfogainLossParameter.source)
22857 }
22858 inline ::std::string* InfogainLossParameter::mutable_source() {
22859   set_has_source();
22860   // @@protoc_insertion_point(field_mutable:opencv_caffe.InfogainLossParameter.source)
22861   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22862 }
22863 inline ::std::string* InfogainLossParameter::release_source() {
22864   // @@protoc_insertion_point(field_release:opencv_caffe.InfogainLossParameter.source)
22865   clear_has_source();
22866   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22867 }
22868 inline void InfogainLossParameter::set_allocated_source(::std::string* source) {
22869   if (source != NULL) {
22870     set_has_source();
22871   } else {
22872     clear_has_source();
22873   }
22874   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
22875   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InfogainLossParameter.source)
22876 }
22877
22878 inline const InfogainLossParameter* InfogainLossParameter::internal_default_instance() {
22879   return &InfogainLossParameter_default_instance_.get();
22880 }
22881 // -------------------------------------------------------------------
22882
22883 // InnerProductParameter
22884
22885 // optional uint32 num_output = 1;
22886 inline bool InnerProductParameter::has_num_output() const {
22887   return (_has_bits_[0] & 0x00000001u) != 0;
22888 }
22889 inline void InnerProductParameter::set_has_num_output() {
22890   _has_bits_[0] |= 0x00000001u;
22891 }
22892 inline void InnerProductParameter::clear_has_num_output() {
22893   _has_bits_[0] &= ~0x00000001u;
22894 }
22895 inline void InnerProductParameter::clear_num_output() {
22896   num_output_ = 0u;
22897   clear_has_num_output();
22898 }
22899 inline ::google::protobuf::uint32 InnerProductParameter::num_output() const {
22900   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.num_output)
22901   return num_output_;
22902 }
22903 inline void InnerProductParameter::set_num_output(::google::protobuf::uint32 value) {
22904   set_has_num_output();
22905   num_output_ = value;
22906   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.num_output)
22907 }
22908
22909 // optional bool bias_term = 2 [default = true];
22910 inline bool InnerProductParameter::has_bias_term() const {
22911   return (_has_bits_[0] & 0x00000002u) != 0;
22912 }
22913 inline void InnerProductParameter::set_has_bias_term() {
22914   _has_bits_[0] |= 0x00000002u;
22915 }
22916 inline void InnerProductParameter::clear_has_bias_term() {
22917   _has_bits_[0] &= ~0x00000002u;
22918 }
22919 inline void InnerProductParameter::clear_bias_term() {
22920   bias_term_ = true;
22921   clear_has_bias_term();
22922 }
22923 inline bool InnerProductParameter::bias_term() const {
22924   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_term)
22925   return bias_term_;
22926 }
22927 inline void InnerProductParameter::set_bias_term(bool value) {
22928   set_has_bias_term();
22929   bias_term_ = value;
22930   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.bias_term)
22931 }
22932
22933 // optional .opencv_caffe.FillerParameter weight_filler = 3;
22934 inline bool InnerProductParameter::has_weight_filler() const {
22935   return (_has_bits_[0] & 0x00000004u) != 0;
22936 }
22937 inline void InnerProductParameter::set_has_weight_filler() {
22938   _has_bits_[0] |= 0x00000004u;
22939 }
22940 inline void InnerProductParameter::clear_has_weight_filler() {
22941   _has_bits_[0] &= ~0x00000004u;
22942 }
22943 inline void InnerProductParameter::clear_weight_filler() {
22944   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
22945   clear_has_weight_filler();
22946 }
22947 inline const ::opencv_caffe::FillerParameter& InnerProductParameter::weight_filler() const {
22948   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.weight_filler)
22949   return weight_filler_ != NULL ? *weight_filler_
22950                          : *::opencv_caffe::FillerParameter::internal_default_instance();
22951 }
22952 inline ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_weight_filler() {
22953   set_has_weight_filler();
22954   if (weight_filler_ == NULL) {
22955     weight_filler_ = new ::opencv_caffe::FillerParameter;
22956   }
22957   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.weight_filler)
22958   return weight_filler_;
22959 }
22960 inline ::opencv_caffe::FillerParameter* InnerProductParameter::release_weight_filler() {
22961   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.weight_filler)
22962   clear_has_weight_filler();
22963   ::opencv_caffe::FillerParameter* temp = weight_filler_;
22964   weight_filler_ = NULL;
22965   return temp;
22966 }
22967 inline void InnerProductParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
22968   delete weight_filler_;
22969   weight_filler_ = weight_filler;
22970   if (weight_filler) {
22971     set_has_weight_filler();
22972   } else {
22973     clear_has_weight_filler();
22974   }
22975   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.weight_filler)
22976 }
22977
22978 // optional .opencv_caffe.FillerParameter bias_filler = 4;
22979 inline bool InnerProductParameter::has_bias_filler() const {
22980   return (_has_bits_[0] & 0x00000008u) != 0;
22981 }
22982 inline void InnerProductParameter::set_has_bias_filler() {
22983   _has_bits_[0] |= 0x00000008u;
22984 }
22985 inline void InnerProductParameter::clear_has_bias_filler() {
22986   _has_bits_[0] &= ~0x00000008u;
22987 }
22988 inline void InnerProductParameter::clear_bias_filler() {
22989   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
22990   clear_has_bias_filler();
22991 }
22992 inline const ::opencv_caffe::FillerParameter& InnerProductParameter::bias_filler() const {
22993   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_filler)
22994   return bias_filler_ != NULL ? *bias_filler_
22995                          : *::opencv_caffe::FillerParameter::internal_default_instance();
22996 }
22997 inline ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_bias_filler() {
22998   set_has_bias_filler();
22999   if (bias_filler_ == NULL) {
23000     bias_filler_ = new ::opencv_caffe::FillerParameter;
23001   }
23002   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.bias_filler)
23003   return bias_filler_;
23004 }
23005 inline ::opencv_caffe::FillerParameter* InnerProductParameter::release_bias_filler() {
23006   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.bias_filler)
23007   clear_has_bias_filler();
23008   ::opencv_caffe::FillerParameter* temp = bias_filler_;
23009   bias_filler_ = NULL;
23010   return temp;
23011 }
23012 inline void InnerProductParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
23013   delete bias_filler_;
23014   bias_filler_ = bias_filler;
23015   if (bias_filler) {
23016     set_has_bias_filler();
23017   } else {
23018     clear_has_bias_filler();
23019   }
23020   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.bias_filler)
23021 }
23022
23023 // optional int32 axis = 5 [default = 1];
23024 inline bool InnerProductParameter::has_axis() const {
23025   return (_has_bits_[0] & 0x00000010u) != 0;
23026 }
23027 inline void InnerProductParameter::set_has_axis() {
23028   _has_bits_[0] |= 0x00000010u;
23029 }
23030 inline void InnerProductParameter::clear_has_axis() {
23031   _has_bits_[0] &= ~0x00000010u;
23032 }
23033 inline void InnerProductParameter::clear_axis() {
23034   axis_ = 1;
23035   clear_has_axis();
23036 }
23037 inline ::google::protobuf::int32 InnerProductParameter::axis() const {
23038   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.axis)
23039   return axis_;
23040 }
23041 inline void InnerProductParameter::set_axis(::google::protobuf::int32 value) {
23042   set_has_axis();
23043   axis_ = value;
23044   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.axis)
23045 }
23046
23047 // optional bool transpose = 6 [default = false];
23048 inline bool InnerProductParameter::has_transpose() const {
23049   return (_has_bits_[0] & 0x00000020u) != 0;
23050 }
23051 inline void InnerProductParameter::set_has_transpose() {
23052   _has_bits_[0] |= 0x00000020u;
23053 }
23054 inline void InnerProductParameter::clear_has_transpose() {
23055   _has_bits_[0] &= ~0x00000020u;
23056 }
23057 inline void InnerProductParameter::clear_transpose() {
23058   transpose_ = false;
23059   clear_has_transpose();
23060 }
23061 inline bool InnerProductParameter::transpose() const {
23062   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.transpose)
23063   return transpose_;
23064 }
23065 inline void InnerProductParameter::set_transpose(bool value) {
23066   set_has_transpose();
23067   transpose_ = value;
23068   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.transpose)
23069 }
23070
23071 inline const InnerProductParameter* InnerProductParameter::internal_default_instance() {
23072   return &InnerProductParameter_default_instance_.get();
23073 }
23074 // -------------------------------------------------------------------
23075
23076 // InputParameter
23077
23078 // repeated .opencv_caffe.BlobShape shape = 1;
23079 inline int InputParameter::shape_size() const {
23080   return shape_.size();
23081 }
23082 inline void InputParameter::clear_shape() {
23083   shape_.Clear();
23084 }
23085 inline const ::opencv_caffe::BlobShape& InputParameter::shape(int index) const {
23086   // @@protoc_insertion_point(field_get:opencv_caffe.InputParameter.shape)
23087   return shape_.Get(index);
23088 }
23089 inline ::opencv_caffe::BlobShape* InputParameter::mutable_shape(int index) {
23090   // @@protoc_insertion_point(field_mutable:opencv_caffe.InputParameter.shape)
23091   return shape_.Mutable(index);
23092 }
23093 inline ::opencv_caffe::BlobShape* InputParameter::add_shape() {
23094   // @@protoc_insertion_point(field_add:opencv_caffe.InputParameter.shape)
23095   return shape_.Add();
23096 }
23097 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
23098 InputParameter::mutable_shape() {
23099   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.InputParameter.shape)
23100   return &shape_;
23101 }
23102 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
23103 InputParameter::shape() const {
23104   // @@protoc_insertion_point(field_list:opencv_caffe.InputParameter.shape)
23105   return shape_;
23106 }
23107
23108 inline const InputParameter* InputParameter::internal_default_instance() {
23109   return &InputParameter_default_instance_.get();
23110 }
23111 // -------------------------------------------------------------------
23112
23113 // LogParameter
23114
23115 // optional float base = 1 [default = -1];
23116 inline bool LogParameter::has_base() const {
23117   return (_has_bits_[0] & 0x00000001u) != 0;
23118 }
23119 inline void LogParameter::set_has_base() {
23120   _has_bits_[0] |= 0x00000001u;
23121 }
23122 inline void LogParameter::clear_has_base() {
23123   _has_bits_[0] &= ~0x00000001u;
23124 }
23125 inline void LogParameter::clear_base() {
23126   base_ = -1;
23127   clear_has_base();
23128 }
23129 inline float LogParameter::base() const {
23130   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.base)
23131   return base_;
23132 }
23133 inline void LogParameter::set_base(float value) {
23134   set_has_base();
23135   base_ = value;
23136   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.base)
23137 }
23138
23139 // optional float scale = 2 [default = 1];
23140 inline bool LogParameter::has_scale() const {
23141   return (_has_bits_[0] & 0x00000002u) != 0;
23142 }
23143 inline void LogParameter::set_has_scale() {
23144   _has_bits_[0] |= 0x00000002u;
23145 }
23146 inline void LogParameter::clear_has_scale() {
23147   _has_bits_[0] &= ~0x00000002u;
23148 }
23149 inline void LogParameter::clear_scale() {
23150   scale_ = 1;
23151   clear_has_scale();
23152 }
23153 inline float LogParameter::scale() const {
23154   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.scale)
23155   return scale_;
23156 }
23157 inline void LogParameter::set_scale(float value) {
23158   set_has_scale();
23159   scale_ = value;
23160   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.scale)
23161 }
23162
23163 // optional float shift = 3 [default = 0];
23164 inline bool LogParameter::has_shift() const {
23165   return (_has_bits_[0] & 0x00000004u) != 0;
23166 }
23167 inline void LogParameter::set_has_shift() {
23168   _has_bits_[0] |= 0x00000004u;
23169 }
23170 inline void LogParameter::clear_has_shift() {
23171   _has_bits_[0] &= ~0x00000004u;
23172 }
23173 inline void LogParameter::clear_shift() {
23174   shift_ = 0;
23175   clear_has_shift();
23176 }
23177 inline float LogParameter::shift() const {
23178   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.shift)
23179   return shift_;
23180 }
23181 inline void LogParameter::set_shift(float value) {
23182   set_has_shift();
23183   shift_ = value;
23184   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.shift)
23185 }
23186
23187 inline const LogParameter* LogParameter::internal_default_instance() {
23188   return &LogParameter_default_instance_.get();
23189 }
23190 // -------------------------------------------------------------------
23191
23192 // LRNParameter
23193
23194 // optional uint32 local_size = 1 [default = 5];
23195 inline bool LRNParameter::has_local_size() const {
23196   return (_has_bits_[0] & 0x00000001u) != 0;
23197 }
23198 inline void LRNParameter::set_has_local_size() {
23199   _has_bits_[0] |= 0x00000001u;
23200 }
23201 inline void LRNParameter::clear_has_local_size() {
23202   _has_bits_[0] &= ~0x00000001u;
23203 }
23204 inline void LRNParameter::clear_local_size() {
23205   local_size_ = 5u;
23206   clear_has_local_size();
23207 }
23208 inline ::google::protobuf::uint32 LRNParameter::local_size() const {
23209   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.local_size)
23210   return local_size_;
23211 }
23212 inline void LRNParameter::set_local_size(::google::protobuf::uint32 value) {
23213   set_has_local_size();
23214   local_size_ = value;
23215   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.local_size)
23216 }
23217
23218 // optional float alpha = 2 [default = 1];
23219 inline bool LRNParameter::has_alpha() const {
23220   return (_has_bits_[0] & 0x00000002u) != 0;
23221 }
23222 inline void LRNParameter::set_has_alpha() {
23223   _has_bits_[0] |= 0x00000002u;
23224 }
23225 inline void LRNParameter::clear_has_alpha() {
23226   _has_bits_[0] &= ~0x00000002u;
23227 }
23228 inline void LRNParameter::clear_alpha() {
23229   alpha_ = 1;
23230   clear_has_alpha();
23231 }
23232 inline float LRNParameter::alpha() const {
23233   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.alpha)
23234   return alpha_;
23235 }
23236 inline void LRNParameter::set_alpha(float value) {
23237   set_has_alpha();
23238   alpha_ = value;
23239   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.alpha)
23240 }
23241
23242 // optional float beta = 3 [default = 0.75];
23243 inline bool LRNParameter::has_beta() const {
23244   return (_has_bits_[0] & 0x00000004u) != 0;
23245 }
23246 inline void LRNParameter::set_has_beta() {
23247   _has_bits_[0] |= 0x00000004u;
23248 }
23249 inline void LRNParameter::clear_has_beta() {
23250   _has_bits_[0] &= ~0x00000004u;
23251 }
23252 inline void LRNParameter::clear_beta() {
23253   beta_ = 0.75f;
23254   clear_has_beta();
23255 }
23256 inline float LRNParameter::beta() const {
23257   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.beta)
23258   return beta_;
23259 }
23260 inline void LRNParameter::set_beta(float value) {
23261   set_has_beta();
23262   beta_ = value;
23263   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.beta)
23264 }
23265
23266 // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
23267 inline bool LRNParameter::has_norm_region() const {
23268   return (_has_bits_[0] & 0x00000008u) != 0;
23269 }
23270 inline void LRNParameter::set_has_norm_region() {
23271   _has_bits_[0] |= 0x00000008u;
23272 }
23273 inline void LRNParameter::clear_has_norm_region() {
23274   _has_bits_[0] &= ~0x00000008u;
23275 }
23276 inline void LRNParameter::clear_norm_region() {
23277   norm_region_ = 0;
23278   clear_has_norm_region();
23279 }
23280 inline ::opencv_caffe::LRNParameter_NormRegion LRNParameter::norm_region() const {
23281   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.norm_region)
23282   return static_cast< ::opencv_caffe::LRNParameter_NormRegion >(norm_region_);
23283 }
23284 inline void LRNParameter::set_norm_region(::opencv_caffe::LRNParameter_NormRegion value) {
23285   assert(::opencv_caffe::LRNParameter_NormRegion_IsValid(value));
23286   set_has_norm_region();
23287   norm_region_ = value;
23288   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.norm_region)
23289 }
23290
23291 // optional float k = 5 [default = 1];
23292 inline bool LRNParameter::has_k() const {
23293   return (_has_bits_[0] & 0x00000010u) != 0;
23294 }
23295 inline void LRNParameter::set_has_k() {
23296   _has_bits_[0] |= 0x00000010u;
23297 }
23298 inline void LRNParameter::clear_has_k() {
23299   _has_bits_[0] &= ~0x00000010u;
23300 }
23301 inline void LRNParameter::clear_k() {
23302   k_ = 1;
23303   clear_has_k();
23304 }
23305 inline float LRNParameter::k() const {
23306   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.k)
23307   return k_;
23308 }
23309 inline void LRNParameter::set_k(float value) {
23310   set_has_k();
23311   k_ = value;
23312   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.k)
23313 }
23314
23315 // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
23316 inline bool LRNParameter::has_engine() const {
23317   return (_has_bits_[0] & 0x00000020u) != 0;
23318 }
23319 inline void LRNParameter::set_has_engine() {
23320   _has_bits_[0] |= 0x00000020u;
23321 }
23322 inline void LRNParameter::clear_has_engine() {
23323   _has_bits_[0] &= ~0x00000020u;
23324 }
23325 inline void LRNParameter::clear_engine() {
23326   engine_ = 0;
23327   clear_has_engine();
23328 }
23329 inline ::opencv_caffe::LRNParameter_Engine LRNParameter::engine() const {
23330   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.engine)
23331   return static_cast< ::opencv_caffe::LRNParameter_Engine >(engine_);
23332 }
23333 inline void LRNParameter::set_engine(::opencv_caffe::LRNParameter_Engine value) {
23334   assert(::opencv_caffe::LRNParameter_Engine_IsValid(value));
23335   set_has_engine();
23336   engine_ = value;
23337   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.engine)
23338 }
23339
23340 inline const LRNParameter* LRNParameter::internal_default_instance() {
23341   return &LRNParameter_default_instance_.get();
23342 }
23343 // -------------------------------------------------------------------
23344
23345 // MemoryDataParameter
23346
23347 // optional uint32 batch_size = 1;
23348 inline bool MemoryDataParameter::has_batch_size() const {
23349   return (_has_bits_[0] & 0x00000001u) != 0;
23350 }
23351 inline void MemoryDataParameter::set_has_batch_size() {
23352   _has_bits_[0] |= 0x00000001u;
23353 }
23354 inline void MemoryDataParameter::clear_has_batch_size() {
23355   _has_bits_[0] &= ~0x00000001u;
23356 }
23357 inline void MemoryDataParameter::clear_batch_size() {
23358   batch_size_ = 0u;
23359   clear_has_batch_size();
23360 }
23361 inline ::google::protobuf::uint32 MemoryDataParameter::batch_size() const {
23362   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.batch_size)
23363   return batch_size_;
23364 }
23365 inline void MemoryDataParameter::set_batch_size(::google::protobuf::uint32 value) {
23366   set_has_batch_size();
23367   batch_size_ = value;
23368   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.batch_size)
23369 }
23370
23371 // optional uint32 channels = 2;
23372 inline bool MemoryDataParameter::has_channels() const {
23373   return (_has_bits_[0] & 0x00000002u) != 0;
23374 }
23375 inline void MemoryDataParameter::set_has_channels() {
23376   _has_bits_[0] |= 0x00000002u;
23377 }
23378 inline void MemoryDataParameter::clear_has_channels() {
23379   _has_bits_[0] &= ~0x00000002u;
23380 }
23381 inline void MemoryDataParameter::clear_channels() {
23382   channels_ = 0u;
23383   clear_has_channels();
23384 }
23385 inline ::google::protobuf::uint32 MemoryDataParameter::channels() const {
23386   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.channels)
23387   return channels_;
23388 }
23389 inline void MemoryDataParameter::set_channels(::google::protobuf::uint32 value) {
23390   set_has_channels();
23391   channels_ = value;
23392   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.channels)
23393 }
23394
23395 // optional uint32 height = 3;
23396 inline bool MemoryDataParameter::has_height() const {
23397   return (_has_bits_[0] & 0x00000004u) != 0;
23398 }
23399 inline void MemoryDataParameter::set_has_height() {
23400   _has_bits_[0] |= 0x00000004u;
23401 }
23402 inline void MemoryDataParameter::clear_has_height() {
23403   _has_bits_[0] &= ~0x00000004u;
23404 }
23405 inline void MemoryDataParameter::clear_height() {
23406   height_ = 0u;
23407   clear_has_height();
23408 }
23409 inline ::google::protobuf::uint32 MemoryDataParameter::height() const {
23410   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.height)
23411   return height_;
23412 }
23413 inline void MemoryDataParameter::set_height(::google::protobuf::uint32 value) {
23414   set_has_height();
23415   height_ = value;
23416   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.height)
23417 }
23418
23419 // optional uint32 width = 4;
23420 inline bool MemoryDataParameter::has_width() const {
23421   return (_has_bits_[0] & 0x00000008u) != 0;
23422 }
23423 inline void MemoryDataParameter::set_has_width() {
23424   _has_bits_[0] |= 0x00000008u;
23425 }
23426 inline void MemoryDataParameter::clear_has_width() {
23427   _has_bits_[0] &= ~0x00000008u;
23428 }
23429 inline void MemoryDataParameter::clear_width() {
23430   width_ = 0u;
23431   clear_has_width();
23432 }
23433 inline ::google::protobuf::uint32 MemoryDataParameter::width() const {
23434   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.width)
23435   return width_;
23436 }
23437 inline void MemoryDataParameter::set_width(::google::protobuf::uint32 value) {
23438   set_has_width();
23439   width_ = value;
23440   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.width)
23441 }
23442
23443 inline const MemoryDataParameter* MemoryDataParameter::internal_default_instance() {
23444   return &MemoryDataParameter_default_instance_.get();
23445 }
23446 // -------------------------------------------------------------------
23447
23448 // MVNParameter
23449
23450 // optional bool normalize_variance = 1 [default = true];
23451 inline bool MVNParameter::has_normalize_variance() const {
23452   return (_has_bits_[0] & 0x00000001u) != 0;
23453 }
23454 inline void MVNParameter::set_has_normalize_variance() {
23455   _has_bits_[0] |= 0x00000001u;
23456 }
23457 inline void MVNParameter::clear_has_normalize_variance() {
23458   _has_bits_[0] &= ~0x00000001u;
23459 }
23460 inline void MVNParameter::clear_normalize_variance() {
23461   normalize_variance_ = true;
23462   clear_has_normalize_variance();
23463 }
23464 inline bool MVNParameter::normalize_variance() const {
23465   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.normalize_variance)
23466   return normalize_variance_;
23467 }
23468 inline void MVNParameter::set_normalize_variance(bool value) {
23469   set_has_normalize_variance();
23470   normalize_variance_ = value;
23471   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.normalize_variance)
23472 }
23473
23474 // optional bool across_channels = 2 [default = false];
23475 inline bool MVNParameter::has_across_channels() const {
23476   return (_has_bits_[0] & 0x00000002u) != 0;
23477 }
23478 inline void MVNParameter::set_has_across_channels() {
23479   _has_bits_[0] |= 0x00000002u;
23480 }
23481 inline void MVNParameter::clear_has_across_channels() {
23482   _has_bits_[0] &= ~0x00000002u;
23483 }
23484 inline void MVNParameter::clear_across_channels() {
23485   across_channels_ = false;
23486   clear_has_across_channels();
23487 }
23488 inline bool MVNParameter::across_channels() const {
23489   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.across_channels)
23490   return across_channels_;
23491 }
23492 inline void MVNParameter::set_across_channels(bool value) {
23493   set_has_across_channels();
23494   across_channels_ = value;
23495   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.across_channels)
23496 }
23497
23498 // optional float eps = 3 [default = 1e-09];
23499 inline bool MVNParameter::has_eps() const {
23500   return (_has_bits_[0] & 0x00000004u) != 0;
23501 }
23502 inline void MVNParameter::set_has_eps() {
23503   _has_bits_[0] |= 0x00000004u;
23504 }
23505 inline void MVNParameter::clear_has_eps() {
23506   _has_bits_[0] &= ~0x00000004u;
23507 }
23508 inline void MVNParameter::clear_eps() {
23509   eps_ = 1e-09f;
23510   clear_has_eps();
23511 }
23512 inline float MVNParameter::eps() const {
23513   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.eps)
23514   return eps_;
23515 }
23516 inline void MVNParameter::set_eps(float value) {
23517   set_has_eps();
23518   eps_ = value;
23519   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.eps)
23520 }
23521
23522 inline const MVNParameter* MVNParameter::internal_default_instance() {
23523   return &MVNParameter_default_instance_.get();
23524 }
23525 // -------------------------------------------------------------------
23526
23527 // ParameterParameter
23528
23529 // optional .opencv_caffe.BlobShape shape = 1;
23530 inline bool ParameterParameter::has_shape() const {
23531   return (_has_bits_[0] & 0x00000001u) != 0;
23532 }
23533 inline void ParameterParameter::set_has_shape() {
23534   _has_bits_[0] |= 0x00000001u;
23535 }
23536 inline void ParameterParameter::clear_has_shape() {
23537   _has_bits_[0] &= ~0x00000001u;
23538 }
23539 inline void ParameterParameter::clear_shape() {
23540   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
23541   clear_has_shape();
23542 }
23543 inline const ::opencv_caffe::BlobShape& ParameterParameter::shape() const {
23544   // @@protoc_insertion_point(field_get:opencv_caffe.ParameterParameter.shape)
23545   return shape_ != NULL ? *shape_
23546                          : *::opencv_caffe::BlobShape::internal_default_instance();
23547 }
23548 inline ::opencv_caffe::BlobShape* ParameterParameter::mutable_shape() {
23549   set_has_shape();
23550   if (shape_ == NULL) {
23551     shape_ = new ::opencv_caffe::BlobShape;
23552   }
23553   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParameterParameter.shape)
23554   return shape_;
23555 }
23556 inline ::opencv_caffe::BlobShape* ParameterParameter::release_shape() {
23557   // @@protoc_insertion_point(field_release:opencv_caffe.ParameterParameter.shape)
23558   clear_has_shape();
23559   ::opencv_caffe::BlobShape* temp = shape_;
23560   shape_ = NULL;
23561   return temp;
23562 }
23563 inline void ParameterParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
23564   delete shape_;
23565   shape_ = shape;
23566   if (shape) {
23567     set_has_shape();
23568   } else {
23569     clear_has_shape();
23570   }
23571   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParameterParameter.shape)
23572 }
23573
23574 inline const ParameterParameter* ParameterParameter::internal_default_instance() {
23575   return &ParameterParameter_default_instance_.get();
23576 }
23577 // -------------------------------------------------------------------
23578
23579 // PoolingParameter
23580
23581 // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
23582 inline bool PoolingParameter::has_pool() const {
23583   return (_has_bits_[0] & 0x00000001u) != 0;
23584 }
23585 inline void PoolingParameter::set_has_pool() {
23586   _has_bits_[0] |= 0x00000001u;
23587 }
23588 inline void PoolingParameter::clear_has_pool() {
23589   _has_bits_[0] &= ~0x00000001u;
23590 }
23591 inline void PoolingParameter::clear_pool() {
23592   pool_ = 0;
23593   clear_has_pool();
23594 }
23595 inline ::opencv_caffe::PoolingParameter_PoolMethod PoolingParameter::pool() const {
23596   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pool)
23597   return static_cast< ::opencv_caffe::PoolingParameter_PoolMethod >(pool_);
23598 }
23599 inline void PoolingParameter::set_pool(::opencv_caffe::PoolingParameter_PoolMethod value) {
23600   assert(::opencv_caffe::PoolingParameter_PoolMethod_IsValid(value));
23601   set_has_pool();
23602   pool_ = value;
23603   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pool)
23604 }
23605
23606 // optional uint32 pad = 4 [default = 0];
23607 inline bool PoolingParameter::has_pad() const {
23608   return (_has_bits_[0] & 0x00000002u) != 0;
23609 }
23610 inline void PoolingParameter::set_has_pad() {
23611   _has_bits_[0] |= 0x00000002u;
23612 }
23613 inline void PoolingParameter::clear_has_pad() {
23614   _has_bits_[0] &= ~0x00000002u;
23615 }
23616 inline void PoolingParameter::clear_pad() {
23617   pad_ = 0u;
23618   clear_has_pad();
23619 }
23620 inline ::google::protobuf::uint32 PoolingParameter::pad() const {
23621   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad)
23622   return pad_;
23623 }
23624 inline void PoolingParameter::set_pad(::google::protobuf::uint32 value) {
23625   set_has_pad();
23626   pad_ = value;
23627   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad)
23628 }
23629
23630 // optional uint32 pad_h = 9 [default = 0];
23631 inline bool PoolingParameter::has_pad_h() const {
23632   return (_has_bits_[0] & 0x00000004u) != 0;
23633 }
23634 inline void PoolingParameter::set_has_pad_h() {
23635   _has_bits_[0] |= 0x00000004u;
23636 }
23637 inline void PoolingParameter::clear_has_pad_h() {
23638   _has_bits_[0] &= ~0x00000004u;
23639 }
23640 inline void PoolingParameter::clear_pad_h() {
23641   pad_h_ = 0u;
23642   clear_has_pad_h();
23643 }
23644 inline ::google::protobuf::uint32 PoolingParameter::pad_h() const {
23645   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_h)
23646   return pad_h_;
23647 }
23648 inline void PoolingParameter::set_pad_h(::google::protobuf::uint32 value) {
23649   set_has_pad_h();
23650   pad_h_ = value;
23651   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_h)
23652 }
23653
23654 // optional uint32 pad_w = 10 [default = 0];
23655 inline bool PoolingParameter::has_pad_w() const {
23656   return (_has_bits_[0] & 0x00000008u) != 0;
23657 }
23658 inline void PoolingParameter::set_has_pad_w() {
23659   _has_bits_[0] |= 0x00000008u;
23660 }
23661 inline void PoolingParameter::clear_has_pad_w() {
23662   _has_bits_[0] &= ~0x00000008u;
23663 }
23664 inline void PoolingParameter::clear_pad_w() {
23665   pad_w_ = 0u;
23666   clear_has_pad_w();
23667 }
23668 inline ::google::protobuf::uint32 PoolingParameter::pad_w() const {
23669   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_w)
23670   return pad_w_;
23671 }
23672 inline void PoolingParameter::set_pad_w(::google::protobuf::uint32 value) {
23673   set_has_pad_w();
23674   pad_w_ = value;
23675   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_w)
23676 }
23677
23678 // optional uint32 kernel_size = 2;
23679 inline bool PoolingParameter::has_kernel_size() const {
23680   return (_has_bits_[0] & 0x00000010u) != 0;
23681 }
23682 inline void PoolingParameter::set_has_kernel_size() {
23683   _has_bits_[0] |= 0x00000010u;
23684 }
23685 inline void PoolingParameter::clear_has_kernel_size() {
23686   _has_bits_[0] &= ~0x00000010u;
23687 }
23688 inline void PoolingParameter::clear_kernel_size() {
23689   kernel_size_ = 0u;
23690   clear_has_kernel_size();
23691 }
23692 inline ::google::protobuf::uint32 PoolingParameter::kernel_size() const {
23693   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_size)
23694   return kernel_size_;
23695 }
23696 inline void PoolingParameter::set_kernel_size(::google::protobuf::uint32 value) {
23697   set_has_kernel_size();
23698   kernel_size_ = value;
23699   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_size)
23700 }
23701
23702 // optional uint32 kernel_h = 5;
23703 inline bool PoolingParameter::has_kernel_h() const {
23704   return (_has_bits_[0] & 0x00000020u) != 0;
23705 }
23706 inline void PoolingParameter::set_has_kernel_h() {
23707   _has_bits_[0] |= 0x00000020u;
23708 }
23709 inline void PoolingParameter::clear_has_kernel_h() {
23710   _has_bits_[0] &= ~0x00000020u;
23711 }
23712 inline void PoolingParameter::clear_kernel_h() {
23713   kernel_h_ = 0u;
23714   clear_has_kernel_h();
23715 }
23716 inline ::google::protobuf::uint32 PoolingParameter::kernel_h() const {
23717   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_h)
23718   return kernel_h_;
23719 }
23720 inline void PoolingParameter::set_kernel_h(::google::protobuf::uint32 value) {
23721   set_has_kernel_h();
23722   kernel_h_ = value;
23723   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_h)
23724 }
23725
23726 // optional uint32 kernel_w = 6;
23727 inline bool PoolingParameter::has_kernel_w() const {
23728   return (_has_bits_[0] & 0x00000040u) != 0;
23729 }
23730 inline void PoolingParameter::set_has_kernel_w() {
23731   _has_bits_[0] |= 0x00000040u;
23732 }
23733 inline void PoolingParameter::clear_has_kernel_w() {
23734   _has_bits_[0] &= ~0x00000040u;
23735 }
23736 inline void PoolingParameter::clear_kernel_w() {
23737   kernel_w_ = 0u;
23738   clear_has_kernel_w();
23739 }
23740 inline ::google::protobuf::uint32 PoolingParameter::kernel_w() const {
23741   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_w)
23742   return kernel_w_;
23743 }
23744 inline void PoolingParameter::set_kernel_w(::google::protobuf::uint32 value) {
23745   set_has_kernel_w();
23746   kernel_w_ = value;
23747   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_w)
23748 }
23749
23750 // optional uint32 stride = 3 [default = 1];
23751 inline bool PoolingParameter::has_stride() const {
23752   return (_has_bits_[0] & 0x00000080u) != 0;
23753 }
23754 inline void PoolingParameter::set_has_stride() {
23755   _has_bits_[0] |= 0x00000080u;
23756 }
23757 inline void PoolingParameter::clear_has_stride() {
23758   _has_bits_[0] &= ~0x00000080u;
23759 }
23760 inline void PoolingParameter::clear_stride() {
23761   stride_ = 1u;
23762   clear_has_stride();
23763 }
23764 inline ::google::protobuf::uint32 PoolingParameter::stride() const {
23765   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride)
23766   return stride_;
23767 }
23768 inline void PoolingParameter::set_stride(::google::protobuf::uint32 value) {
23769   set_has_stride();
23770   stride_ = value;
23771   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride)
23772 }
23773
23774 // optional uint32 stride_h = 7;
23775 inline bool PoolingParameter::has_stride_h() const {
23776   return (_has_bits_[0] & 0x00000100u) != 0;
23777 }
23778 inline void PoolingParameter::set_has_stride_h() {
23779   _has_bits_[0] |= 0x00000100u;
23780 }
23781 inline void PoolingParameter::clear_has_stride_h() {
23782   _has_bits_[0] &= ~0x00000100u;
23783 }
23784 inline void PoolingParameter::clear_stride_h() {
23785   stride_h_ = 0u;
23786   clear_has_stride_h();
23787 }
23788 inline ::google::protobuf::uint32 PoolingParameter::stride_h() const {
23789   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_h)
23790   return stride_h_;
23791 }
23792 inline void PoolingParameter::set_stride_h(::google::protobuf::uint32 value) {
23793   set_has_stride_h();
23794   stride_h_ = value;
23795   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_h)
23796 }
23797
23798 // optional uint32 stride_w = 8;
23799 inline bool PoolingParameter::has_stride_w() const {
23800   return (_has_bits_[0] & 0x00000200u) != 0;
23801 }
23802 inline void PoolingParameter::set_has_stride_w() {
23803   _has_bits_[0] |= 0x00000200u;
23804 }
23805 inline void PoolingParameter::clear_has_stride_w() {
23806   _has_bits_[0] &= ~0x00000200u;
23807 }
23808 inline void PoolingParameter::clear_stride_w() {
23809   stride_w_ = 0u;
23810   clear_has_stride_w();
23811 }
23812 inline ::google::protobuf::uint32 PoolingParameter::stride_w() const {
23813   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_w)
23814   return stride_w_;
23815 }
23816 inline void PoolingParameter::set_stride_w(::google::protobuf::uint32 value) {
23817   set_has_stride_w();
23818   stride_w_ = value;
23819   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_w)
23820 }
23821
23822 // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
23823 inline bool PoolingParameter::has_engine() const {
23824   return (_has_bits_[0] & 0x00000400u) != 0;
23825 }
23826 inline void PoolingParameter::set_has_engine() {
23827   _has_bits_[0] |= 0x00000400u;
23828 }
23829 inline void PoolingParameter::clear_has_engine() {
23830   _has_bits_[0] &= ~0x00000400u;
23831 }
23832 inline void PoolingParameter::clear_engine() {
23833   engine_ = 0;
23834   clear_has_engine();
23835 }
23836 inline ::opencv_caffe::PoolingParameter_Engine PoolingParameter::engine() const {
23837   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.engine)
23838   return static_cast< ::opencv_caffe::PoolingParameter_Engine >(engine_);
23839 }
23840 inline void PoolingParameter::set_engine(::opencv_caffe::PoolingParameter_Engine value) {
23841   assert(::opencv_caffe::PoolingParameter_Engine_IsValid(value));
23842   set_has_engine();
23843   engine_ = value;
23844   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.engine)
23845 }
23846
23847 // optional bool global_pooling = 12 [default = false];
23848 inline bool PoolingParameter::has_global_pooling() const {
23849   return (_has_bits_[0] & 0x00000800u) != 0;
23850 }
23851 inline void PoolingParameter::set_has_global_pooling() {
23852   _has_bits_[0] |= 0x00000800u;
23853 }
23854 inline void PoolingParameter::clear_has_global_pooling() {
23855   _has_bits_[0] &= ~0x00000800u;
23856 }
23857 inline void PoolingParameter::clear_global_pooling() {
23858   global_pooling_ = false;
23859   clear_has_global_pooling();
23860 }
23861 inline bool PoolingParameter::global_pooling() const {
23862   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.global_pooling)
23863   return global_pooling_;
23864 }
23865 inline void PoolingParameter::set_global_pooling(bool value) {
23866   set_has_global_pooling();
23867   global_pooling_ = value;
23868   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.global_pooling)
23869 }
23870
23871 // optional bool ceil_mode = 13 [default = true];
23872 inline bool PoolingParameter::has_ceil_mode() const {
23873   return (_has_bits_[0] & 0x00001000u) != 0;
23874 }
23875 inline void PoolingParameter::set_has_ceil_mode() {
23876   _has_bits_[0] |= 0x00001000u;
23877 }
23878 inline void PoolingParameter::clear_has_ceil_mode() {
23879   _has_bits_[0] &= ~0x00001000u;
23880 }
23881 inline void PoolingParameter::clear_ceil_mode() {
23882   ceil_mode_ = true;
23883   clear_has_ceil_mode();
23884 }
23885 inline bool PoolingParameter::ceil_mode() const {
23886   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.ceil_mode)
23887   return ceil_mode_;
23888 }
23889 inline void PoolingParameter::set_ceil_mode(bool value) {
23890   set_has_ceil_mode();
23891   ceil_mode_ = value;
23892   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.ceil_mode)
23893 }
23894
23895 inline const PoolingParameter* PoolingParameter::internal_default_instance() {
23896   return &PoolingParameter_default_instance_.get();
23897 }
23898 // -------------------------------------------------------------------
23899
23900 // PowerParameter
23901
23902 // optional float power = 1 [default = 1];
23903 inline bool PowerParameter::has_power() const {
23904   return (_has_bits_[0] & 0x00000001u) != 0;
23905 }
23906 inline void PowerParameter::set_has_power() {
23907   _has_bits_[0] |= 0x00000001u;
23908 }
23909 inline void PowerParameter::clear_has_power() {
23910   _has_bits_[0] &= ~0x00000001u;
23911 }
23912 inline void PowerParameter::clear_power() {
23913   power_ = 1;
23914   clear_has_power();
23915 }
23916 inline float PowerParameter::power() const {
23917   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.power)
23918   return power_;
23919 }
23920 inline void PowerParameter::set_power(float value) {
23921   set_has_power();
23922   power_ = value;
23923   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.power)
23924 }
23925
23926 // optional float scale = 2 [default = 1];
23927 inline bool PowerParameter::has_scale() const {
23928   return (_has_bits_[0] & 0x00000002u) != 0;
23929 }
23930 inline void PowerParameter::set_has_scale() {
23931   _has_bits_[0] |= 0x00000002u;
23932 }
23933 inline void PowerParameter::clear_has_scale() {
23934   _has_bits_[0] &= ~0x00000002u;
23935 }
23936 inline void PowerParameter::clear_scale() {
23937   scale_ = 1;
23938   clear_has_scale();
23939 }
23940 inline float PowerParameter::scale() const {
23941   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.scale)
23942   return scale_;
23943 }
23944 inline void PowerParameter::set_scale(float value) {
23945   set_has_scale();
23946   scale_ = value;
23947   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.scale)
23948 }
23949
23950 // optional float shift = 3 [default = 0];
23951 inline bool PowerParameter::has_shift() const {
23952   return (_has_bits_[0] & 0x00000004u) != 0;
23953 }
23954 inline void PowerParameter::set_has_shift() {
23955   _has_bits_[0] |= 0x00000004u;
23956 }
23957 inline void PowerParameter::clear_has_shift() {
23958   _has_bits_[0] &= ~0x00000004u;
23959 }
23960 inline void PowerParameter::clear_shift() {
23961   shift_ = 0;
23962   clear_has_shift();
23963 }
23964 inline float PowerParameter::shift() const {
23965   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.shift)
23966   return shift_;
23967 }
23968 inline void PowerParameter::set_shift(float value) {
23969   set_has_shift();
23970   shift_ = value;
23971   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.shift)
23972 }
23973
23974 inline const PowerParameter* PowerParameter::internal_default_instance() {
23975   return &PowerParameter_default_instance_.get();
23976 }
23977 // -------------------------------------------------------------------
23978
23979 // PythonParameter
23980
23981 // optional string module = 1;
23982 inline bool PythonParameter::has_module() const {
23983   return (_has_bits_[0] & 0x00000001u) != 0;
23984 }
23985 inline void PythonParameter::set_has_module() {
23986   _has_bits_[0] |= 0x00000001u;
23987 }
23988 inline void PythonParameter::clear_has_module() {
23989   _has_bits_[0] &= ~0x00000001u;
23990 }
23991 inline void PythonParameter::clear_module() {
23992   module_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23993   clear_has_module();
23994 }
23995 inline const ::std::string& PythonParameter::module() const {
23996   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.module)
23997   return module_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23998 }
23999 inline void PythonParameter::set_module(const ::std::string& value) {
24000   set_has_module();
24001   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
24002   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.module)
24003 }
24004 inline void PythonParameter::set_module(const char* value) {
24005   set_has_module();
24006   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
24007   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.module)
24008 }
24009 inline void PythonParameter::set_module(const char* value, size_t size) {
24010   set_has_module();
24011   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
24012       ::std::string(reinterpret_cast<const char*>(value), size));
24013   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.module)
24014 }
24015 inline ::std::string* PythonParameter::mutable_module() {
24016   set_has_module();
24017   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.module)
24018   return module_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24019 }
24020 inline ::std::string* PythonParameter::release_module() {
24021   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.module)
24022   clear_has_module();
24023   return module_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24024 }
24025 inline void PythonParameter::set_allocated_module(::std::string* module) {
24026   if (module != NULL) {
24027     set_has_module();
24028   } else {
24029     clear_has_module();
24030   }
24031   module_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), module);
24032   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.module)
24033 }
24034
24035 // optional string layer = 2;
24036 inline bool PythonParameter::has_layer() const {
24037   return (_has_bits_[0] & 0x00000002u) != 0;
24038 }
24039 inline void PythonParameter::set_has_layer() {
24040   _has_bits_[0] |= 0x00000002u;
24041 }
24042 inline void PythonParameter::clear_has_layer() {
24043   _has_bits_[0] &= ~0x00000002u;
24044 }
24045 inline void PythonParameter::clear_layer() {
24046   layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24047   clear_has_layer();
24048 }
24049 inline const ::std::string& PythonParameter::layer() const {
24050   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.layer)
24051   return layer_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24052 }
24053 inline void PythonParameter::set_layer(const ::std::string& value) {
24054   set_has_layer();
24055   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
24056   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.layer)
24057 }
24058 inline void PythonParameter::set_layer(const char* value) {
24059   set_has_layer();
24060   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
24061   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.layer)
24062 }
24063 inline void PythonParameter::set_layer(const char* value, size_t size) {
24064   set_has_layer();
24065   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
24066       ::std::string(reinterpret_cast<const char*>(value), size));
24067   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.layer)
24068 }
24069 inline ::std::string* PythonParameter::mutable_layer() {
24070   set_has_layer();
24071   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.layer)
24072   return layer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24073 }
24074 inline ::std::string* PythonParameter::release_layer() {
24075   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.layer)
24076   clear_has_layer();
24077   return layer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24078 }
24079 inline void PythonParameter::set_allocated_layer(::std::string* layer) {
24080   if (layer != NULL) {
24081     set_has_layer();
24082   } else {
24083     clear_has_layer();
24084   }
24085   layer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), layer);
24086   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.layer)
24087 }
24088
24089 // optional string param_str = 3 [default = ""];
24090 inline bool PythonParameter::has_param_str() const {
24091   return (_has_bits_[0] & 0x00000004u) != 0;
24092 }
24093 inline void PythonParameter::set_has_param_str() {
24094   _has_bits_[0] |= 0x00000004u;
24095 }
24096 inline void PythonParameter::clear_has_param_str() {
24097   _has_bits_[0] &= ~0x00000004u;
24098 }
24099 inline void PythonParameter::clear_param_str() {
24100   param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24101   clear_has_param_str();
24102 }
24103 inline const ::std::string& PythonParameter::param_str() const {
24104   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.param_str)
24105   return param_str_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24106 }
24107 inline void PythonParameter::set_param_str(const ::std::string& value) {
24108   set_has_param_str();
24109   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
24110   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.param_str)
24111 }
24112 inline void PythonParameter::set_param_str(const char* value) {
24113   set_has_param_str();
24114   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
24115   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.param_str)
24116 }
24117 inline void PythonParameter::set_param_str(const char* value, size_t size) {
24118   set_has_param_str();
24119   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
24120       ::std::string(reinterpret_cast<const char*>(value), size));
24121   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.param_str)
24122 }
24123 inline ::std::string* PythonParameter::mutable_param_str() {
24124   set_has_param_str();
24125   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.param_str)
24126   return param_str_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24127 }
24128 inline ::std::string* PythonParameter::release_param_str() {
24129   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.param_str)
24130   clear_has_param_str();
24131   return param_str_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24132 }
24133 inline void PythonParameter::set_allocated_param_str(::std::string* param_str) {
24134   if (param_str != NULL) {
24135     set_has_param_str();
24136   } else {
24137     clear_has_param_str();
24138   }
24139   param_str_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), param_str);
24140   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.param_str)
24141 }
24142
24143 // optional bool share_in_parallel = 4 [default = false];
24144 inline bool PythonParameter::has_share_in_parallel() const {
24145   return (_has_bits_[0] & 0x00000008u) != 0;
24146 }
24147 inline void PythonParameter::set_has_share_in_parallel() {
24148   _has_bits_[0] |= 0x00000008u;
24149 }
24150 inline void PythonParameter::clear_has_share_in_parallel() {
24151   _has_bits_[0] &= ~0x00000008u;
24152 }
24153 inline void PythonParameter::clear_share_in_parallel() {
24154   share_in_parallel_ = false;
24155   clear_has_share_in_parallel();
24156 }
24157 inline bool PythonParameter::share_in_parallel() const {
24158   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.share_in_parallel)
24159   return share_in_parallel_;
24160 }
24161 inline void PythonParameter::set_share_in_parallel(bool value) {
24162   set_has_share_in_parallel();
24163   share_in_parallel_ = value;
24164   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.share_in_parallel)
24165 }
24166
24167 inline const PythonParameter* PythonParameter::internal_default_instance() {
24168   return &PythonParameter_default_instance_.get();
24169 }
24170 // -------------------------------------------------------------------
24171
24172 // RecurrentParameter
24173
24174 // optional uint32 num_output = 1 [default = 0];
24175 inline bool RecurrentParameter::has_num_output() const {
24176   return (_has_bits_[0] & 0x00000001u) != 0;
24177 }
24178 inline void RecurrentParameter::set_has_num_output() {
24179   _has_bits_[0] |= 0x00000001u;
24180 }
24181 inline void RecurrentParameter::clear_has_num_output() {
24182   _has_bits_[0] &= ~0x00000001u;
24183 }
24184 inline void RecurrentParameter::clear_num_output() {
24185   num_output_ = 0u;
24186   clear_has_num_output();
24187 }
24188 inline ::google::protobuf::uint32 RecurrentParameter::num_output() const {
24189   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.num_output)
24190   return num_output_;
24191 }
24192 inline void RecurrentParameter::set_num_output(::google::protobuf::uint32 value) {
24193   set_has_num_output();
24194   num_output_ = value;
24195   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.num_output)
24196 }
24197
24198 // optional .opencv_caffe.FillerParameter weight_filler = 2;
24199 inline bool RecurrentParameter::has_weight_filler() const {
24200   return (_has_bits_[0] & 0x00000002u) != 0;
24201 }
24202 inline void RecurrentParameter::set_has_weight_filler() {
24203   _has_bits_[0] |= 0x00000002u;
24204 }
24205 inline void RecurrentParameter::clear_has_weight_filler() {
24206   _has_bits_[0] &= ~0x00000002u;
24207 }
24208 inline void RecurrentParameter::clear_weight_filler() {
24209   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
24210   clear_has_weight_filler();
24211 }
24212 inline const ::opencv_caffe::FillerParameter& RecurrentParameter::weight_filler() const {
24213   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.weight_filler)
24214   return weight_filler_ != NULL ? *weight_filler_
24215                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24216 }
24217 inline ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_weight_filler() {
24218   set_has_weight_filler();
24219   if (weight_filler_ == NULL) {
24220     weight_filler_ = new ::opencv_caffe::FillerParameter;
24221   }
24222   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.weight_filler)
24223   return weight_filler_;
24224 }
24225 inline ::opencv_caffe::FillerParameter* RecurrentParameter::release_weight_filler() {
24226   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.weight_filler)
24227   clear_has_weight_filler();
24228   ::opencv_caffe::FillerParameter* temp = weight_filler_;
24229   weight_filler_ = NULL;
24230   return temp;
24231 }
24232 inline void RecurrentParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
24233   delete weight_filler_;
24234   weight_filler_ = weight_filler;
24235   if (weight_filler) {
24236     set_has_weight_filler();
24237   } else {
24238     clear_has_weight_filler();
24239   }
24240   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.weight_filler)
24241 }
24242
24243 // optional .opencv_caffe.FillerParameter bias_filler = 3;
24244 inline bool RecurrentParameter::has_bias_filler() const {
24245   return (_has_bits_[0] & 0x00000004u) != 0;
24246 }
24247 inline void RecurrentParameter::set_has_bias_filler() {
24248   _has_bits_[0] |= 0x00000004u;
24249 }
24250 inline void RecurrentParameter::clear_has_bias_filler() {
24251   _has_bits_[0] &= ~0x00000004u;
24252 }
24253 inline void RecurrentParameter::clear_bias_filler() {
24254   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
24255   clear_has_bias_filler();
24256 }
24257 inline const ::opencv_caffe::FillerParameter& RecurrentParameter::bias_filler() const {
24258   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.bias_filler)
24259   return bias_filler_ != NULL ? *bias_filler_
24260                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24261 }
24262 inline ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_bias_filler() {
24263   set_has_bias_filler();
24264   if (bias_filler_ == NULL) {
24265     bias_filler_ = new ::opencv_caffe::FillerParameter;
24266   }
24267   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.bias_filler)
24268   return bias_filler_;
24269 }
24270 inline ::opencv_caffe::FillerParameter* RecurrentParameter::release_bias_filler() {
24271   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.bias_filler)
24272   clear_has_bias_filler();
24273   ::opencv_caffe::FillerParameter* temp = bias_filler_;
24274   bias_filler_ = NULL;
24275   return temp;
24276 }
24277 inline void RecurrentParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
24278   delete bias_filler_;
24279   bias_filler_ = bias_filler;
24280   if (bias_filler) {
24281     set_has_bias_filler();
24282   } else {
24283     clear_has_bias_filler();
24284   }
24285   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.bias_filler)
24286 }
24287
24288 // optional bool debug_info = 4 [default = false];
24289 inline bool RecurrentParameter::has_debug_info() const {
24290   return (_has_bits_[0] & 0x00000008u) != 0;
24291 }
24292 inline void RecurrentParameter::set_has_debug_info() {
24293   _has_bits_[0] |= 0x00000008u;
24294 }
24295 inline void RecurrentParameter::clear_has_debug_info() {
24296   _has_bits_[0] &= ~0x00000008u;
24297 }
24298 inline void RecurrentParameter::clear_debug_info() {
24299   debug_info_ = false;
24300   clear_has_debug_info();
24301 }
24302 inline bool RecurrentParameter::debug_info() const {
24303   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.debug_info)
24304   return debug_info_;
24305 }
24306 inline void RecurrentParameter::set_debug_info(bool value) {
24307   set_has_debug_info();
24308   debug_info_ = value;
24309   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.debug_info)
24310 }
24311
24312 // optional bool expose_hidden = 5 [default = false];
24313 inline bool RecurrentParameter::has_expose_hidden() const {
24314   return (_has_bits_[0] & 0x00000010u) != 0;
24315 }
24316 inline void RecurrentParameter::set_has_expose_hidden() {
24317   _has_bits_[0] |= 0x00000010u;
24318 }
24319 inline void RecurrentParameter::clear_has_expose_hidden() {
24320   _has_bits_[0] &= ~0x00000010u;
24321 }
24322 inline void RecurrentParameter::clear_expose_hidden() {
24323   expose_hidden_ = false;
24324   clear_has_expose_hidden();
24325 }
24326 inline bool RecurrentParameter::expose_hidden() const {
24327   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.expose_hidden)
24328   return expose_hidden_;
24329 }
24330 inline void RecurrentParameter::set_expose_hidden(bool value) {
24331   set_has_expose_hidden();
24332   expose_hidden_ = value;
24333   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.expose_hidden)
24334 }
24335
24336 inline const RecurrentParameter* RecurrentParameter::internal_default_instance() {
24337   return &RecurrentParameter_default_instance_.get();
24338 }
24339 // -------------------------------------------------------------------
24340
24341 // ReductionParameter
24342
24343 // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
24344 inline bool ReductionParameter::has_operation() const {
24345   return (_has_bits_[0] & 0x00000001u) != 0;
24346 }
24347 inline void ReductionParameter::set_has_operation() {
24348   _has_bits_[0] |= 0x00000001u;
24349 }
24350 inline void ReductionParameter::clear_has_operation() {
24351   _has_bits_[0] &= ~0x00000001u;
24352 }
24353 inline void ReductionParameter::clear_operation() {
24354   operation_ = 1;
24355   clear_has_operation();
24356 }
24357 inline ::opencv_caffe::ReductionParameter_ReductionOp ReductionParameter::operation() const {
24358   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.operation)
24359   return static_cast< ::opencv_caffe::ReductionParameter_ReductionOp >(operation_);
24360 }
24361 inline void ReductionParameter::set_operation(::opencv_caffe::ReductionParameter_ReductionOp value) {
24362   assert(::opencv_caffe::ReductionParameter_ReductionOp_IsValid(value));
24363   set_has_operation();
24364   operation_ = value;
24365   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.operation)
24366 }
24367
24368 // optional int32 axis = 2 [default = 0];
24369 inline bool ReductionParameter::has_axis() const {
24370   return (_has_bits_[0] & 0x00000002u) != 0;
24371 }
24372 inline void ReductionParameter::set_has_axis() {
24373   _has_bits_[0] |= 0x00000002u;
24374 }
24375 inline void ReductionParameter::clear_has_axis() {
24376   _has_bits_[0] &= ~0x00000002u;
24377 }
24378 inline void ReductionParameter::clear_axis() {
24379   axis_ = 0;
24380   clear_has_axis();
24381 }
24382 inline ::google::protobuf::int32 ReductionParameter::axis() const {
24383   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.axis)
24384   return axis_;
24385 }
24386 inline void ReductionParameter::set_axis(::google::protobuf::int32 value) {
24387   set_has_axis();
24388   axis_ = value;
24389   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.axis)
24390 }
24391
24392 // optional float coeff = 3 [default = 1];
24393 inline bool ReductionParameter::has_coeff() const {
24394   return (_has_bits_[0] & 0x00000004u) != 0;
24395 }
24396 inline void ReductionParameter::set_has_coeff() {
24397   _has_bits_[0] |= 0x00000004u;
24398 }
24399 inline void ReductionParameter::clear_has_coeff() {
24400   _has_bits_[0] &= ~0x00000004u;
24401 }
24402 inline void ReductionParameter::clear_coeff() {
24403   coeff_ = 1;
24404   clear_has_coeff();
24405 }
24406 inline float ReductionParameter::coeff() const {
24407   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.coeff)
24408   return coeff_;
24409 }
24410 inline void ReductionParameter::set_coeff(float value) {
24411   set_has_coeff();
24412   coeff_ = value;
24413   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.coeff)
24414 }
24415
24416 inline const ReductionParameter* ReductionParameter::internal_default_instance() {
24417   return &ReductionParameter_default_instance_.get();
24418 }
24419 // -------------------------------------------------------------------
24420
24421 // ReLUParameter
24422
24423 // optional float negative_slope = 1 [default = 0];
24424 inline bool ReLUParameter::has_negative_slope() const {
24425   return (_has_bits_[0] & 0x00000001u) != 0;
24426 }
24427 inline void ReLUParameter::set_has_negative_slope() {
24428   _has_bits_[0] |= 0x00000001u;
24429 }
24430 inline void ReLUParameter::clear_has_negative_slope() {
24431   _has_bits_[0] &= ~0x00000001u;
24432 }
24433 inline void ReLUParameter::clear_negative_slope() {
24434   negative_slope_ = 0;
24435   clear_has_negative_slope();
24436 }
24437 inline float ReLUParameter::negative_slope() const {
24438   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.negative_slope)
24439   return negative_slope_;
24440 }
24441 inline void ReLUParameter::set_negative_slope(float value) {
24442   set_has_negative_slope();
24443   negative_slope_ = value;
24444   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.negative_slope)
24445 }
24446
24447 // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
24448 inline bool ReLUParameter::has_engine() const {
24449   return (_has_bits_[0] & 0x00000002u) != 0;
24450 }
24451 inline void ReLUParameter::set_has_engine() {
24452   _has_bits_[0] |= 0x00000002u;
24453 }
24454 inline void ReLUParameter::clear_has_engine() {
24455   _has_bits_[0] &= ~0x00000002u;
24456 }
24457 inline void ReLUParameter::clear_engine() {
24458   engine_ = 0;
24459   clear_has_engine();
24460 }
24461 inline ::opencv_caffe::ReLUParameter_Engine ReLUParameter::engine() const {
24462   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.engine)
24463   return static_cast< ::opencv_caffe::ReLUParameter_Engine >(engine_);
24464 }
24465 inline void ReLUParameter::set_engine(::opencv_caffe::ReLUParameter_Engine value) {
24466   assert(::opencv_caffe::ReLUParameter_Engine_IsValid(value));
24467   set_has_engine();
24468   engine_ = value;
24469   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.engine)
24470 }
24471
24472 inline const ReLUParameter* ReLUParameter::internal_default_instance() {
24473   return &ReLUParameter_default_instance_.get();
24474 }
24475 // -------------------------------------------------------------------
24476
24477 // ReshapeParameter
24478
24479 // optional .opencv_caffe.BlobShape shape = 1;
24480 inline bool ReshapeParameter::has_shape() const {
24481   return (_has_bits_[0] & 0x00000001u) != 0;
24482 }
24483 inline void ReshapeParameter::set_has_shape() {
24484   _has_bits_[0] |= 0x00000001u;
24485 }
24486 inline void ReshapeParameter::clear_has_shape() {
24487   _has_bits_[0] &= ~0x00000001u;
24488 }
24489 inline void ReshapeParameter::clear_shape() {
24490   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
24491   clear_has_shape();
24492 }
24493 inline const ::opencv_caffe::BlobShape& ReshapeParameter::shape() const {
24494   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.shape)
24495   return shape_ != NULL ? *shape_
24496                          : *::opencv_caffe::BlobShape::internal_default_instance();
24497 }
24498 inline ::opencv_caffe::BlobShape* ReshapeParameter::mutable_shape() {
24499   set_has_shape();
24500   if (shape_ == NULL) {
24501     shape_ = new ::opencv_caffe::BlobShape;
24502   }
24503   // @@protoc_insertion_point(field_mutable:opencv_caffe.ReshapeParameter.shape)
24504   return shape_;
24505 }
24506 inline ::opencv_caffe::BlobShape* ReshapeParameter::release_shape() {
24507   // @@protoc_insertion_point(field_release:opencv_caffe.ReshapeParameter.shape)
24508   clear_has_shape();
24509   ::opencv_caffe::BlobShape* temp = shape_;
24510   shape_ = NULL;
24511   return temp;
24512 }
24513 inline void ReshapeParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
24514   delete shape_;
24515   shape_ = shape;
24516   if (shape) {
24517     set_has_shape();
24518   } else {
24519     clear_has_shape();
24520   }
24521   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ReshapeParameter.shape)
24522 }
24523
24524 // optional int32 axis = 2 [default = 0];
24525 inline bool ReshapeParameter::has_axis() const {
24526   return (_has_bits_[0] & 0x00000002u) != 0;
24527 }
24528 inline void ReshapeParameter::set_has_axis() {
24529   _has_bits_[0] |= 0x00000002u;
24530 }
24531 inline void ReshapeParameter::clear_has_axis() {
24532   _has_bits_[0] &= ~0x00000002u;
24533 }
24534 inline void ReshapeParameter::clear_axis() {
24535   axis_ = 0;
24536   clear_has_axis();
24537 }
24538 inline ::google::protobuf::int32 ReshapeParameter::axis() const {
24539   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.axis)
24540   return axis_;
24541 }
24542 inline void ReshapeParameter::set_axis(::google::protobuf::int32 value) {
24543   set_has_axis();
24544   axis_ = value;
24545   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.axis)
24546 }
24547
24548 // optional int32 num_axes = 3 [default = -1];
24549 inline bool ReshapeParameter::has_num_axes() const {
24550   return (_has_bits_[0] & 0x00000004u) != 0;
24551 }
24552 inline void ReshapeParameter::set_has_num_axes() {
24553   _has_bits_[0] |= 0x00000004u;
24554 }
24555 inline void ReshapeParameter::clear_has_num_axes() {
24556   _has_bits_[0] &= ~0x00000004u;
24557 }
24558 inline void ReshapeParameter::clear_num_axes() {
24559   num_axes_ = -1;
24560   clear_has_num_axes();
24561 }
24562 inline ::google::protobuf::int32 ReshapeParameter::num_axes() const {
24563   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.num_axes)
24564   return num_axes_;
24565 }
24566 inline void ReshapeParameter::set_num_axes(::google::protobuf::int32 value) {
24567   set_has_num_axes();
24568   num_axes_ = value;
24569   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.num_axes)
24570 }
24571
24572 inline const ReshapeParameter* ReshapeParameter::internal_default_instance() {
24573   return &ReshapeParameter_default_instance_.get();
24574 }
24575 // -------------------------------------------------------------------
24576
24577 // ScaleParameter
24578
24579 // optional int32 axis = 1 [default = 1];
24580 inline bool ScaleParameter::has_axis() const {
24581   return (_has_bits_[0] & 0x00000001u) != 0;
24582 }
24583 inline void ScaleParameter::set_has_axis() {
24584   _has_bits_[0] |= 0x00000001u;
24585 }
24586 inline void ScaleParameter::clear_has_axis() {
24587   _has_bits_[0] &= ~0x00000001u;
24588 }
24589 inline void ScaleParameter::clear_axis() {
24590   axis_ = 1;
24591   clear_has_axis();
24592 }
24593 inline ::google::protobuf::int32 ScaleParameter::axis() const {
24594   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.axis)
24595   return axis_;
24596 }
24597 inline void ScaleParameter::set_axis(::google::protobuf::int32 value) {
24598   set_has_axis();
24599   axis_ = value;
24600   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.axis)
24601 }
24602
24603 // optional int32 num_axes = 2 [default = 1];
24604 inline bool ScaleParameter::has_num_axes() const {
24605   return (_has_bits_[0] & 0x00000002u) != 0;
24606 }
24607 inline void ScaleParameter::set_has_num_axes() {
24608   _has_bits_[0] |= 0x00000002u;
24609 }
24610 inline void ScaleParameter::clear_has_num_axes() {
24611   _has_bits_[0] &= ~0x00000002u;
24612 }
24613 inline void ScaleParameter::clear_num_axes() {
24614   num_axes_ = 1;
24615   clear_has_num_axes();
24616 }
24617 inline ::google::protobuf::int32 ScaleParameter::num_axes() const {
24618   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.num_axes)
24619   return num_axes_;
24620 }
24621 inline void ScaleParameter::set_num_axes(::google::protobuf::int32 value) {
24622   set_has_num_axes();
24623   num_axes_ = value;
24624   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.num_axes)
24625 }
24626
24627 // optional .opencv_caffe.FillerParameter filler = 3;
24628 inline bool ScaleParameter::has_filler() const {
24629   return (_has_bits_[0] & 0x00000004u) != 0;
24630 }
24631 inline void ScaleParameter::set_has_filler() {
24632   _has_bits_[0] |= 0x00000004u;
24633 }
24634 inline void ScaleParameter::clear_has_filler() {
24635   _has_bits_[0] &= ~0x00000004u;
24636 }
24637 inline void ScaleParameter::clear_filler() {
24638   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
24639   clear_has_filler();
24640 }
24641 inline const ::opencv_caffe::FillerParameter& ScaleParameter::filler() const {
24642   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.filler)
24643   return filler_ != NULL ? *filler_
24644                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24645 }
24646 inline ::opencv_caffe::FillerParameter* ScaleParameter::mutable_filler() {
24647   set_has_filler();
24648   if (filler_ == NULL) {
24649     filler_ = new ::opencv_caffe::FillerParameter;
24650   }
24651   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.filler)
24652   return filler_;
24653 }
24654 inline ::opencv_caffe::FillerParameter* ScaleParameter::release_filler() {
24655   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.filler)
24656   clear_has_filler();
24657   ::opencv_caffe::FillerParameter* temp = filler_;
24658   filler_ = NULL;
24659   return temp;
24660 }
24661 inline void ScaleParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
24662   delete filler_;
24663   filler_ = filler;
24664   if (filler) {
24665     set_has_filler();
24666   } else {
24667     clear_has_filler();
24668   }
24669   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.filler)
24670 }
24671
24672 // optional bool bias_term = 4 [default = false];
24673 inline bool ScaleParameter::has_bias_term() const {
24674   return (_has_bits_[0] & 0x00000008u) != 0;
24675 }
24676 inline void ScaleParameter::set_has_bias_term() {
24677   _has_bits_[0] |= 0x00000008u;
24678 }
24679 inline void ScaleParameter::clear_has_bias_term() {
24680   _has_bits_[0] &= ~0x00000008u;
24681 }
24682 inline void ScaleParameter::clear_bias_term() {
24683   bias_term_ = false;
24684   clear_has_bias_term();
24685 }
24686 inline bool ScaleParameter::bias_term() const {
24687   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_term)
24688   return bias_term_;
24689 }
24690 inline void ScaleParameter::set_bias_term(bool value) {
24691   set_has_bias_term();
24692   bias_term_ = value;
24693   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.bias_term)
24694 }
24695
24696 // optional .opencv_caffe.FillerParameter bias_filler = 5;
24697 inline bool ScaleParameter::has_bias_filler() const {
24698   return (_has_bits_[0] & 0x00000010u) != 0;
24699 }
24700 inline void ScaleParameter::set_has_bias_filler() {
24701   _has_bits_[0] |= 0x00000010u;
24702 }
24703 inline void ScaleParameter::clear_has_bias_filler() {
24704   _has_bits_[0] &= ~0x00000010u;
24705 }
24706 inline void ScaleParameter::clear_bias_filler() {
24707   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
24708   clear_has_bias_filler();
24709 }
24710 inline const ::opencv_caffe::FillerParameter& ScaleParameter::bias_filler() const {
24711   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_filler)
24712   return bias_filler_ != NULL ? *bias_filler_
24713                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24714 }
24715 inline ::opencv_caffe::FillerParameter* ScaleParameter::mutable_bias_filler() {
24716   set_has_bias_filler();
24717   if (bias_filler_ == NULL) {
24718     bias_filler_ = new ::opencv_caffe::FillerParameter;
24719   }
24720   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.bias_filler)
24721   return bias_filler_;
24722 }
24723 inline ::opencv_caffe::FillerParameter* ScaleParameter::release_bias_filler() {
24724   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.bias_filler)
24725   clear_has_bias_filler();
24726   ::opencv_caffe::FillerParameter* temp = bias_filler_;
24727   bias_filler_ = NULL;
24728   return temp;
24729 }
24730 inline void ScaleParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
24731   delete bias_filler_;
24732   bias_filler_ = bias_filler;
24733   if (bias_filler) {
24734     set_has_bias_filler();
24735   } else {
24736     clear_has_bias_filler();
24737   }
24738   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.bias_filler)
24739 }
24740
24741 inline const ScaleParameter* ScaleParameter::internal_default_instance() {
24742   return &ScaleParameter_default_instance_.get();
24743 }
24744 // -------------------------------------------------------------------
24745
24746 // SigmoidParameter
24747
24748 // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
24749 inline bool SigmoidParameter::has_engine() const {
24750   return (_has_bits_[0] & 0x00000001u) != 0;
24751 }
24752 inline void SigmoidParameter::set_has_engine() {
24753   _has_bits_[0] |= 0x00000001u;
24754 }
24755 inline void SigmoidParameter::clear_has_engine() {
24756   _has_bits_[0] &= ~0x00000001u;
24757 }
24758 inline void SigmoidParameter::clear_engine() {
24759   engine_ = 0;
24760   clear_has_engine();
24761 }
24762 inline ::opencv_caffe::SigmoidParameter_Engine SigmoidParameter::engine() const {
24763   // @@protoc_insertion_point(field_get:opencv_caffe.SigmoidParameter.engine)
24764   return static_cast< ::opencv_caffe::SigmoidParameter_Engine >(engine_);
24765 }
24766 inline void SigmoidParameter::set_engine(::opencv_caffe::SigmoidParameter_Engine value) {
24767   assert(::opencv_caffe::SigmoidParameter_Engine_IsValid(value));
24768   set_has_engine();
24769   engine_ = value;
24770   // @@protoc_insertion_point(field_set:opencv_caffe.SigmoidParameter.engine)
24771 }
24772
24773 inline const SigmoidParameter* SigmoidParameter::internal_default_instance() {
24774   return &SigmoidParameter_default_instance_.get();
24775 }
24776 // -------------------------------------------------------------------
24777
24778 // SliceParameter
24779
24780 // optional int32 axis = 3 [default = 1];
24781 inline bool SliceParameter::has_axis() const {
24782   return (_has_bits_[0] & 0x00000001u) != 0;
24783 }
24784 inline void SliceParameter::set_has_axis() {
24785   _has_bits_[0] |= 0x00000001u;
24786 }
24787 inline void SliceParameter::clear_has_axis() {
24788   _has_bits_[0] &= ~0x00000001u;
24789 }
24790 inline void SliceParameter::clear_axis() {
24791   axis_ = 1;
24792   clear_has_axis();
24793 }
24794 inline ::google::protobuf::int32 SliceParameter::axis() const {
24795   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.axis)
24796   return axis_;
24797 }
24798 inline void SliceParameter::set_axis(::google::protobuf::int32 value) {
24799   set_has_axis();
24800   axis_ = value;
24801   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.axis)
24802 }
24803
24804 // repeated uint32 slice_point = 2;
24805 inline int SliceParameter::slice_point_size() const {
24806   return slice_point_.size();
24807 }
24808 inline void SliceParameter::clear_slice_point() {
24809   slice_point_.Clear();
24810 }
24811 inline ::google::protobuf::uint32 SliceParameter::slice_point(int index) const {
24812   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_point)
24813   return slice_point_.Get(index);
24814 }
24815 inline void SliceParameter::set_slice_point(int index, ::google::protobuf::uint32 value) {
24816   slice_point_.Set(index, value);
24817   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_point)
24818 }
24819 inline void SliceParameter::add_slice_point(::google::protobuf::uint32 value) {
24820   slice_point_.Add(value);
24821   // @@protoc_insertion_point(field_add:opencv_caffe.SliceParameter.slice_point)
24822 }
24823 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
24824 SliceParameter::slice_point() const {
24825   // @@protoc_insertion_point(field_list:opencv_caffe.SliceParameter.slice_point)
24826   return slice_point_;
24827 }
24828 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
24829 SliceParameter::mutable_slice_point() {
24830   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SliceParameter.slice_point)
24831   return &slice_point_;
24832 }
24833
24834 // optional uint32 slice_dim = 1 [default = 1];
24835 inline bool SliceParameter::has_slice_dim() const {
24836   return (_has_bits_[0] & 0x00000004u) != 0;
24837 }
24838 inline void SliceParameter::set_has_slice_dim() {
24839   _has_bits_[0] |= 0x00000004u;
24840 }
24841 inline void SliceParameter::clear_has_slice_dim() {
24842   _has_bits_[0] &= ~0x00000004u;
24843 }
24844 inline void SliceParameter::clear_slice_dim() {
24845   slice_dim_ = 1u;
24846   clear_has_slice_dim();
24847 }
24848 inline ::google::protobuf::uint32 SliceParameter::slice_dim() const {
24849   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_dim)
24850   return slice_dim_;
24851 }
24852 inline void SliceParameter::set_slice_dim(::google::protobuf::uint32 value) {
24853   set_has_slice_dim();
24854   slice_dim_ = value;
24855   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_dim)
24856 }
24857
24858 inline const SliceParameter* SliceParameter::internal_default_instance() {
24859   return &SliceParameter_default_instance_.get();
24860 }
24861 // -------------------------------------------------------------------
24862
24863 // SoftmaxParameter
24864
24865 // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
24866 inline bool SoftmaxParameter::has_engine() const {
24867   return (_has_bits_[0] & 0x00000001u) != 0;
24868 }
24869 inline void SoftmaxParameter::set_has_engine() {
24870   _has_bits_[0] |= 0x00000001u;
24871 }
24872 inline void SoftmaxParameter::clear_has_engine() {
24873   _has_bits_[0] &= ~0x00000001u;
24874 }
24875 inline void SoftmaxParameter::clear_engine() {
24876   engine_ = 0;
24877   clear_has_engine();
24878 }
24879 inline ::opencv_caffe::SoftmaxParameter_Engine SoftmaxParameter::engine() const {
24880   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.engine)
24881   return static_cast< ::opencv_caffe::SoftmaxParameter_Engine >(engine_);
24882 }
24883 inline void SoftmaxParameter::set_engine(::opencv_caffe::SoftmaxParameter_Engine value) {
24884   assert(::opencv_caffe::SoftmaxParameter_Engine_IsValid(value));
24885   set_has_engine();
24886   engine_ = value;
24887   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.engine)
24888 }
24889
24890 // optional int32 axis = 2 [default = 1];
24891 inline bool SoftmaxParameter::has_axis() const {
24892   return (_has_bits_[0] & 0x00000002u) != 0;
24893 }
24894 inline void SoftmaxParameter::set_has_axis() {
24895   _has_bits_[0] |= 0x00000002u;
24896 }
24897 inline void SoftmaxParameter::clear_has_axis() {
24898   _has_bits_[0] &= ~0x00000002u;
24899 }
24900 inline void SoftmaxParameter::clear_axis() {
24901   axis_ = 1;
24902   clear_has_axis();
24903 }
24904 inline ::google::protobuf::int32 SoftmaxParameter::axis() const {
24905   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.axis)
24906   return axis_;
24907 }
24908 inline void SoftmaxParameter::set_axis(::google::protobuf::int32 value) {
24909   set_has_axis();
24910   axis_ = value;
24911   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.axis)
24912 }
24913
24914 inline const SoftmaxParameter* SoftmaxParameter::internal_default_instance() {
24915   return &SoftmaxParameter_default_instance_.get();
24916 }
24917 // -------------------------------------------------------------------
24918
24919 // TanHParameter
24920
24921 // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
24922 inline bool TanHParameter::has_engine() const {
24923   return (_has_bits_[0] & 0x00000001u) != 0;
24924 }
24925 inline void TanHParameter::set_has_engine() {
24926   _has_bits_[0] |= 0x00000001u;
24927 }
24928 inline void TanHParameter::clear_has_engine() {
24929   _has_bits_[0] &= ~0x00000001u;
24930 }
24931 inline void TanHParameter::clear_engine() {
24932   engine_ = 0;
24933   clear_has_engine();
24934 }
24935 inline ::opencv_caffe::TanHParameter_Engine TanHParameter::engine() const {
24936   // @@protoc_insertion_point(field_get:opencv_caffe.TanHParameter.engine)
24937   return static_cast< ::opencv_caffe::TanHParameter_Engine >(engine_);
24938 }
24939 inline void TanHParameter::set_engine(::opencv_caffe::TanHParameter_Engine value) {
24940   assert(::opencv_caffe::TanHParameter_Engine_IsValid(value));
24941   set_has_engine();
24942   engine_ = value;
24943   // @@protoc_insertion_point(field_set:opencv_caffe.TanHParameter.engine)
24944 }
24945
24946 inline const TanHParameter* TanHParameter::internal_default_instance() {
24947   return &TanHParameter_default_instance_.get();
24948 }
24949 // -------------------------------------------------------------------
24950
24951 // TileParameter
24952
24953 // optional int32 axis = 1 [default = 1];
24954 inline bool TileParameter::has_axis() const {
24955   return (_has_bits_[0] & 0x00000001u) != 0;
24956 }
24957 inline void TileParameter::set_has_axis() {
24958   _has_bits_[0] |= 0x00000001u;
24959 }
24960 inline void TileParameter::clear_has_axis() {
24961   _has_bits_[0] &= ~0x00000001u;
24962 }
24963 inline void TileParameter::clear_axis() {
24964   axis_ = 1;
24965   clear_has_axis();
24966 }
24967 inline ::google::protobuf::int32 TileParameter::axis() const {
24968   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.axis)
24969   return axis_;
24970 }
24971 inline void TileParameter::set_axis(::google::protobuf::int32 value) {
24972   set_has_axis();
24973   axis_ = value;
24974   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.axis)
24975 }
24976
24977 // optional int32 tiles = 2;
24978 inline bool TileParameter::has_tiles() const {
24979   return (_has_bits_[0] & 0x00000002u) != 0;
24980 }
24981 inline void TileParameter::set_has_tiles() {
24982   _has_bits_[0] |= 0x00000002u;
24983 }
24984 inline void TileParameter::clear_has_tiles() {
24985   _has_bits_[0] &= ~0x00000002u;
24986 }
24987 inline void TileParameter::clear_tiles() {
24988   tiles_ = 0;
24989   clear_has_tiles();
24990 }
24991 inline ::google::protobuf::int32 TileParameter::tiles() const {
24992   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.tiles)
24993   return tiles_;
24994 }
24995 inline void TileParameter::set_tiles(::google::protobuf::int32 value) {
24996   set_has_tiles();
24997   tiles_ = value;
24998   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.tiles)
24999 }
25000
25001 inline const TileParameter* TileParameter::internal_default_instance() {
25002   return &TileParameter_default_instance_.get();
25003 }
25004 // -------------------------------------------------------------------
25005
25006 // ThresholdParameter
25007
25008 // optional float threshold = 1 [default = 0];
25009 inline bool ThresholdParameter::has_threshold() const {
25010   return (_has_bits_[0] & 0x00000001u) != 0;
25011 }
25012 inline void ThresholdParameter::set_has_threshold() {
25013   _has_bits_[0] |= 0x00000001u;
25014 }
25015 inline void ThresholdParameter::clear_has_threshold() {
25016   _has_bits_[0] &= ~0x00000001u;
25017 }
25018 inline void ThresholdParameter::clear_threshold() {
25019   threshold_ = 0;
25020   clear_has_threshold();
25021 }
25022 inline float ThresholdParameter::threshold() const {
25023   // @@protoc_insertion_point(field_get:opencv_caffe.ThresholdParameter.threshold)
25024   return threshold_;
25025 }
25026 inline void ThresholdParameter::set_threshold(float value) {
25027   set_has_threshold();
25028   threshold_ = value;
25029   // @@protoc_insertion_point(field_set:opencv_caffe.ThresholdParameter.threshold)
25030 }
25031
25032 inline const ThresholdParameter* ThresholdParameter::internal_default_instance() {
25033   return &ThresholdParameter_default_instance_.get();
25034 }
25035 // -------------------------------------------------------------------
25036
25037 // WindowDataParameter
25038
25039 // optional string source = 1;
25040 inline bool WindowDataParameter::has_source() const {
25041   return (_has_bits_[0] & 0x00000001u) != 0;
25042 }
25043 inline void WindowDataParameter::set_has_source() {
25044   _has_bits_[0] |= 0x00000001u;
25045 }
25046 inline void WindowDataParameter::clear_has_source() {
25047   _has_bits_[0] &= ~0x00000001u;
25048 }
25049 inline void WindowDataParameter::clear_source() {
25050   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25051   clear_has_source();
25052 }
25053 inline const ::std::string& WindowDataParameter::source() const {
25054   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.source)
25055   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25056 }
25057 inline void WindowDataParameter::set_source(const ::std::string& value) {
25058   set_has_source();
25059   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25060   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.source)
25061 }
25062 inline void WindowDataParameter::set_source(const char* value) {
25063   set_has_source();
25064   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25065   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.source)
25066 }
25067 inline void WindowDataParameter::set_source(const char* value, size_t size) {
25068   set_has_source();
25069   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25070       ::std::string(reinterpret_cast<const char*>(value), size));
25071   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.source)
25072 }
25073 inline ::std::string* WindowDataParameter::mutable_source() {
25074   set_has_source();
25075   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.source)
25076   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25077 }
25078 inline ::std::string* WindowDataParameter::release_source() {
25079   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.source)
25080   clear_has_source();
25081   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25082 }
25083 inline void WindowDataParameter::set_allocated_source(::std::string* source) {
25084   if (source != NULL) {
25085     set_has_source();
25086   } else {
25087     clear_has_source();
25088   }
25089   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
25090   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.source)
25091 }
25092
25093 // optional float scale = 2 [default = 1];
25094 inline bool WindowDataParameter::has_scale() const {
25095   return (_has_bits_[0] & 0x00000002u) != 0;
25096 }
25097 inline void WindowDataParameter::set_has_scale() {
25098   _has_bits_[0] |= 0x00000002u;
25099 }
25100 inline void WindowDataParameter::clear_has_scale() {
25101   _has_bits_[0] &= ~0x00000002u;
25102 }
25103 inline void WindowDataParameter::clear_scale() {
25104   scale_ = 1;
25105   clear_has_scale();
25106 }
25107 inline float WindowDataParameter::scale() const {
25108   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.scale)
25109   return scale_;
25110 }
25111 inline void WindowDataParameter::set_scale(float value) {
25112   set_has_scale();
25113   scale_ = value;
25114   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.scale)
25115 }
25116
25117 // optional string mean_file = 3;
25118 inline bool WindowDataParameter::has_mean_file() const {
25119   return (_has_bits_[0] & 0x00000004u) != 0;
25120 }
25121 inline void WindowDataParameter::set_has_mean_file() {
25122   _has_bits_[0] |= 0x00000004u;
25123 }
25124 inline void WindowDataParameter::clear_has_mean_file() {
25125   _has_bits_[0] &= ~0x00000004u;
25126 }
25127 inline void WindowDataParameter::clear_mean_file() {
25128   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25129   clear_has_mean_file();
25130 }
25131 inline const ::std::string& WindowDataParameter::mean_file() const {
25132   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mean_file)
25133   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25134 }
25135 inline void WindowDataParameter::set_mean_file(const ::std::string& value) {
25136   set_has_mean_file();
25137   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25138   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mean_file)
25139 }
25140 inline void WindowDataParameter::set_mean_file(const char* value) {
25141   set_has_mean_file();
25142   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25143   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.mean_file)
25144 }
25145 inline void WindowDataParameter::set_mean_file(const char* value, size_t size) {
25146   set_has_mean_file();
25147   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25148       ::std::string(reinterpret_cast<const char*>(value), size));
25149   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.mean_file)
25150 }
25151 inline ::std::string* WindowDataParameter::mutable_mean_file() {
25152   set_has_mean_file();
25153   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.mean_file)
25154   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25155 }
25156 inline ::std::string* WindowDataParameter::release_mean_file() {
25157   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.mean_file)
25158   clear_has_mean_file();
25159   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25160 }
25161 inline void WindowDataParameter::set_allocated_mean_file(::std::string* mean_file) {
25162   if (mean_file != NULL) {
25163     set_has_mean_file();
25164   } else {
25165     clear_has_mean_file();
25166   }
25167   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
25168   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.mean_file)
25169 }
25170
25171 // optional uint32 batch_size = 4;
25172 inline bool WindowDataParameter::has_batch_size() const {
25173   return (_has_bits_[0] & 0x00000008u) != 0;
25174 }
25175 inline void WindowDataParameter::set_has_batch_size() {
25176   _has_bits_[0] |= 0x00000008u;
25177 }
25178 inline void WindowDataParameter::clear_has_batch_size() {
25179   _has_bits_[0] &= ~0x00000008u;
25180 }
25181 inline void WindowDataParameter::clear_batch_size() {
25182   batch_size_ = 0u;
25183   clear_has_batch_size();
25184 }
25185 inline ::google::protobuf::uint32 WindowDataParameter::batch_size() const {
25186   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.batch_size)
25187   return batch_size_;
25188 }
25189 inline void WindowDataParameter::set_batch_size(::google::protobuf::uint32 value) {
25190   set_has_batch_size();
25191   batch_size_ = value;
25192   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.batch_size)
25193 }
25194
25195 // optional uint32 crop_size = 5 [default = 0];
25196 inline bool WindowDataParameter::has_crop_size() const {
25197   return (_has_bits_[0] & 0x00000010u) != 0;
25198 }
25199 inline void WindowDataParameter::set_has_crop_size() {
25200   _has_bits_[0] |= 0x00000010u;
25201 }
25202 inline void WindowDataParameter::clear_has_crop_size() {
25203   _has_bits_[0] &= ~0x00000010u;
25204 }
25205 inline void WindowDataParameter::clear_crop_size() {
25206   crop_size_ = 0u;
25207   clear_has_crop_size();
25208 }
25209 inline ::google::protobuf::uint32 WindowDataParameter::crop_size() const {
25210   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_size)
25211   return crop_size_;
25212 }
25213 inline void WindowDataParameter::set_crop_size(::google::protobuf::uint32 value) {
25214   set_has_crop_size();
25215   crop_size_ = value;
25216   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_size)
25217 }
25218
25219 // optional bool mirror = 6 [default = false];
25220 inline bool WindowDataParameter::has_mirror() const {
25221   return (_has_bits_[0] & 0x00000020u) != 0;
25222 }
25223 inline void WindowDataParameter::set_has_mirror() {
25224   _has_bits_[0] |= 0x00000020u;
25225 }
25226 inline void WindowDataParameter::clear_has_mirror() {
25227   _has_bits_[0] &= ~0x00000020u;
25228 }
25229 inline void WindowDataParameter::clear_mirror() {
25230   mirror_ = false;
25231   clear_has_mirror();
25232 }
25233 inline bool WindowDataParameter::mirror() const {
25234   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mirror)
25235   return mirror_;
25236 }
25237 inline void WindowDataParameter::set_mirror(bool value) {
25238   set_has_mirror();
25239   mirror_ = value;
25240   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mirror)
25241 }
25242
25243 // optional float fg_threshold = 7 [default = 0.5];
25244 inline bool WindowDataParameter::has_fg_threshold() const {
25245   return (_has_bits_[0] & 0x00000040u) != 0;
25246 }
25247 inline void WindowDataParameter::set_has_fg_threshold() {
25248   _has_bits_[0] |= 0x00000040u;
25249 }
25250 inline void WindowDataParameter::clear_has_fg_threshold() {
25251   _has_bits_[0] &= ~0x00000040u;
25252 }
25253 inline void WindowDataParameter::clear_fg_threshold() {
25254   fg_threshold_ = 0.5f;
25255   clear_has_fg_threshold();
25256 }
25257 inline float WindowDataParameter::fg_threshold() const {
25258   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_threshold)
25259   return fg_threshold_;
25260 }
25261 inline void WindowDataParameter::set_fg_threshold(float value) {
25262   set_has_fg_threshold();
25263   fg_threshold_ = value;
25264   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_threshold)
25265 }
25266
25267 // optional float bg_threshold = 8 [default = 0.5];
25268 inline bool WindowDataParameter::has_bg_threshold() const {
25269   return (_has_bits_[0] & 0x00000080u) != 0;
25270 }
25271 inline void WindowDataParameter::set_has_bg_threshold() {
25272   _has_bits_[0] |= 0x00000080u;
25273 }
25274 inline void WindowDataParameter::clear_has_bg_threshold() {
25275   _has_bits_[0] &= ~0x00000080u;
25276 }
25277 inline void WindowDataParameter::clear_bg_threshold() {
25278   bg_threshold_ = 0.5f;
25279   clear_has_bg_threshold();
25280 }
25281 inline float WindowDataParameter::bg_threshold() const {
25282   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.bg_threshold)
25283   return bg_threshold_;
25284 }
25285 inline void WindowDataParameter::set_bg_threshold(float value) {
25286   set_has_bg_threshold();
25287   bg_threshold_ = value;
25288   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.bg_threshold)
25289 }
25290
25291 // optional float fg_fraction = 9 [default = 0.25];
25292 inline bool WindowDataParameter::has_fg_fraction() const {
25293   return (_has_bits_[0] & 0x00000100u) != 0;
25294 }
25295 inline void WindowDataParameter::set_has_fg_fraction() {
25296   _has_bits_[0] |= 0x00000100u;
25297 }
25298 inline void WindowDataParameter::clear_has_fg_fraction() {
25299   _has_bits_[0] &= ~0x00000100u;
25300 }
25301 inline void WindowDataParameter::clear_fg_fraction() {
25302   fg_fraction_ = 0.25f;
25303   clear_has_fg_fraction();
25304 }
25305 inline float WindowDataParameter::fg_fraction() const {
25306   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_fraction)
25307   return fg_fraction_;
25308 }
25309 inline void WindowDataParameter::set_fg_fraction(float value) {
25310   set_has_fg_fraction();
25311   fg_fraction_ = value;
25312   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_fraction)
25313 }
25314
25315 // optional uint32 context_pad = 10 [default = 0];
25316 inline bool WindowDataParameter::has_context_pad() const {
25317   return (_has_bits_[0] & 0x00000200u) != 0;
25318 }
25319 inline void WindowDataParameter::set_has_context_pad() {
25320   _has_bits_[0] |= 0x00000200u;
25321 }
25322 inline void WindowDataParameter::clear_has_context_pad() {
25323   _has_bits_[0] &= ~0x00000200u;
25324 }
25325 inline void WindowDataParameter::clear_context_pad() {
25326   context_pad_ = 0u;
25327   clear_has_context_pad();
25328 }
25329 inline ::google::protobuf::uint32 WindowDataParameter::context_pad() const {
25330   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.context_pad)
25331   return context_pad_;
25332 }
25333 inline void WindowDataParameter::set_context_pad(::google::protobuf::uint32 value) {
25334   set_has_context_pad();
25335   context_pad_ = value;
25336   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.context_pad)
25337 }
25338
25339 // optional string crop_mode = 11 [default = "warp"];
25340 inline bool WindowDataParameter::has_crop_mode() const {
25341   return (_has_bits_[0] & 0x00000400u) != 0;
25342 }
25343 inline void WindowDataParameter::set_has_crop_mode() {
25344   _has_bits_[0] |= 0x00000400u;
25345 }
25346 inline void WindowDataParameter::clear_has_crop_mode() {
25347   _has_bits_[0] &= ~0x00000400u;
25348 }
25349 inline void WindowDataParameter::clear_crop_mode() {
25350   crop_mode_.ClearToDefaultNoArena(_default_crop_mode_);
25351   clear_has_crop_mode();
25352 }
25353 inline const ::std::string& WindowDataParameter::crop_mode() const {
25354   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_mode)
25355   return crop_mode_.GetNoArena(_default_crop_mode_);
25356 }
25357 inline void WindowDataParameter::set_crop_mode(const ::std::string& value) {
25358   set_has_crop_mode();
25359   crop_mode_.SetNoArena(_default_crop_mode_, value);
25360   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_mode)
25361 }
25362 inline void WindowDataParameter::set_crop_mode(const char* value) {
25363   set_has_crop_mode();
25364   crop_mode_.SetNoArena(_default_crop_mode_, ::std::string(value));
25365   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.crop_mode)
25366 }
25367 inline void WindowDataParameter::set_crop_mode(const char* value, size_t size) {
25368   set_has_crop_mode();
25369   crop_mode_.SetNoArena(_default_crop_mode_,
25370       ::std::string(reinterpret_cast<const char*>(value), size));
25371   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.crop_mode)
25372 }
25373 inline ::std::string* WindowDataParameter::mutable_crop_mode() {
25374   set_has_crop_mode();
25375   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.crop_mode)
25376   return crop_mode_.MutableNoArena(_default_crop_mode_);
25377 }
25378 inline ::std::string* WindowDataParameter::release_crop_mode() {
25379   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.crop_mode)
25380   clear_has_crop_mode();
25381   return crop_mode_.ReleaseNoArena(_default_crop_mode_);
25382 }
25383 inline void WindowDataParameter::set_allocated_crop_mode(::std::string* crop_mode) {
25384   if (crop_mode != NULL) {
25385     set_has_crop_mode();
25386   } else {
25387     clear_has_crop_mode();
25388   }
25389   crop_mode_.SetAllocatedNoArena(_default_crop_mode_, crop_mode);
25390   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.crop_mode)
25391 }
25392
25393 // optional bool cache_images = 12 [default = false];
25394 inline bool WindowDataParameter::has_cache_images() const {
25395   return (_has_bits_[0] & 0x00000800u) != 0;
25396 }
25397 inline void WindowDataParameter::set_has_cache_images() {
25398   _has_bits_[0] |= 0x00000800u;
25399 }
25400 inline void WindowDataParameter::clear_has_cache_images() {
25401   _has_bits_[0] &= ~0x00000800u;
25402 }
25403 inline void WindowDataParameter::clear_cache_images() {
25404   cache_images_ = false;
25405   clear_has_cache_images();
25406 }
25407 inline bool WindowDataParameter::cache_images() const {
25408   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.cache_images)
25409   return cache_images_;
25410 }
25411 inline void WindowDataParameter::set_cache_images(bool value) {
25412   set_has_cache_images();
25413   cache_images_ = value;
25414   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.cache_images)
25415 }
25416
25417 // optional string root_folder = 13 [default = ""];
25418 inline bool WindowDataParameter::has_root_folder() const {
25419   return (_has_bits_[0] & 0x00001000u) != 0;
25420 }
25421 inline void WindowDataParameter::set_has_root_folder() {
25422   _has_bits_[0] |= 0x00001000u;
25423 }
25424 inline void WindowDataParameter::clear_has_root_folder() {
25425   _has_bits_[0] &= ~0x00001000u;
25426 }
25427 inline void WindowDataParameter::clear_root_folder() {
25428   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25429   clear_has_root_folder();
25430 }
25431 inline const ::std::string& WindowDataParameter::root_folder() const {
25432   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.root_folder)
25433   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25434 }
25435 inline void WindowDataParameter::set_root_folder(const ::std::string& value) {
25436   set_has_root_folder();
25437   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25438   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.root_folder)
25439 }
25440 inline void WindowDataParameter::set_root_folder(const char* value) {
25441   set_has_root_folder();
25442   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25443   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.root_folder)
25444 }
25445 inline void WindowDataParameter::set_root_folder(const char* value, size_t size) {
25446   set_has_root_folder();
25447   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25448       ::std::string(reinterpret_cast<const char*>(value), size));
25449   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.root_folder)
25450 }
25451 inline ::std::string* WindowDataParameter::mutable_root_folder() {
25452   set_has_root_folder();
25453   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.root_folder)
25454   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25455 }
25456 inline ::std::string* WindowDataParameter::release_root_folder() {
25457   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.root_folder)
25458   clear_has_root_folder();
25459   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25460 }
25461 inline void WindowDataParameter::set_allocated_root_folder(::std::string* root_folder) {
25462   if (root_folder != NULL) {
25463     set_has_root_folder();
25464   } else {
25465     clear_has_root_folder();
25466   }
25467   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
25468   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.root_folder)
25469 }
25470
25471 inline const WindowDataParameter* WindowDataParameter::internal_default_instance() {
25472   return &WindowDataParameter_default_instance_.get();
25473 }
25474 // -------------------------------------------------------------------
25475
25476 // SPPParameter
25477
25478 // optional uint32 pyramid_height = 1;
25479 inline bool SPPParameter::has_pyramid_height() const {
25480   return (_has_bits_[0] & 0x00000001u) != 0;
25481 }
25482 inline void SPPParameter::set_has_pyramid_height() {
25483   _has_bits_[0] |= 0x00000001u;
25484 }
25485 inline void SPPParameter::clear_has_pyramid_height() {
25486   _has_bits_[0] &= ~0x00000001u;
25487 }
25488 inline void SPPParameter::clear_pyramid_height() {
25489   pyramid_height_ = 0u;
25490   clear_has_pyramid_height();
25491 }
25492 inline ::google::protobuf::uint32 SPPParameter::pyramid_height() const {
25493   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pyramid_height)
25494   return pyramid_height_;
25495 }
25496 inline void SPPParameter::set_pyramid_height(::google::protobuf::uint32 value) {
25497   set_has_pyramid_height();
25498   pyramid_height_ = value;
25499   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pyramid_height)
25500 }
25501
25502 // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
25503 inline bool SPPParameter::has_pool() const {
25504   return (_has_bits_[0] & 0x00000002u) != 0;
25505 }
25506 inline void SPPParameter::set_has_pool() {
25507   _has_bits_[0] |= 0x00000002u;
25508 }
25509 inline void SPPParameter::clear_has_pool() {
25510   _has_bits_[0] &= ~0x00000002u;
25511 }
25512 inline void SPPParameter::clear_pool() {
25513   pool_ = 0;
25514   clear_has_pool();
25515 }
25516 inline ::opencv_caffe::SPPParameter_PoolMethod SPPParameter::pool() const {
25517   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pool)
25518   return static_cast< ::opencv_caffe::SPPParameter_PoolMethod >(pool_);
25519 }
25520 inline void SPPParameter::set_pool(::opencv_caffe::SPPParameter_PoolMethod value) {
25521   assert(::opencv_caffe::SPPParameter_PoolMethod_IsValid(value));
25522   set_has_pool();
25523   pool_ = value;
25524   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pool)
25525 }
25526
25527 // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
25528 inline bool SPPParameter::has_engine() const {
25529   return (_has_bits_[0] & 0x00000004u) != 0;
25530 }
25531 inline void SPPParameter::set_has_engine() {
25532   _has_bits_[0] |= 0x00000004u;
25533 }
25534 inline void SPPParameter::clear_has_engine() {
25535   _has_bits_[0] &= ~0x00000004u;
25536 }
25537 inline void SPPParameter::clear_engine() {
25538   engine_ = 0;
25539   clear_has_engine();
25540 }
25541 inline ::opencv_caffe::SPPParameter_Engine SPPParameter::engine() const {
25542   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.engine)
25543   return static_cast< ::opencv_caffe::SPPParameter_Engine >(engine_);
25544 }
25545 inline void SPPParameter::set_engine(::opencv_caffe::SPPParameter_Engine value) {
25546   assert(::opencv_caffe::SPPParameter_Engine_IsValid(value));
25547   set_has_engine();
25548   engine_ = value;
25549   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.engine)
25550 }
25551
25552 inline const SPPParameter* SPPParameter::internal_default_instance() {
25553   return &SPPParameter_default_instance_.get();
25554 }
25555 // -------------------------------------------------------------------
25556
25557 // V1LayerParameter
25558
25559 // repeated string bottom = 2;
25560 inline int V1LayerParameter::bottom_size() const {
25561   return bottom_.size();
25562 }
25563 inline void V1LayerParameter::clear_bottom() {
25564   bottom_.Clear();
25565 }
25566 inline const ::std::string& V1LayerParameter::bottom(int index) const {
25567   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.bottom)
25568   return bottom_.Get(index);
25569 }
25570 inline ::std::string* V1LayerParameter::mutable_bottom(int index) {
25571   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.bottom)
25572   return bottom_.Mutable(index);
25573 }
25574 inline void V1LayerParameter::set_bottom(int index, const ::std::string& value) {
25575   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.bottom)
25576   bottom_.Mutable(index)->assign(value);
25577 }
25578 inline void V1LayerParameter::set_bottom(int index, const char* value) {
25579   bottom_.Mutable(index)->assign(value);
25580   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.bottom)
25581 }
25582 inline void V1LayerParameter::set_bottom(int index, const char* value, size_t size) {
25583   bottom_.Mutable(index)->assign(
25584     reinterpret_cast<const char*>(value), size);
25585   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.bottom)
25586 }
25587 inline ::std::string* V1LayerParameter::add_bottom() {
25588   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.bottom)
25589   return bottom_.Add();
25590 }
25591 inline void V1LayerParameter::add_bottom(const ::std::string& value) {
25592   bottom_.Add()->assign(value);
25593   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.bottom)
25594 }
25595 inline void V1LayerParameter::add_bottom(const char* value) {
25596   bottom_.Add()->assign(value);
25597   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.bottom)
25598 }
25599 inline void V1LayerParameter::add_bottom(const char* value, size_t size) {
25600   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
25601   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.bottom)
25602 }
25603 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
25604 V1LayerParameter::bottom() const {
25605   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.bottom)
25606   return bottom_;
25607 }
25608 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
25609 V1LayerParameter::mutable_bottom() {
25610   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.bottom)
25611   return &bottom_;
25612 }
25613
25614 // repeated string top = 3;
25615 inline int V1LayerParameter::top_size() const {
25616   return top_.size();
25617 }
25618 inline void V1LayerParameter::clear_top() {
25619   top_.Clear();
25620 }
25621 inline const ::std::string& V1LayerParameter::top(int index) const {
25622   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.top)
25623   return top_.Get(index);
25624 }
25625 inline ::std::string* V1LayerParameter::mutable_top(int index) {
25626   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.top)
25627   return top_.Mutable(index);
25628 }
25629 inline void V1LayerParameter::set_top(int index, const ::std::string& value) {
25630   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.top)
25631   top_.Mutable(index)->assign(value);
25632 }
25633 inline void V1LayerParameter::set_top(int index, const char* value) {
25634   top_.Mutable(index)->assign(value);
25635   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.top)
25636 }
25637 inline void V1LayerParameter::set_top(int index, const char* value, size_t size) {
25638   top_.Mutable(index)->assign(
25639     reinterpret_cast<const char*>(value), size);
25640   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.top)
25641 }
25642 inline ::std::string* V1LayerParameter::add_top() {
25643   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.top)
25644   return top_.Add();
25645 }
25646 inline void V1LayerParameter::add_top(const ::std::string& value) {
25647   top_.Add()->assign(value);
25648   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.top)
25649 }
25650 inline void V1LayerParameter::add_top(const char* value) {
25651   top_.Add()->assign(value);
25652   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.top)
25653 }
25654 inline void V1LayerParameter::add_top(const char* value, size_t size) {
25655   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
25656   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.top)
25657 }
25658 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
25659 V1LayerParameter::top() const {
25660   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.top)
25661   return top_;
25662 }
25663 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
25664 V1LayerParameter::mutable_top() {
25665   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.top)
25666   return &top_;
25667 }
25668
25669 // optional string name = 4;
25670 inline bool V1LayerParameter::has_name() const {
25671   return (_has_bits_[0] & 0x00000004u) != 0;
25672 }
25673 inline void V1LayerParameter::set_has_name() {
25674   _has_bits_[0] |= 0x00000004u;
25675 }
25676 inline void V1LayerParameter::clear_has_name() {
25677   _has_bits_[0] &= ~0x00000004u;
25678 }
25679 inline void V1LayerParameter::clear_name() {
25680   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25681   clear_has_name();
25682 }
25683 inline const ::std::string& V1LayerParameter::name() const {
25684   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.name)
25685   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25686 }
25687 inline void V1LayerParameter::set_name(const ::std::string& value) {
25688   set_has_name();
25689   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25690   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.name)
25691 }
25692 inline void V1LayerParameter::set_name(const char* value) {
25693   set_has_name();
25694   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25695   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.name)
25696 }
25697 inline void V1LayerParameter::set_name(const char* value, size_t size) {
25698   set_has_name();
25699   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25700       ::std::string(reinterpret_cast<const char*>(value), size));
25701   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.name)
25702 }
25703 inline ::std::string* V1LayerParameter::mutable_name() {
25704   set_has_name();
25705   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.name)
25706   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25707 }
25708 inline ::std::string* V1LayerParameter::release_name() {
25709   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.name)
25710   clear_has_name();
25711   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25712 }
25713 inline void V1LayerParameter::set_allocated_name(::std::string* name) {
25714   if (name != NULL) {
25715     set_has_name();
25716   } else {
25717     clear_has_name();
25718   }
25719   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
25720   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.name)
25721 }
25722
25723 // repeated .opencv_caffe.NetStateRule include = 32;
25724 inline int V1LayerParameter::include_size() const {
25725   return include_.size();
25726 }
25727 inline void V1LayerParameter::clear_include() {
25728   include_.Clear();
25729 }
25730 inline const ::opencv_caffe::NetStateRule& V1LayerParameter::include(int index) const {
25731   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.include)
25732   return include_.Get(index);
25733 }
25734 inline ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_include(int index) {
25735   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.include)
25736   return include_.Mutable(index);
25737 }
25738 inline ::opencv_caffe::NetStateRule* V1LayerParameter::add_include() {
25739   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.include)
25740   return include_.Add();
25741 }
25742 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
25743 V1LayerParameter::mutable_include() {
25744   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.include)
25745   return &include_;
25746 }
25747 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
25748 V1LayerParameter::include() const {
25749   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.include)
25750   return include_;
25751 }
25752
25753 // repeated .opencv_caffe.NetStateRule exclude = 33;
25754 inline int V1LayerParameter::exclude_size() const {
25755   return exclude_.size();
25756 }
25757 inline void V1LayerParameter::clear_exclude() {
25758   exclude_.Clear();
25759 }
25760 inline const ::opencv_caffe::NetStateRule& V1LayerParameter::exclude(int index) const {
25761   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exclude)
25762   return exclude_.Get(index);
25763 }
25764 inline ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_exclude(int index) {
25765   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exclude)
25766   return exclude_.Mutable(index);
25767 }
25768 inline ::opencv_caffe::NetStateRule* V1LayerParameter::add_exclude() {
25769   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.exclude)
25770   return exclude_.Add();
25771 }
25772 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
25773 V1LayerParameter::mutable_exclude() {
25774   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.exclude)
25775   return &exclude_;
25776 }
25777 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
25778 V1LayerParameter::exclude() const {
25779   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.exclude)
25780   return exclude_;
25781 }
25782
25783 // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
25784 inline bool V1LayerParameter::has_type() const {
25785   return (_has_bits_[0] & 0x00000020u) != 0;
25786 }
25787 inline void V1LayerParameter::set_has_type() {
25788   _has_bits_[0] |= 0x00000020u;
25789 }
25790 inline void V1LayerParameter::clear_has_type() {
25791   _has_bits_[0] &= ~0x00000020u;
25792 }
25793 inline void V1LayerParameter::clear_type() {
25794   type_ = 0;
25795   clear_has_type();
25796 }
25797 inline ::opencv_caffe::V1LayerParameter_LayerType V1LayerParameter::type() const {
25798   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.type)
25799   return static_cast< ::opencv_caffe::V1LayerParameter_LayerType >(type_);
25800 }
25801 inline void V1LayerParameter::set_type(::opencv_caffe::V1LayerParameter_LayerType value) {
25802   assert(::opencv_caffe::V1LayerParameter_LayerType_IsValid(value));
25803   set_has_type();
25804   type_ = value;
25805   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.type)
25806 }
25807
25808 // repeated .opencv_caffe.BlobProto blobs = 6;
25809 inline int V1LayerParameter::blobs_size() const {
25810   return blobs_.size();
25811 }
25812 inline void V1LayerParameter::clear_blobs() {
25813   blobs_.Clear();
25814 }
25815 inline const ::opencv_caffe::BlobProto& V1LayerParameter::blobs(int index) const {
25816   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs)
25817   return blobs_.Get(index);
25818 }
25819 inline ::opencv_caffe::BlobProto* V1LayerParameter::mutable_blobs(int index) {
25820   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.blobs)
25821   return blobs_.Mutable(index);
25822 }
25823 inline ::opencv_caffe::BlobProto* V1LayerParameter::add_blobs() {
25824   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs)
25825   return blobs_.Add();
25826 }
25827 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
25828 V1LayerParameter::mutable_blobs() {
25829   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs)
25830   return &blobs_;
25831 }
25832 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
25833 V1LayerParameter::blobs() const {
25834   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs)
25835   return blobs_;
25836 }
25837
25838 // repeated string param = 1001;
25839 inline int V1LayerParameter::param_size() const {
25840   return param_.size();
25841 }
25842 inline void V1LayerParameter::clear_param() {
25843   param_.Clear();
25844 }
25845 inline const ::std::string& V1LayerParameter::param(int index) const {
25846   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.param)
25847   return param_.Get(index);
25848 }
25849 inline ::std::string* V1LayerParameter::mutable_param(int index) {
25850   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.param)
25851   return param_.Mutable(index);
25852 }
25853 inline void V1LayerParameter::set_param(int index, const ::std::string& value) {
25854   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.param)
25855   param_.Mutable(index)->assign(value);
25856 }
25857 inline void V1LayerParameter::set_param(int index, const char* value) {
25858   param_.Mutable(index)->assign(value);
25859   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.param)
25860 }
25861 inline void V1LayerParameter::set_param(int index, const char* value, size_t size) {
25862   param_.Mutable(index)->assign(
25863     reinterpret_cast<const char*>(value), size);
25864   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.param)
25865 }
25866 inline ::std::string* V1LayerParameter::add_param() {
25867   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.param)
25868   return param_.Add();
25869 }
25870 inline void V1LayerParameter::add_param(const ::std::string& value) {
25871   param_.Add()->assign(value);
25872   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.param)
25873 }
25874 inline void V1LayerParameter::add_param(const char* value) {
25875   param_.Add()->assign(value);
25876   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.param)
25877 }
25878 inline void V1LayerParameter::add_param(const char* value, size_t size) {
25879   param_.Add()->assign(reinterpret_cast<const char*>(value), size);
25880   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.param)
25881 }
25882 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
25883 V1LayerParameter::param() const {
25884   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.param)
25885   return param_;
25886 }
25887 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
25888 V1LayerParameter::mutable_param() {
25889   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.param)
25890   return &param_;
25891 }
25892
25893 // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
25894 inline int V1LayerParameter::blob_share_mode_size() const {
25895   return blob_share_mode_.size();
25896 }
25897 inline void V1LayerParameter::clear_blob_share_mode() {
25898   blob_share_mode_.Clear();
25899 }
25900 inline ::opencv_caffe::V1LayerParameter_DimCheckMode V1LayerParameter::blob_share_mode(int index) const {
25901   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blob_share_mode)
25902   return static_cast< ::opencv_caffe::V1LayerParameter_DimCheckMode >(blob_share_mode_.Get(index));
25903 }
25904 inline void V1LayerParameter::set_blob_share_mode(int index, ::opencv_caffe::V1LayerParameter_DimCheckMode value) {
25905   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
25906   blob_share_mode_.Set(index, value);
25907   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blob_share_mode)
25908 }
25909 inline void V1LayerParameter::add_blob_share_mode(::opencv_caffe::V1LayerParameter_DimCheckMode value) {
25910   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
25911   blob_share_mode_.Add(value);
25912   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blob_share_mode)
25913 }
25914 inline const ::google::protobuf::RepeatedField<int>&
25915 V1LayerParameter::blob_share_mode() const {
25916   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blob_share_mode)
25917   return blob_share_mode_;
25918 }
25919 inline ::google::protobuf::RepeatedField<int>*
25920 V1LayerParameter::mutable_blob_share_mode() {
25921   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blob_share_mode)
25922   return &blob_share_mode_;
25923 }
25924
25925 // repeated float blobs_lr = 7;
25926 inline int V1LayerParameter::blobs_lr_size() const {
25927   return blobs_lr_.size();
25928 }
25929 inline void V1LayerParameter::clear_blobs_lr() {
25930   blobs_lr_.Clear();
25931 }
25932 inline float V1LayerParameter::blobs_lr(int index) const {
25933   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs_lr)
25934   return blobs_lr_.Get(index);
25935 }
25936 inline void V1LayerParameter::set_blobs_lr(int index, float value) {
25937   blobs_lr_.Set(index, value);
25938   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blobs_lr)
25939 }
25940 inline void V1LayerParameter::add_blobs_lr(float value) {
25941   blobs_lr_.Add(value);
25942   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs_lr)
25943 }
25944 inline const ::google::protobuf::RepeatedField< float >&
25945 V1LayerParameter::blobs_lr() const {
25946   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs_lr)
25947   return blobs_lr_;
25948 }
25949 inline ::google::protobuf::RepeatedField< float >*
25950 V1LayerParameter::mutable_blobs_lr() {
25951   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs_lr)
25952   return &blobs_lr_;
25953 }
25954
25955 // repeated float weight_decay = 8;
25956 inline int V1LayerParameter::weight_decay_size() const {
25957   return weight_decay_.size();
25958 }
25959 inline void V1LayerParameter::clear_weight_decay() {
25960   weight_decay_.Clear();
25961 }
25962 inline float V1LayerParameter::weight_decay(int index) const {
25963   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.weight_decay)
25964   return weight_decay_.Get(index);
25965 }
25966 inline void V1LayerParameter::set_weight_decay(int index, float value) {
25967   weight_decay_.Set(index, value);
25968   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.weight_decay)
25969 }
25970 inline void V1LayerParameter::add_weight_decay(float value) {
25971   weight_decay_.Add(value);
25972   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.weight_decay)
25973 }
25974 inline const ::google::protobuf::RepeatedField< float >&
25975 V1LayerParameter::weight_decay() const {
25976   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.weight_decay)
25977   return weight_decay_;
25978 }
25979 inline ::google::protobuf::RepeatedField< float >*
25980 V1LayerParameter::mutable_weight_decay() {
25981   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.weight_decay)
25982   return &weight_decay_;
25983 }
25984
25985 // repeated float loss_weight = 35;
25986 inline int V1LayerParameter::loss_weight_size() const {
25987   return loss_weight_.size();
25988 }
25989 inline void V1LayerParameter::clear_loss_weight() {
25990   loss_weight_.Clear();
25991 }
25992 inline float V1LayerParameter::loss_weight(int index) const {
25993   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_weight)
25994   return loss_weight_.Get(index);
25995 }
25996 inline void V1LayerParameter::set_loss_weight(int index, float value) {
25997   loss_weight_.Set(index, value);
25998   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.loss_weight)
25999 }
26000 inline void V1LayerParameter::add_loss_weight(float value) {
26001   loss_weight_.Add(value);
26002   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.loss_weight)
26003 }
26004 inline const ::google::protobuf::RepeatedField< float >&
26005 V1LayerParameter::loss_weight() const {
26006   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.loss_weight)
26007   return loss_weight_;
26008 }
26009 inline ::google::protobuf::RepeatedField< float >*
26010 V1LayerParameter::mutable_loss_weight() {
26011   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.loss_weight)
26012   return &loss_weight_;
26013 }
26014
26015 // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
26016 inline bool V1LayerParameter::has_accuracy_param() const {
26017   return (_has_bits_[0] & 0x00001000u) != 0;
26018 }
26019 inline void V1LayerParameter::set_has_accuracy_param() {
26020   _has_bits_[0] |= 0x00001000u;
26021 }
26022 inline void V1LayerParameter::clear_has_accuracy_param() {
26023   _has_bits_[0] &= ~0x00001000u;
26024 }
26025 inline void V1LayerParameter::clear_accuracy_param() {
26026   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
26027   clear_has_accuracy_param();
26028 }
26029 inline const ::opencv_caffe::AccuracyParameter& V1LayerParameter::accuracy_param() const {
26030   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.accuracy_param)
26031   return accuracy_param_ != NULL ? *accuracy_param_
26032                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
26033 }
26034 inline ::opencv_caffe::AccuracyParameter* V1LayerParameter::mutable_accuracy_param() {
26035   set_has_accuracy_param();
26036   if (accuracy_param_ == NULL) {
26037     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
26038   }
26039   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.accuracy_param)
26040   return accuracy_param_;
26041 }
26042 inline ::opencv_caffe::AccuracyParameter* V1LayerParameter::release_accuracy_param() {
26043   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.accuracy_param)
26044   clear_has_accuracy_param();
26045   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
26046   accuracy_param_ = NULL;
26047   return temp;
26048 }
26049 inline void V1LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
26050   delete accuracy_param_;
26051   accuracy_param_ = accuracy_param;
26052   if (accuracy_param) {
26053     set_has_accuracy_param();
26054   } else {
26055     clear_has_accuracy_param();
26056   }
26057   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.accuracy_param)
26058 }
26059
26060 // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
26061 inline bool V1LayerParameter::has_argmax_param() const {
26062   return (_has_bits_[0] & 0x00002000u) != 0;
26063 }
26064 inline void V1LayerParameter::set_has_argmax_param() {
26065   _has_bits_[0] |= 0x00002000u;
26066 }
26067 inline void V1LayerParameter::clear_has_argmax_param() {
26068   _has_bits_[0] &= ~0x00002000u;
26069 }
26070 inline void V1LayerParameter::clear_argmax_param() {
26071   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
26072   clear_has_argmax_param();
26073 }
26074 inline const ::opencv_caffe::ArgMaxParameter& V1LayerParameter::argmax_param() const {
26075   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.argmax_param)
26076   return argmax_param_ != NULL ? *argmax_param_
26077                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
26078 }
26079 inline ::opencv_caffe::ArgMaxParameter* V1LayerParameter::mutable_argmax_param() {
26080   set_has_argmax_param();
26081   if (argmax_param_ == NULL) {
26082     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
26083   }
26084   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.argmax_param)
26085   return argmax_param_;
26086 }
26087 inline ::opencv_caffe::ArgMaxParameter* V1LayerParameter::release_argmax_param() {
26088   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.argmax_param)
26089   clear_has_argmax_param();
26090   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
26091   argmax_param_ = NULL;
26092   return temp;
26093 }
26094 inline void V1LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
26095   delete argmax_param_;
26096   argmax_param_ = argmax_param;
26097   if (argmax_param) {
26098     set_has_argmax_param();
26099   } else {
26100     clear_has_argmax_param();
26101   }
26102   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.argmax_param)
26103 }
26104
26105 // optional .opencv_caffe.ConcatParameter concat_param = 9;
26106 inline bool V1LayerParameter::has_concat_param() const {
26107   return (_has_bits_[0] & 0x00004000u) != 0;
26108 }
26109 inline void V1LayerParameter::set_has_concat_param() {
26110   _has_bits_[0] |= 0x00004000u;
26111 }
26112 inline void V1LayerParameter::clear_has_concat_param() {
26113   _has_bits_[0] &= ~0x00004000u;
26114 }
26115 inline void V1LayerParameter::clear_concat_param() {
26116   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
26117   clear_has_concat_param();
26118 }
26119 inline const ::opencv_caffe::ConcatParameter& V1LayerParameter::concat_param() const {
26120   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.concat_param)
26121   return concat_param_ != NULL ? *concat_param_
26122                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
26123 }
26124 inline ::opencv_caffe::ConcatParameter* V1LayerParameter::mutable_concat_param() {
26125   set_has_concat_param();
26126   if (concat_param_ == NULL) {
26127     concat_param_ = new ::opencv_caffe::ConcatParameter;
26128   }
26129   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.concat_param)
26130   return concat_param_;
26131 }
26132 inline ::opencv_caffe::ConcatParameter* V1LayerParameter::release_concat_param() {
26133   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.concat_param)
26134   clear_has_concat_param();
26135   ::opencv_caffe::ConcatParameter* temp = concat_param_;
26136   concat_param_ = NULL;
26137   return temp;
26138 }
26139 inline void V1LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
26140   delete concat_param_;
26141   concat_param_ = concat_param;
26142   if (concat_param) {
26143     set_has_concat_param();
26144   } else {
26145     clear_has_concat_param();
26146   }
26147   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.concat_param)
26148 }
26149
26150 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
26151 inline bool V1LayerParameter::has_contrastive_loss_param() const {
26152   return (_has_bits_[0] & 0x00008000u) != 0;
26153 }
26154 inline void V1LayerParameter::set_has_contrastive_loss_param() {
26155   _has_bits_[0] |= 0x00008000u;
26156 }
26157 inline void V1LayerParameter::clear_has_contrastive_loss_param() {
26158   _has_bits_[0] &= ~0x00008000u;
26159 }
26160 inline void V1LayerParameter::clear_contrastive_loss_param() {
26161   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
26162   clear_has_contrastive_loss_param();
26163 }
26164 inline const ::opencv_caffe::ContrastiveLossParameter& V1LayerParameter::contrastive_loss_param() const {
26165   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26166   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
26167                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
26168 }
26169 inline ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::mutable_contrastive_loss_param() {
26170   set_has_contrastive_loss_param();
26171   if (contrastive_loss_param_ == NULL) {
26172     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
26173   }
26174   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26175   return contrastive_loss_param_;
26176 }
26177 inline ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::release_contrastive_loss_param() {
26178   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26179   clear_has_contrastive_loss_param();
26180   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
26181   contrastive_loss_param_ = NULL;
26182   return temp;
26183 }
26184 inline void V1LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
26185   delete contrastive_loss_param_;
26186   contrastive_loss_param_ = contrastive_loss_param;
26187   if (contrastive_loss_param) {
26188     set_has_contrastive_loss_param();
26189   } else {
26190     clear_has_contrastive_loss_param();
26191   }
26192   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26193 }
26194
26195 // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
26196 inline bool V1LayerParameter::has_convolution_param() const {
26197   return (_has_bits_[0] & 0x00010000u) != 0;
26198 }
26199 inline void V1LayerParameter::set_has_convolution_param() {
26200   _has_bits_[0] |= 0x00010000u;
26201 }
26202 inline void V1LayerParameter::clear_has_convolution_param() {
26203   _has_bits_[0] &= ~0x00010000u;
26204 }
26205 inline void V1LayerParameter::clear_convolution_param() {
26206   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
26207   clear_has_convolution_param();
26208 }
26209 inline const ::opencv_caffe::ConvolutionParameter& V1LayerParameter::convolution_param() const {
26210   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.convolution_param)
26211   return convolution_param_ != NULL ? *convolution_param_
26212                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
26213 }
26214 inline ::opencv_caffe::ConvolutionParameter* V1LayerParameter::mutable_convolution_param() {
26215   set_has_convolution_param();
26216   if (convolution_param_ == NULL) {
26217     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
26218   }
26219   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.convolution_param)
26220   return convolution_param_;
26221 }
26222 inline ::opencv_caffe::ConvolutionParameter* V1LayerParameter::release_convolution_param() {
26223   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.convolution_param)
26224   clear_has_convolution_param();
26225   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
26226   convolution_param_ = NULL;
26227   return temp;
26228 }
26229 inline void V1LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
26230   delete convolution_param_;
26231   convolution_param_ = convolution_param;
26232   if (convolution_param) {
26233     set_has_convolution_param();
26234   } else {
26235     clear_has_convolution_param();
26236   }
26237   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.convolution_param)
26238 }
26239
26240 // optional .opencv_caffe.DataParameter data_param = 11;
26241 inline bool V1LayerParameter::has_data_param() const {
26242   return (_has_bits_[0] & 0x00020000u) != 0;
26243 }
26244 inline void V1LayerParameter::set_has_data_param() {
26245   _has_bits_[0] |= 0x00020000u;
26246 }
26247 inline void V1LayerParameter::clear_has_data_param() {
26248   _has_bits_[0] &= ~0x00020000u;
26249 }
26250 inline void V1LayerParameter::clear_data_param() {
26251   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
26252   clear_has_data_param();
26253 }
26254 inline const ::opencv_caffe::DataParameter& V1LayerParameter::data_param() const {
26255   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.data_param)
26256   return data_param_ != NULL ? *data_param_
26257                          : *::opencv_caffe::DataParameter::internal_default_instance();
26258 }
26259 inline ::opencv_caffe::DataParameter* V1LayerParameter::mutable_data_param() {
26260   set_has_data_param();
26261   if (data_param_ == NULL) {
26262     data_param_ = new ::opencv_caffe::DataParameter;
26263   }
26264   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.data_param)
26265   return data_param_;
26266 }
26267 inline ::opencv_caffe::DataParameter* V1LayerParameter::release_data_param() {
26268   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.data_param)
26269   clear_has_data_param();
26270   ::opencv_caffe::DataParameter* temp = data_param_;
26271   data_param_ = NULL;
26272   return temp;
26273 }
26274 inline void V1LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
26275   delete data_param_;
26276   data_param_ = data_param;
26277   if (data_param) {
26278     set_has_data_param();
26279   } else {
26280     clear_has_data_param();
26281   }
26282   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.data_param)
26283 }
26284
26285 // optional .opencv_caffe.DropoutParameter dropout_param = 12;
26286 inline bool V1LayerParameter::has_dropout_param() const {
26287   return (_has_bits_[0] & 0x00040000u) != 0;
26288 }
26289 inline void V1LayerParameter::set_has_dropout_param() {
26290   _has_bits_[0] |= 0x00040000u;
26291 }
26292 inline void V1LayerParameter::clear_has_dropout_param() {
26293   _has_bits_[0] &= ~0x00040000u;
26294 }
26295 inline void V1LayerParameter::clear_dropout_param() {
26296   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
26297   clear_has_dropout_param();
26298 }
26299 inline const ::opencv_caffe::DropoutParameter& V1LayerParameter::dropout_param() const {
26300   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dropout_param)
26301   return dropout_param_ != NULL ? *dropout_param_
26302                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
26303 }
26304 inline ::opencv_caffe::DropoutParameter* V1LayerParameter::mutable_dropout_param() {
26305   set_has_dropout_param();
26306   if (dropout_param_ == NULL) {
26307     dropout_param_ = new ::opencv_caffe::DropoutParameter;
26308   }
26309   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dropout_param)
26310   return dropout_param_;
26311 }
26312 inline ::opencv_caffe::DropoutParameter* V1LayerParameter::release_dropout_param() {
26313   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dropout_param)
26314   clear_has_dropout_param();
26315   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
26316   dropout_param_ = NULL;
26317   return temp;
26318 }
26319 inline void V1LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
26320   delete dropout_param_;
26321   dropout_param_ = dropout_param;
26322   if (dropout_param) {
26323     set_has_dropout_param();
26324   } else {
26325     clear_has_dropout_param();
26326   }
26327   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dropout_param)
26328 }
26329
26330 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
26331 inline bool V1LayerParameter::has_dummy_data_param() const {
26332   return (_has_bits_[0] & 0x00080000u) != 0;
26333 }
26334 inline void V1LayerParameter::set_has_dummy_data_param() {
26335   _has_bits_[0] |= 0x00080000u;
26336 }
26337 inline void V1LayerParameter::clear_has_dummy_data_param() {
26338   _has_bits_[0] &= ~0x00080000u;
26339 }
26340 inline void V1LayerParameter::clear_dummy_data_param() {
26341   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
26342   clear_has_dummy_data_param();
26343 }
26344 inline const ::opencv_caffe::DummyDataParameter& V1LayerParameter::dummy_data_param() const {
26345   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dummy_data_param)
26346   return dummy_data_param_ != NULL ? *dummy_data_param_
26347                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
26348 }
26349 inline ::opencv_caffe::DummyDataParameter* V1LayerParameter::mutable_dummy_data_param() {
26350   set_has_dummy_data_param();
26351   if (dummy_data_param_ == NULL) {
26352     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
26353   }
26354   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dummy_data_param)
26355   return dummy_data_param_;
26356 }
26357 inline ::opencv_caffe::DummyDataParameter* V1LayerParameter::release_dummy_data_param() {
26358   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dummy_data_param)
26359   clear_has_dummy_data_param();
26360   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
26361   dummy_data_param_ = NULL;
26362   return temp;
26363 }
26364 inline void V1LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
26365   delete dummy_data_param_;
26366   dummy_data_param_ = dummy_data_param;
26367   if (dummy_data_param) {
26368     set_has_dummy_data_param();
26369   } else {
26370     clear_has_dummy_data_param();
26371   }
26372   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dummy_data_param)
26373 }
26374
26375 // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
26376 inline bool V1LayerParameter::has_eltwise_param() const {
26377   return (_has_bits_[0] & 0x00100000u) != 0;
26378 }
26379 inline void V1LayerParameter::set_has_eltwise_param() {
26380   _has_bits_[0] |= 0x00100000u;
26381 }
26382 inline void V1LayerParameter::clear_has_eltwise_param() {
26383   _has_bits_[0] &= ~0x00100000u;
26384 }
26385 inline void V1LayerParameter::clear_eltwise_param() {
26386   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
26387   clear_has_eltwise_param();
26388 }
26389 inline const ::opencv_caffe::EltwiseParameter& V1LayerParameter::eltwise_param() const {
26390   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.eltwise_param)
26391   return eltwise_param_ != NULL ? *eltwise_param_
26392                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
26393 }
26394 inline ::opencv_caffe::EltwiseParameter* V1LayerParameter::mutable_eltwise_param() {
26395   set_has_eltwise_param();
26396   if (eltwise_param_ == NULL) {
26397     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
26398   }
26399   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.eltwise_param)
26400   return eltwise_param_;
26401 }
26402 inline ::opencv_caffe::EltwiseParameter* V1LayerParameter::release_eltwise_param() {
26403   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.eltwise_param)
26404   clear_has_eltwise_param();
26405   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
26406   eltwise_param_ = NULL;
26407   return temp;
26408 }
26409 inline void V1LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
26410   delete eltwise_param_;
26411   eltwise_param_ = eltwise_param;
26412   if (eltwise_param) {
26413     set_has_eltwise_param();
26414   } else {
26415     clear_has_eltwise_param();
26416   }
26417   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.eltwise_param)
26418 }
26419
26420 // optional .opencv_caffe.ExpParameter exp_param = 41;
26421 inline bool V1LayerParameter::has_exp_param() const {
26422   return (_has_bits_[0] & 0x00200000u) != 0;
26423 }
26424 inline void V1LayerParameter::set_has_exp_param() {
26425   _has_bits_[0] |= 0x00200000u;
26426 }
26427 inline void V1LayerParameter::clear_has_exp_param() {
26428   _has_bits_[0] &= ~0x00200000u;
26429 }
26430 inline void V1LayerParameter::clear_exp_param() {
26431   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
26432   clear_has_exp_param();
26433 }
26434 inline const ::opencv_caffe::ExpParameter& V1LayerParameter::exp_param() const {
26435   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exp_param)
26436   return exp_param_ != NULL ? *exp_param_
26437                          : *::opencv_caffe::ExpParameter::internal_default_instance();
26438 }
26439 inline ::opencv_caffe::ExpParameter* V1LayerParameter::mutable_exp_param() {
26440   set_has_exp_param();
26441   if (exp_param_ == NULL) {
26442     exp_param_ = new ::opencv_caffe::ExpParameter;
26443   }
26444   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exp_param)
26445   return exp_param_;
26446 }
26447 inline ::opencv_caffe::ExpParameter* V1LayerParameter::release_exp_param() {
26448   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.exp_param)
26449   clear_has_exp_param();
26450   ::opencv_caffe::ExpParameter* temp = exp_param_;
26451   exp_param_ = NULL;
26452   return temp;
26453 }
26454 inline void V1LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
26455   delete exp_param_;
26456   exp_param_ = exp_param;
26457   if (exp_param) {
26458     set_has_exp_param();
26459   } else {
26460     clear_has_exp_param();
26461   }
26462   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.exp_param)
26463 }
26464
26465 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
26466 inline bool V1LayerParameter::has_hdf5_data_param() const {
26467   return (_has_bits_[0] & 0x00400000u) != 0;
26468 }
26469 inline void V1LayerParameter::set_has_hdf5_data_param() {
26470   _has_bits_[0] |= 0x00400000u;
26471 }
26472 inline void V1LayerParameter::clear_has_hdf5_data_param() {
26473   _has_bits_[0] &= ~0x00400000u;
26474 }
26475 inline void V1LayerParameter::clear_hdf5_data_param() {
26476   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
26477   clear_has_hdf5_data_param();
26478 }
26479 inline const ::opencv_caffe::HDF5DataParameter& V1LayerParameter::hdf5_data_param() const {
26480   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_data_param)
26481   return hdf5_data_param_ != NULL ? *hdf5_data_param_
26482                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
26483 }
26484 inline ::opencv_caffe::HDF5DataParameter* V1LayerParameter::mutable_hdf5_data_param() {
26485   set_has_hdf5_data_param();
26486   if (hdf5_data_param_ == NULL) {
26487     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
26488   }
26489   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_data_param)
26490   return hdf5_data_param_;
26491 }
26492 inline ::opencv_caffe::HDF5DataParameter* V1LayerParameter::release_hdf5_data_param() {
26493   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_data_param)
26494   clear_has_hdf5_data_param();
26495   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
26496   hdf5_data_param_ = NULL;
26497   return temp;
26498 }
26499 inline void V1LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
26500   delete hdf5_data_param_;
26501   hdf5_data_param_ = hdf5_data_param;
26502   if (hdf5_data_param) {
26503     set_has_hdf5_data_param();
26504   } else {
26505     clear_has_hdf5_data_param();
26506   }
26507   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_data_param)
26508 }
26509
26510 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
26511 inline bool V1LayerParameter::has_hdf5_output_param() const {
26512   return (_has_bits_[0] & 0x00800000u) != 0;
26513 }
26514 inline void V1LayerParameter::set_has_hdf5_output_param() {
26515   _has_bits_[0] |= 0x00800000u;
26516 }
26517 inline void V1LayerParameter::clear_has_hdf5_output_param() {
26518   _has_bits_[0] &= ~0x00800000u;
26519 }
26520 inline void V1LayerParameter::clear_hdf5_output_param() {
26521   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
26522   clear_has_hdf5_output_param();
26523 }
26524 inline const ::opencv_caffe::HDF5OutputParameter& V1LayerParameter::hdf5_output_param() const {
26525   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_output_param)
26526   return hdf5_output_param_ != NULL ? *hdf5_output_param_
26527                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
26528 }
26529 inline ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::mutable_hdf5_output_param() {
26530   set_has_hdf5_output_param();
26531   if (hdf5_output_param_ == NULL) {
26532     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
26533   }
26534   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_output_param)
26535   return hdf5_output_param_;
26536 }
26537 inline ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::release_hdf5_output_param() {
26538   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_output_param)
26539   clear_has_hdf5_output_param();
26540   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
26541   hdf5_output_param_ = NULL;
26542   return temp;
26543 }
26544 inline void V1LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
26545   delete hdf5_output_param_;
26546   hdf5_output_param_ = hdf5_output_param;
26547   if (hdf5_output_param) {
26548     set_has_hdf5_output_param();
26549   } else {
26550     clear_has_hdf5_output_param();
26551   }
26552   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_output_param)
26553 }
26554
26555 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
26556 inline bool V1LayerParameter::has_hinge_loss_param() const {
26557   return (_has_bits_[0] & 0x01000000u) != 0;
26558 }
26559 inline void V1LayerParameter::set_has_hinge_loss_param() {
26560   _has_bits_[0] |= 0x01000000u;
26561 }
26562 inline void V1LayerParameter::clear_has_hinge_loss_param() {
26563   _has_bits_[0] &= ~0x01000000u;
26564 }
26565 inline void V1LayerParameter::clear_hinge_loss_param() {
26566   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
26567   clear_has_hinge_loss_param();
26568 }
26569 inline const ::opencv_caffe::HingeLossParameter& V1LayerParameter::hinge_loss_param() const {
26570   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hinge_loss_param)
26571   return hinge_loss_param_ != NULL ? *hinge_loss_param_
26572                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
26573 }
26574 inline ::opencv_caffe::HingeLossParameter* V1LayerParameter::mutable_hinge_loss_param() {
26575   set_has_hinge_loss_param();
26576   if (hinge_loss_param_ == NULL) {
26577     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
26578   }
26579   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hinge_loss_param)
26580   return hinge_loss_param_;
26581 }
26582 inline ::opencv_caffe::HingeLossParameter* V1LayerParameter::release_hinge_loss_param() {
26583   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hinge_loss_param)
26584   clear_has_hinge_loss_param();
26585   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
26586   hinge_loss_param_ = NULL;
26587   return temp;
26588 }
26589 inline void V1LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
26590   delete hinge_loss_param_;
26591   hinge_loss_param_ = hinge_loss_param;
26592   if (hinge_loss_param) {
26593     set_has_hinge_loss_param();
26594   } else {
26595     clear_has_hinge_loss_param();
26596   }
26597   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hinge_loss_param)
26598 }
26599
26600 // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
26601 inline bool V1LayerParameter::has_image_data_param() const {
26602   return (_has_bits_[0] & 0x02000000u) != 0;
26603 }
26604 inline void V1LayerParameter::set_has_image_data_param() {
26605   _has_bits_[0] |= 0x02000000u;
26606 }
26607 inline void V1LayerParameter::clear_has_image_data_param() {
26608   _has_bits_[0] &= ~0x02000000u;
26609 }
26610 inline void V1LayerParameter::clear_image_data_param() {
26611   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
26612   clear_has_image_data_param();
26613 }
26614 inline const ::opencv_caffe::ImageDataParameter& V1LayerParameter::image_data_param() const {
26615   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.image_data_param)
26616   return image_data_param_ != NULL ? *image_data_param_
26617                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
26618 }
26619 inline ::opencv_caffe::ImageDataParameter* V1LayerParameter::mutable_image_data_param() {
26620   set_has_image_data_param();
26621   if (image_data_param_ == NULL) {
26622     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
26623   }
26624   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.image_data_param)
26625   return image_data_param_;
26626 }
26627 inline ::opencv_caffe::ImageDataParameter* V1LayerParameter::release_image_data_param() {
26628   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.image_data_param)
26629   clear_has_image_data_param();
26630   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
26631   image_data_param_ = NULL;
26632   return temp;
26633 }
26634 inline void V1LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
26635   delete image_data_param_;
26636   image_data_param_ = image_data_param;
26637   if (image_data_param) {
26638     set_has_image_data_param();
26639   } else {
26640     clear_has_image_data_param();
26641   }
26642   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.image_data_param)
26643 }
26644
26645 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
26646 inline bool V1LayerParameter::has_infogain_loss_param() const {
26647   return (_has_bits_[0] & 0x04000000u) != 0;
26648 }
26649 inline void V1LayerParameter::set_has_infogain_loss_param() {
26650   _has_bits_[0] |= 0x04000000u;
26651 }
26652 inline void V1LayerParameter::clear_has_infogain_loss_param() {
26653   _has_bits_[0] &= ~0x04000000u;
26654 }
26655 inline void V1LayerParameter::clear_infogain_loss_param() {
26656   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
26657   clear_has_infogain_loss_param();
26658 }
26659 inline const ::opencv_caffe::InfogainLossParameter& V1LayerParameter::infogain_loss_param() const {
26660   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.infogain_loss_param)
26661   return infogain_loss_param_ != NULL ? *infogain_loss_param_
26662                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
26663 }
26664 inline ::opencv_caffe::InfogainLossParameter* V1LayerParameter::mutable_infogain_loss_param() {
26665   set_has_infogain_loss_param();
26666   if (infogain_loss_param_ == NULL) {
26667     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
26668   }
26669   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.infogain_loss_param)
26670   return infogain_loss_param_;
26671 }
26672 inline ::opencv_caffe::InfogainLossParameter* V1LayerParameter::release_infogain_loss_param() {
26673   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.infogain_loss_param)
26674   clear_has_infogain_loss_param();
26675   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
26676   infogain_loss_param_ = NULL;
26677   return temp;
26678 }
26679 inline void V1LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
26680   delete infogain_loss_param_;
26681   infogain_loss_param_ = infogain_loss_param;
26682   if (infogain_loss_param) {
26683     set_has_infogain_loss_param();
26684   } else {
26685     clear_has_infogain_loss_param();
26686   }
26687   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.infogain_loss_param)
26688 }
26689
26690 // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
26691 inline bool V1LayerParameter::has_inner_product_param() const {
26692   return (_has_bits_[0] & 0x08000000u) != 0;
26693 }
26694 inline void V1LayerParameter::set_has_inner_product_param() {
26695   _has_bits_[0] |= 0x08000000u;
26696 }
26697 inline void V1LayerParameter::clear_has_inner_product_param() {
26698   _has_bits_[0] &= ~0x08000000u;
26699 }
26700 inline void V1LayerParameter::clear_inner_product_param() {
26701   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
26702   clear_has_inner_product_param();
26703 }
26704 inline const ::opencv_caffe::InnerProductParameter& V1LayerParameter::inner_product_param() const {
26705   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.inner_product_param)
26706   return inner_product_param_ != NULL ? *inner_product_param_
26707                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
26708 }
26709 inline ::opencv_caffe::InnerProductParameter* V1LayerParameter::mutable_inner_product_param() {
26710   set_has_inner_product_param();
26711   if (inner_product_param_ == NULL) {
26712     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
26713   }
26714   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.inner_product_param)
26715   return inner_product_param_;
26716 }
26717 inline ::opencv_caffe::InnerProductParameter* V1LayerParameter::release_inner_product_param() {
26718   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.inner_product_param)
26719   clear_has_inner_product_param();
26720   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
26721   inner_product_param_ = NULL;
26722   return temp;
26723 }
26724 inline void V1LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
26725   delete inner_product_param_;
26726   inner_product_param_ = inner_product_param;
26727   if (inner_product_param) {
26728     set_has_inner_product_param();
26729   } else {
26730     clear_has_inner_product_param();
26731   }
26732   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.inner_product_param)
26733 }
26734
26735 // optional .opencv_caffe.LRNParameter lrn_param = 18;
26736 inline bool V1LayerParameter::has_lrn_param() const {
26737   return (_has_bits_[0] & 0x10000000u) != 0;
26738 }
26739 inline void V1LayerParameter::set_has_lrn_param() {
26740   _has_bits_[0] |= 0x10000000u;
26741 }
26742 inline void V1LayerParameter::clear_has_lrn_param() {
26743   _has_bits_[0] &= ~0x10000000u;
26744 }
26745 inline void V1LayerParameter::clear_lrn_param() {
26746   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
26747   clear_has_lrn_param();
26748 }
26749 inline const ::opencv_caffe::LRNParameter& V1LayerParameter::lrn_param() const {
26750   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.lrn_param)
26751   return lrn_param_ != NULL ? *lrn_param_
26752                          : *::opencv_caffe::LRNParameter::internal_default_instance();
26753 }
26754 inline ::opencv_caffe::LRNParameter* V1LayerParameter::mutable_lrn_param() {
26755   set_has_lrn_param();
26756   if (lrn_param_ == NULL) {
26757     lrn_param_ = new ::opencv_caffe::LRNParameter;
26758   }
26759   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.lrn_param)
26760   return lrn_param_;
26761 }
26762 inline ::opencv_caffe::LRNParameter* V1LayerParameter::release_lrn_param() {
26763   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.lrn_param)
26764   clear_has_lrn_param();
26765   ::opencv_caffe::LRNParameter* temp = lrn_param_;
26766   lrn_param_ = NULL;
26767   return temp;
26768 }
26769 inline void V1LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
26770   delete lrn_param_;
26771   lrn_param_ = lrn_param;
26772   if (lrn_param) {
26773     set_has_lrn_param();
26774   } else {
26775     clear_has_lrn_param();
26776   }
26777   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.lrn_param)
26778 }
26779
26780 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
26781 inline bool V1LayerParameter::has_memory_data_param() const {
26782   return (_has_bits_[0] & 0x20000000u) != 0;
26783 }
26784 inline void V1LayerParameter::set_has_memory_data_param() {
26785   _has_bits_[0] |= 0x20000000u;
26786 }
26787 inline void V1LayerParameter::clear_has_memory_data_param() {
26788   _has_bits_[0] &= ~0x20000000u;
26789 }
26790 inline void V1LayerParameter::clear_memory_data_param() {
26791   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
26792   clear_has_memory_data_param();
26793 }
26794 inline const ::opencv_caffe::MemoryDataParameter& V1LayerParameter::memory_data_param() const {
26795   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.memory_data_param)
26796   return memory_data_param_ != NULL ? *memory_data_param_
26797                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
26798 }
26799 inline ::opencv_caffe::MemoryDataParameter* V1LayerParameter::mutable_memory_data_param() {
26800   set_has_memory_data_param();
26801   if (memory_data_param_ == NULL) {
26802     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
26803   }
26804   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.memory_data_param)
26805   return memory_data_param_;
26806 }
26807 inline ::opencv_caffe::MemoryDataParameter* V1LayerParameter::release_memory_data_param() {
26808   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.memory_data_param)
26809   clear_has_memory_data_param();
26810   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
26811   memory_data_param_ = NULL;
26812   return temp;
26813 }
26814 inline void V1LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
26815   delete memory_data_param_;
26816   memory_data_param_ = memory_data_param;
26817   if (memory_data_param) {
26818     set_has_memory_data_param();
26819   } else {
26820     clear_has_memory_data_param();
26821   }
26822   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.memory_data_param)
26823 }
26824
26825 // optional .opencv_caffe.MVNParameter mvn_param = 34;
26826 inline bool V1LayerParameter::has_mvn_param() const {
26827   return (_has_bits_[0] & 0x40000000u) != 0;
26828 }
26829 inline void V1LayerParameter::set_has_mvn_param() {
26830   _has_bits_[0] |= 0x40000000u;
26831 }
26832 inline void V1LayerParameter::clear_has_mvn_param() {
26833   _has_bits_[0] &= ~0x40000000u;
26834 }
26835 inline void V1LayerParameter::clear_mvn_param() {
26836   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
26837   clear_has_mvn_param();
26838 }
26839 inline const ::opencv_caffe::MVNParameter& V1LayerParameter::mvn_param() const {
26840   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.mvn_param)
26841   return mvn_param_ != NULL ? *mvn_param_
26842                          : *::opencv_caffe::MVNParameter::internal_default_instance();
26843 }
26844 inline ::opencv_caffe::MVNParameter* V1LayerParameter::mutable_mvn_param() {
26845   set_has_mvn_param();
26846   if (mvn_param_ == NULL) {
26847     mvn_param_ = new ::opencv_caffe::MVNParameter;
26848   }
26849   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.mvn_param)
26850   return mvn_param_;
26851 }
26852 inline ::opencv_caffe::MVNParameter* V1LayerParameter::release_mvn_param() {
26853   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.mvn_param)
26854   clear_has_mvn_param();
26855   ::opencv_caffe::MVNParameter* temp = mvn_param_;
26856   mvn_param_ = NULL;
26857   return temp;
26858 }
26859 inline void V1LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
26860   delete mvn_param_;
26861   mvn_param_ = mvn_param;
26862   if (mvn_param) {
26863     set_has_mvn_param();
26864   } else {
26865     clear_has_mvn_param();
26866   }
26867   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.mvn_param)
26868 }
26869
26870 // optional .opencv_caffe.PoolingParameter pooling_param = 19;
26871 inline bool V1LayerParameter::has_pooling_param() const {
26872   return (_has_bits_[0] & 0x80000000u) != 0;
26873 }
26874 inline void V1LayerParameter::set_has_pooling_param() {
26875   _has_bits_[0] |= 0x80000000u;
26876 }
26877 inline void V1LayerParameter::clear_has_pooling_param() {
26878   _has_bits_[0] &= ~0x80000000u;
26879 }
26880 inline void V1LayerParameter::clear_pooling_param() {
26881   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
26882   clear_has_pooling_param();
26883 }
26884 inline const ::opencv_caffe::PoolingParameter& V1LayerParameter::pooling_param() const {
26885   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.pooling_param)
26886   return pooling_param_ != NULL ? *pooling_param_
26887                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
26888 }
26889 inline ::opencv_caffe::PoolingParameter* V1LayerParameter::mutable_pooling_param() {
26890   set_has_pooling_param();
26891   if (pooling_param_ == NULL) {
26892     pooling_param_ = new ::opencv_caffe::PoolingParameter;
26893   }
26894   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.pooling_param)
26895   return pooling_param_;
26896 }
26897 inline ::opencv_caffe::PoolingParameter* V1LayerParameter::release_pooling_param() {
26898   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.pooling_param)
26899   clear_has_pooling_param();
26900   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
26901   pooling_param_ = NULL;
26902   return temp;
26903 }
26904 inline void V1LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
26905   delete pooling_param_;
26906   pooling_param_ = pooling_param;
26907   if (pooling_param) {
26908     set_has_pooling_param();
26909   } else {
26910     clear_has_pooling_param();
26911   }
26912   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.pooling_param)
26913 }
26914
26915 // optional .opencv_caffe.PowerParameter power_param = 21;
26916 inline bool V1LayerParameter::has_power_param() const {
26917   return (_has_bits_[1] & 0x00000001u) != 0;
26918 }
26919 inline void V1LayerParameter::set_has_power_param() {
26920   _has_bits_[1] |= 0x00000001u;
26921 }
26922 inline void V1LayerParameter::clear_has_power_param() {
26923   _has_bits_[1] &= ~0x00000001u;
26924 }
26925 inline void V1LayerParameter::clear_power_param() {
26926   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
26927   clear_has_power_param();
26928 }
26929 inline const ::opencv_caffe::PowerParameter& V1LayerParameter::power_param() const {
26930   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.power_param)
26931   return power_param_ != NULL ? *power_param_
26932                          : *::opencv_caffe::PowerParameter::internal_default_instance();
26933 }
26934 inline ::opencv_caffe::PowerParameter* V1LayerParameter::mutable_power_param() {
26935   set_has_power_param();
26936   if (power_param_ == NULL) {
26937     power_param_ = new ::opencv_caffe::PowerParameter;
26938   }
26939   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.power_param)
26940   return power_param_;
26941 }
26942 inline ::opencv_caffe::PowerParameter* V1LayerParameter::release_power_param() {
26943   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.power_param)
26944   clear_has_power_param();
26945   ::opencv_caffe::PowerParameter* temp = power_param_;
26946   power_param_ = NULL;
26947   return temp;
26948 }
26949 inline void V1LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
26950   delete power_param_;
26951   power_param_ = power_param;
26952   if (power_param) {
26953     set_has_power_param();
26954   } else {
26955     clear_has_power_param();
26956   }
26957   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.power_param)
26958 }
26959
26960 // optional .opencv_caffe.ReLUParameter relu_param = 30;
26961 inline bool V1LayerParameter::has_relu_param() const {
26962   return (_has_bits_[1] & 0x00000002u) != 0;
26963 }
26964 inline void V1LayerParameter::set_has_relu_param() {
26965   _has_bits_[1] |= 0x00000002u;
26966 }
26967 inline void V1LayerParameter::clear_has_relu_param() {
26968   _has_bits_[1] &= ~0x00000002u;
26969 }
26970 inline void V1LayerParameter::clear_relu_param() {
26971   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
26972   clear_has_relu_param();
26973 }
26974 inline const ::opencv_caffe::ReLUParameter& V1LayerParameter::relu_param() const {
26975   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.relu_param)
26976   return relu_param_ != NULL ? *relu_param_
26977                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
26978 }
26979 inline ::opencv_caffe::ReLUParameter* V1LayerParameter::mutable_relu_param() {
26980   set_has_relu_param();
26981   if (relu_param_ == NULL) {
26982     relu_param_ = new ::opencv_caffe::ReLUParameter;
26983   }
26984   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.relu_param)
26985   return relu_param_;
26986 }
26987 inline ::opencv_caffe::ReLUParameter* V1LayerParameter::release_relu_param() {
26988   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.relu_param)
26989   clear_has_relu_param();
26990   ::opencv_caffe::ReLUParameter* temp = relu_param_;
26991   relu_param_ = NULL;
26992   return temp;
26993 }
26994 inline void V1LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
26995   delete relu_param_;
26996   relu_param_ = relu_param;
26997   if (relu_param) {
26998     set_has_relu_param();
26999   } else {
27000     clear_has_relu_param();
27001   }
27002   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.relu_param)
27003 }
27004
27005 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
27006 inline bool V1LayerParameter::has_sigmoid_param() const {
27007   return (_has_bits_[1] & 0x00000004u) != 0;
27008 }
27009 inline void V1LayerParameter::set_has_sigmoid_param() {
27010   _has_bits_[1] |= 0x00000004u;
27011 }
27012 inline void V1LayerParameter::clear_has_sigmoid_param() {
27013   _has_bits_[1] &= ~0x00000004u;
27014 }
27015 inline void V1LayerParameter::clear_sigmoid_param() {
27016   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
27017   clear_has_sigmoid_param();
27018 }
27019 inline const ::opencv_caffe::SigmoidParameter& V1LayerParameter::sigmoid_param() const {
27020   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.sigmoid_param)
27021   return sigmoid_param_ != NULL ? *sigmoid_param_
27022                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
27023 }
27024 inline ::opencv_caffe::SigmoidParameter* V1LayerParameter::mutable_sigmoid_param() {
27025   set_has_sigmoid_param();
27026   if (sigmoid_param_ == NULL) {
27027     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
27028   }
27029   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.sigmoid_param)
27030   return sigmoid_param_;
27031 }
27032 inline ::opencv_caffe::SigmoidParameter* V1LayerParameter::release_sigmoid_param() {
27033   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.sigmoid_param)
27034   clear_has_sigmoid_param();
27035   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
27036   sigmoid_param_ = NULL;
27037   return temp;
27038 }
27039 inline void V1LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
27040   delete sigmoid_param_;
27041   sigmoid_param_ = sigmoid_param;
27042   if (sigmoid_param) {
27043     set_has_sigmoid_param();
27044   } else {
27045     clear_has_sigmoid_param();
27046   }
27047   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.sigmoid_param)
27048 }
27049
27050 // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
27051 inline bool V1LayerParameter::has_softmax_param() const {
27052   return (_has_bits_[1] & 0x00000008u) != 0;
27053 }
27054 inline void V1LayerParameter::set_has_softmax_param() {
27055   _has_bits_[1] |= 0x00000008u;
27056 }
27057 inline void V1LayerParameter::clear_has_softmax_param() {
27058   _has_bits_[1] &= ~0x00000008u;
27059 }
27060 inline void V1LayerParameter::clear_softmax_param() {
27061   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
27062   clear_has_softmax_param();
27063 }
27064 inline const ::opencv_caffe::SoftmaxParameter& V1LayerParameter::softmax_param() const {
27065   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.softmax_param)
27066   return softmax_param_ != NULL ? *softmax_param_
27067                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
27068 }
27069 inline ::opencv_caffe::SoftmaxParameter* V1LayerParameter::mutable_softmax_param() {
27070   set_has_softmax_param();
27071   if (softmax_param_ == NULL) {
27072     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
27073   }
27074   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.softmax_param)
27075   return softmax_param_;
27076 }
27077 inline ::opencv_caffe::SoftmaxParameter* V1LayerParameter::release_softmax_param() {
27078   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.softmax_param)
27079   clear_has_softmax_param();
27080   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
27081   softmax_param_ = NULL;
27082   return temp;
27083 }
27084 inline void V1LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
27085   delete softmax_param_;
27086   softmax_param_ = softmax_param;
27087   if (softmax_param) {
27088     set_has_softmax_param();
27089   } else {
27090     clear_has_softmax_param();
27091   }
27092   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.softmax_param)
27093 }
27094
27095 // optional .opencv_caffe.SliceParameter slice_param = 31;
27096 inline bool V1LayerParameter::has_slice_param() const {
27097   return (_has_bits_[1] & 0x00000010u) != 0;
27098 }
27099 inline void V1LayerParameter::set_has_slice_param() {
27100   _has_bits_[1] |= 0x00000010u;
27101 }
27102 inline void V1LayerParameter::clear_has_slice_param() {
27103   _has_bits_[1] &= ~0x00000010u;
27104 }
27105 inline void V1LayerParameter::clear_slice_param() {
27106   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
27107   clear_has_slice_param();
27108 }
27109 inline const ::opencv_caffe::SliceParameter& V1LayerParameter::slice_param() const {
27110   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.slice_param)
27111   return slice_param_ != NULL ? *slice_param_
27112                          : *::opencv_caffe::SliceParameter::internal_default_instance();
27113 }
27114 inline ::opencv_caffe::SliceParameter* V1LayerParameter::mutable_slice_param() {
27115   set_has_slice_param();
27116   if (slice_param_ == NULL) {
27117     slice_param_ = new ::opencv_caffe::SliceParameter;
27118   }
27119   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.slice_param)
27120   return slice_param_;
27121 }
27122 inline ::opencv_caffe::SliceParameter* V1LayerParameter::release_slice_param() {
27123   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.slice_param)
27124   clear_has_slice_param();
27125   ::opencv_caffe::SliceParameter* temp = slice_param_;
27126   slice_param_ = NULL;
27127   return temp;
27128 }
27129 inline void V1LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
27130   delete slice_param_;
27131   slice_param_ = slice_param;
27132   if (slice_param) {
27133     set_has_slice_param();
27134   } else {
27135     clear_has_slice_param();
27136   }
27137   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.slice_param)
27138 }
27139
27140 // optional .opencv_caffe.TanHParameter tanh_param = 37;
27141 inline bool V1LayerParameter::has_tanh_param() const {
27142   return (_has_bits_[1] & 0x00000020u) != 0;
27143 }
27144 inline void V1LayerParameter::set_has_tanh_param() {
27145   _has_bits_[1] |= 0x00000020u;
27146 }
27147 inline void V1LayerParameter::clear_has_tanh_param() {
27148   _has_bits_[1] &= ~0x00000020u;
27149 }
27150 inline void V1LayerParameter::clear_tanh_param() {
27151   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
27152   clear_has_tanh_param();
27153 }
27154 inline const ::opencv_caffe::TanHParameter& V1LayerParameter::tanh_param() const {
27155   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.tanh_param)
27156   return tanh_param_ != NULL ? *tanh_param_
27157                          : *::opencv_caffe::TanHParameter::internal_default_instance();
27158 }
27159 inline ::opencv_caffe::TanHParameter* V1LayerParameter::mutable_tanh_param() {
27160   set_has_tanh_param();
27161   if (tanh_param_ == NULL) {
27162     tanh_param_ = new ::opencv_caffe::TanHParameter;
27163   }
27164   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.tanh_param)
27165   return tanh_param_;
27166 }
27167 inline ::opencv_caffe::TanHParameter* V1LayerParameter::release_tanh_param() {
27168   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.tanh_param)
27169   clear_has_tanh_param();
27170   ::opencv_caffe::TanHParameter* temp = tanh_param_;
27171   tanh_param_ = NULL;
27172   return temp;
27173 }
27174 inline void V1LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
27175   delete tanh_param_;
27176   tanh_param_ = tanh_param;
27177   if (tanh_param) {
27178     set_has_tanh_param();
27179   } else {
27180     clear_has_tanh_param();
27181   }
27182   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.tanh_param)
27183 }
27184
27185 // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
27186 inline bool V1LayerParameter::has_threshold_param() const {
27187   return (_has_bits_[1] & 0x00000040u) != 0;
27188 }
27189 inline void V1LayerParameter::set_has_threshold_param() {
27190   _has_bits_[1] |= 0x00000040u;
27191 }
27192 inline void V1LayerParameter::clear_has_threshold_param() {
27193   _has_bits_[1] &= ~0x00000040u;
27194 }
27195 inline void V1LayerParameter::clear_threshold_param() {
27196   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
27197   clear_has_threshold_param();
27198 }
27199 inline const ::opencv_caffe::ThresholdParameter& V1LayerParameter::threshold_param() const {
27200   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.threshold_param)
27201   return threshold_param_ != NULL ? *threshold_param_
27202                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
27203 }
27204 inline ::opencv_caffe::ThresholdParameter* V1LayerParameter::mutable_threshold_param() {
27205   set_has_threshold_param();
27206   if (threshold_param_ == NULL) {
27207     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
27208   }
27209   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.threshold_param)
27210   return threshold_param_;
27211 }
27212 inline ::opencv_caffe::ThresholdParameter* V1LayerParameter::release_threshold_param() {
27213   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.threshold_param)
27214   clear_has_threshold_param();
27215   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
27216   threshold_param_ = NULL;
27217   return temp;
27218 }
27219 inline void V1LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
27220   delete threshold_param_;
27221   threshold_param_ = threshold_param;
27222   if (threshold_param) {
27223     set_has_threshold_param();
27224   } else {
27225     clear_has_threshold_param();
27226   }
27227   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.threshold_param)
27228 }
27229
27230 // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
27231 inline bool V1LayerParameter::has_window_data_param() const {
27232   return (_has_bits_[1] & 0x00000080u) != 0;
27233 }
27234 inline void V1LayerParameter::set_has_window_data_param() {
27235   _has_bits_[1] |= 0x00000080u;
27236 }
27237 inline void V1LayerParameter::clear_has_window_data_param() {
27238   _has_bits_[1] &= ~0x00000080u;
27239 }
27240 inline void V1LayerParameter::clear_window_data_param() {
27241   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
27242   clear_has_window_data_param();
27243 }
27244 inline const ::opencv_caffe::WindowDataParameter& V1LayerParameter::window_data_param() const {
27245   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.window_data_param)
27246   return window_data_param_ != NULL ? *window_data_param_
27247                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
27248 }
27249 inline ::opencv_caffe::WindowDataParameter* V1LayerParameter::mutable_window_data_param() {
27250   set_has_window_data_param();
27251   if (window_data_param_ == NULL) {
27252     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
27253   }
27254   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.window_data_param)
27255   return window_data_param_;
27256 }
27257 inline ::opencv_caffe::WindowDataParameter* V1LayerParameter::release_window_data_param() {
27258   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.window_data_param)
27259   clear_has_window_data_param();
27260   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
27261   window_data_param_ = NULL;
27262   return temp;
27263 }
27264 inline void V1LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
27265   delete window_data_param_;
27266   window_data_param_ = window_data_param;
27267   if (window_data_param) {
27268     set_has_window_data_param();
27269   } else {
27270     clear_has_window_data_param();
27271   }
27272   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.window_data_param)
27273 }
27274
27275 // optional .opencv_caffe.TransformationParameter transform_param = 36;
27276 inline bool V1LayerParameter::has_transform_param() const {
27277   return (_has_bits_[1] & 0x00000100u) != 0;
27278 }
27279 inline void V1LayerParameter::set_has_transform_param() {
27280   _has_bits_[1] |= 0x00000100u;
27281 }
27282 inline void V1LayerParameter::clear_has_transform_param() {
27283   _has_bits_[1] &= ~0x00000100u;
27284 }
27285 inline void V1LayerParameter::clear_transform_param() {
27286   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
27287   clear_has_transform_param();
27288 }
27289 inline const ::opencv_caffe::TransformationParameter& V1LayerParameter::transform_param() const {
27290   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.transform_param)
27291   return transform_param_ != NULL ? *transform_param_
27292                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
27293 }
27294 inline ::opencv_caffe::TransformationParameter* V1LayerParameter::mutable_transform_param() {
27295   set_has_transform_param();
27296   if (transform_param_ == NULL) {
27297     transform_param_ = new ::opencv_caffe::TransformationParameter;
27298   }
27299   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.transform_param)
27300   return transform_param_;
27301 }
27302 inline ::opencv_caffe::TransformationParameter* V1LayerParameter::release_transform_param() {
27303   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.transform_param)
27304   clear_has_transform_param();
27305   ::opencv_caffe::TransformationParameter* temp = transform_param_;
27306   transform_param_ = NULL;
27307   return temp;
27308 }
27309 inline void V1LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
27310   delete transform_param_;
27311   transform_param_ = transform_param;
27312   if (transform_param) {
27313     set_has_transform_param();
27314   } else {
27315     clear_has_transform_param();
27316   }
27317   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.transform_param)
27318 }
27319
27320 // optional .opencv_caffe.LossParameter loss_param = 42;
27321 inline bool V1LayerParameter::has_loss_param() const {
27322   return (_has_bits_[1] & 0x00000200u) != 0;
27323 }
27324 inline void V1LayerParameter::set_has_loss_param() {
27325   _has_bits_[1] |= 0x00000200u;
27326 }
27327 inline void V1LayerParameter::clear_has_loss_param() {
27328   _has_bits_[1] &= ~0x00000200u;
27329 }
27330 inline void V1LayerParameter::clear_loss_param() {
27331   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
27332   clear_has_loss_param();
27333 }
27334 inline const ::opencv_caffe::LossParameter& V1LayerParameter::loss_param() const {
27335   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_param)
27336   return loss_param_ != NULL ? *loss_param_
27337                          : *::opencv_caffe::LossParameter::internal_default_instance();
27338 }
27339 inline ::opencv_caffe::LossParameter* V1LayerParameter::mutable_loss_param() {
27340   set_has_loss_param();
27341   if (loss_param_ == NULL) {
27342     loss_param_ = new ::opencv_caffe::LossParameter;
27343   }
27344   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.loss_param)
27345   return loss_param_;
27346 }
27347 inline ::opencv_caffe::LossParameter* V1LayerParameter::release_loss_param() {
27348   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.loss_param)
27349   clear_has_loss_param();
27350   ::opencv_caffe::LossParameter* temp = loss_param_;
27351   loss_param_ = NULL;
27352   return temp;
27353 }
27354 inline void V1LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
27355   delete loss_param_;
27356   loss_param_ = loss_param;
27357   if (loss_param) {
27358     set_has_loss_param();
27359   } else {
27360     clear_has_loss_param();
27361   }
27362   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.loss_param)
27363 }
27364
27365 // optional .opencv_caffe.V0LayerParameter layer = 1;
27366 inline bool V1LayerParameter::has_layer() const {
27367   return (_has_bits_[1] & 0x00000400u) != 0;
27368 }
27369 inline void V1LayerParameter::set_has_layer() {
27370   _has_bits_[1] |= 0x00000400u;
27371 }
27372 inline void V1LayerParameter::clear_has_layer() {
27373   _has_bits_[1] &= ~0x00000400u;
27374 }
27375 inline void V1LayerParameter::clear_layer() {
27376   if (layer_ != NULL) layer_->::opencv_caffe::V0LayerParameter::Clear();
27377   clear_has_layer();
27378 }
27379 inline const ::opencv_caffe::V0LayerParameter& V1LayerParameter::layer() const {
27380   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.layer)
27381   return layer_ != NULL ? *layer_
27382                          : *::opencv_caffe::V0LayerParameter::internal_default_instance();
27383 }
27384 inline ::opencv_caffe::V0LayerParameter* V1LayerParameter::mutable_layer() {
27385   set_has_layer();
27386   if (layer_ == NULL) {
27387     layer_ = new ::opencv_caffe::V0LayerParameter;
27388   }
27389   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.layer)
27390   return layer_;
27391 }
27392 inline ::opencv_caffe::V0LayerParameter* V1LayerParameter::release_layer() {
27393   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.layer)
27394   clear_has_layer();
27395   ::opencv_caffe::V0LayerParameter* temp = layer_;
27396   layer_ = NULL;
27397   return temp;
27398 }
27399 inline void V1LayerParameter::set_allocated_layer(::opencv_caffe::V0LayerParameter* layer) {
27400   delete layer_;
27401   layer_ = layer;
27402   if (layer) {
27403     set_has_layer();
27404   } else {
27405     clear_has_layer();
27406   }
27407   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.layer)
27408 }
27409
27410 inline const V1LayerParameter* V1LayerParameter::internal_default_instance() {
27411   return &V1LayerParameter_default_instance_.get();
27412 }
27413 // -------------------------------------------------------------------
27414
27415 // V0LayerParameter
27416
27417 // optional string name = 1;
27418 inline bool V0LayerParameter::has_name() const {
27419   return (_has_bits_[0] & 0x00000001u) != 0;
27420 }
27421 inline void V0LayerParameter::set_has_name() {
27422   _has_bits_[0] |= 0x00000001u;
27423 }
27424 inline void V0LayerParameter::clear_has_name() {
27425   _has_bits_[0] &= ~0x00000001u;
27426 }
27427 inline void V0LayerParameter::clear_name() {
27428   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27429   clear_has_name();
27430 }
27431 inline const ::std::string& V0LayerParameter::name() const {
27432   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.name)
27433   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27434 }
27435 inline void V0LayerParameter::set_name(const ::std::string& value) {
27436   set_has_name();
27437   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27438   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.name)
27439 }
27440 inline void V0LayerParameter::set_name(const char* value) {
27441   set_has_name();
27442   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27443   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.name)
27444 }
27445 inline void V0LayerParameter::set_name(const char* value, size_t size) {
27446   set_has_name();
27447   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27448       ::std::string(reinterpret_cast<const char*>(value), size));
27449   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.name)
27450 }
27451 inline ::std::string* V0LayerParameter::mutable_name() {
27452   set_has_name();
27453   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.name)
27454   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27455 }
27456 inline ::std::string* V0LayerParameter::release_name() {
27457   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.name)
27458   clear_has_name();
27459   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27460 }
27461 inline void V0LayerParameter::set_allocated_name(::std::string* name) {
27462   if (name != NULL) {
27463     set_has_name();
27464   } else {
27465     clear_has_name();
27466   }
27467   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
27468   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.name)
27469 }
27470
27471 // optional string type = 2;
27472 inline bool V0LayerParameter::has_type() const {
27473   return (_has_bits_[0] & 0x00000002u) != 0;
27474 }
27475 inline void V0LayerParameter::set_has_type() {
27476   _has_bits_[0] |= 0x00000002u;
27477 }
27478 inline void V0LayerParameter::clear_has_type() {
27479   _has_bits_[0] &= ~0x00000002u;
27480 }
27481 inline void V0LayerParameter::clear_type() {
27482   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27483   clear_has_type();
27484 }
27485 inline const ::std::string& V0LayerParameter::type() const {
27486   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.type)
27487   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27488 }
27489 inline void V0LayerParameter::set_type(const ::std::string& value) {
27490   set_has_type();
27491   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27492   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.type)
27493 }
27494 inline void V0LayerParameter::set_type(const char* value) {
27495   set_has_type();
27496   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27497   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.type)
27498 }
27499 inline void V0LayerParameter::set_type(const char* value, size_t size) {
27500   set_has_type();
27501   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27502       ::std::string(reinterpret_cast<const char*>(value), size));
27503   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.type)
27504 }
27505 inline ::std::string* V0LayerParameter::mutable_type() {
27506   set_has_type();
27507   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.type)
27508   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27509 }
27510 inline ::std::string* V0LayerParameter::release_type() {
27511   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.type)
27512   clear_has_type();
27513   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27514 }
27515 inline void V0LayerParameter::set_allocated_type(::std::string* type) {
27516   if (type != NULL) {
27517     set_has_type();
27518   } else {
27519     clear_has_type();
27520   }
27521   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
27522   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.type)
27523 }
27524
27525 // optional uint32 num_output = 3;
27526 inline bool V0LayerParameter::has_num_output() const {
27527   return (_has_bits_[0] & 0x00000004u) != 0;
27528 }
27529 inline void V0LayerParameter::set_has_num_output() {
27530   _has_bits_[0] |= 0x00000004u;
27531 }
27532 inline void V0LayerParameter::clear_has_num_output() {
27533   _has_bits_[0] &= ~0x00000004u;
27534 }
27535 inline void V0LayerParameter::clear_num_output() {
27536   num_output_ = 0u;
27537   clear_has_num_output();
27538 }
27539 inline ::google::protobuf::uint32 V0LayerParameter::num_output() const {
27540   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.num_output)
27541   return num_output_;
27542 }
27543 inline void V0LayerParameter::set_num_output(::google::protobuf::uint32 value) {
27544   set_has_num_output();
27545   num_output_ = value;
27546   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.num_output)
27547 }
27548
27549 // optional bool biasterm = 4 [default = true];
27550 inline bool V0LayerParameter::has_biasterm() const {
27551   return (_has_bits_[0] & 0x00000008u) != 0;
27552 }
27553 inline void V0LayerParameter::set_has_biasterm() {
27554   _has_bits_[0] |= 0x00000008u;
27555 }
27556 inline void V0LayerParameter::clear_has_biasterm() {
27557   _has_bits_[0] &= ~0x00000008u;
27558 }
27559 inline void V0LayerParameter::clear_biasterm() {
27560   biasterm_ = true;
27561   clear_has_biasterm();
27562 }
27563 inline bool V0LayerParameter::biasterm() const {
27564   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.biasterm)
27565   return biasterm_;
27566 }
27567 inline void V0LayerParameter::set_biasterm(bool value) {
27568   set_has_biasterm();
27569   biasterm_ = value;
27570   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.biasterm)
27571 }
27572
27573 // optional .opencv_caffe.FillerParameter weight_filler = 5;
27574 inline bool V0LayerParameter::has_weight_filler() const {
27575   return (_has_bits_[0] & 0x00000010u) != 0;
27576 }
27577 inline void V0LayerParameter::set_has_weight_filler() {
27578   _has_bits_[0] |= 0x00000010u;
27579 }
27580 inline void V0LayerParameter::clear_has_weight_filler() {
27581   _has_bits_[0] &= ~0x00000010u;
27582 }
27583 inline void V0LayerParameter::clear_weight_filler() {
27584   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
27585   clear_has_weight_filler();
27586 }
27587 inline const ::opencv_caffe::FillerParameter& V0LayerParameter::weight_filler() const {
27588   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_filler)
27589   return weight_filler_ != NULL ? *weight_filler_
27590                          : *::opencv_caffe::FillerParameter::internal_default_instance();
27591 }
27592 inline ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_weight_filler() {
27593   set_has_weight_filler();
27594   if (weight_filler_ == NULL) {
27595     weight_filler_ = new ::opencv_caffe::FillerParameter;
27596   }
27597   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.weight_filler)
27598   return weight_filler_;
27599 }
27600 inline ::opencv_caffe::FillerParameter* V0LayerParameter::release_weight_filler() {
27601   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.weight_filler)
27602   clear_has_weight_filler();
27603   ::opencv_caffe::FillerParameter* temp = weight_filler_;
27604   weight_filler_ = NULL;
27605   return temp;
27606 }
27607 inline void V0LayerParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
27608   delete weight_filler_;
27609   weight_filler_ = weight_filler;
27610   if (weight_filler) {
27611     set_has_weight_filler();
27612   } else {
27613     clear_has_weight_filler();
27614   }
27615   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.weight_filler)
27616 }
27617
27618 // optional .opencv_caffe.FillerParameter bias_filler = 6;
27619 inline bool V0LayerParameter::has_bias_filler() const {
27620   return (_has_bits_[0] & 0x00000020u) != 0;
27621 }
27622 inline void V0LayerParameter::set_has_bias_filler() {
27623   _has_bits_[0] |= 0x00000020u;
27624 }
27625 inline void V0LayerParameter::clear_has_bias_filler() {
27626   _has_bits_[0] &= ~0x00000020u;
27627 }
27628 inline void V0LayerParameter::clear_bias_filler() {
27629   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
27630   clear_has_bias_filler();
27631 }
27632 inline const ::opencv_caffe::FillerParameter& V0LayerParameter::bias_filler() const {
27633   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.bias_filler)
27634   return bias_filler_ != NULL ? *bias_filler_
27635                          : *::opencv_caffe::FillerParameter::internal_default_instance();
27636 }
27637 inline ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_bias_filler() {
27638   set_has_bias_filler();
27639   if (bias_filler_ == NULL) {
27640     bias_filler_ = new ::opencv_caffe::FillerParameter;
27641   }
27642   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.bias_filler)
27643   return bias_filler_;
27644 }
27645 inline ::opencv_caffe::FillerParameter* V0LayerParameter::release_bias_filler() {
27646   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.bias_filler)
27647   clear_has_bias_filler();
27648   ::opencv_caffe::FillerParameter* temp = bias_filler_;
27649   bias_filler_ = NULL;
27650   return temp;
27651 }
27652 inline void V0LayerParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
27653   delete bias_filler_;
27654   bias_filler_ = bias_filler;
27655   if (bias_filler) {
27656     set_has_bias_filler();
27657   } else {
27658     clear_has_bias_filler();
27659   }
27660   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.bias_filler)
27661 }
27662
27663 // optional uint32 pad = 7 [default = 0];
27664 inline bool V0LayerParameter::has_pad() const {
27665   return (_has_bits_[0] & 0x00000040u) != 0;
27666 }
27667 inline void V0LayerParameter::set_has_pad() {
27668   _has_bits_[0] |= 0x00000040u;
27669 }
27670 inline void V0LayerParameter::clear_has_pad() {
27671   _has_bits_[0] &= ~0x00000040u;
27672 }
27673 inline void V0LayerParameter::clear_pad() {
27674   pad_ = 0u;
27675   clear_has_pad();
27676 }
27677 inline ::google::protobuf::uint32 V0LayerParameter::pad() const {
27678   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pad)
27679   return pad_;
27680 }
27681 inline void V0LayerParameter::set_pad(::google::protobuf::uint32 value) {
27682   set_has_pad();
27683   pad_ = value;
27684   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pad)
27685 }
27686
27687 // optional uint32 kernelsize = 8;
27688 inline bool V0LayerParameter::has_kernelsize() const {
27689   return (_has_bits_[0] & 0x00000080u) != 0;
27690 }
27691 inline void V0LayerParameter::set_has_kernelsize() {
27692   _has_bits_[0] |= 0x00000080u;
27693 }
27694 inline void V0LayerParameter::clear_has_kernelsize() {
27695   _has_bits_[0] &= ~0x00000080u;
27696 }
27697 inline void V0LayerParameter::clear_kernelsize() {
27698   kernelsize_ = 0u;
27699   clear_has_kernelsize();
27700 }
27701 inline ::google::protobuf::uint32 V0LayerParameter::kernelsize() const {
27702   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.kernelsize)
27703   return kernelsize_;
27704 }
27705 inline void V0LayerParameter::set_kernelsize(::google::protobuf::uint32 value) {
27706   set_has_kernelsize();
27707   kernelsize_ = value;
27708   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.kernelsize)
27709 }
27710
27711 // optional uint32 group = 9 [default = 1];
27712 inline bool V0LayerParameter::has_group() const {
27713   return (_has_bits_[0] & 0x00000100u) != 0;
27714 }
27715 inline void V0LayerParameter::set_has_group() {
27716   _has_bits_[0] |= 0x00000100u;
27717 }
27718 inline void V0LayerParameter::clear_has_group() {
27719   _has_bits_[0] &= ~0x00000100u;
27720 }
27721 inline void V0LayerParameter::clear_group() {
27722   group_ = 1u;
27723   clear_has_group();
27724 }
27725 inline ::google::protobuf::uint32 V0LayerParameter::group() const {
27726   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.group)
27727   return group_;
27728 }
27729 inline void V0LayerParameter::set_group(::google::protobuf::uint32 value) {
27730   set_has_group();
27731   group_ = value;
27732   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.group)
27733 }
27734
27735 // optional uint32 stride = 10 [default = 1];
27736 inline bool V0LayerParameter::has_stride() const {
27737   return (_has_bits_[0] & 0x00000200u) != 0;
27738 }
27739 inline void V0LayerParameter::set_has_stride() {
27740   _has_bits_[0] |= 0x00000200u;
27741 }
27742 inline void V0LayerParameter::clear_has_stride() {
27743   _has_bits_[0] &= ~0x00000200u;
27744 }
27745 inline void V0LayerParameter::clear_stride() {
27746   stride_ = 1u;
27747   clear_has_stride();
27748 }
27749 inline ::google::protobuf::uint32 V0LayerParameter::stride() const {
27750   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.stride)
27751   return stride_;
27752 }
27753 inline void V0LayerParameter::set_stride(::google::protobuf::uint32 value) {
27754   set_has_stride();
27755   stride_ = value;
27756   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.stride)
27757 }
27758
27759 // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
27760 inline bool V0LayerParameter::has_pool() const {
27761   return (_has_bits_[0] & 0x00000400u) != 0;
27762 }
27763 inline void V0LayerParameter::set_has_pool() {
27764   _has_bits_[0] |= 0x00000400u;
27765 }
27766 inline void V0LayerParameter::clear_has_pool() {
27767   _has_bits_[0] &= ~0x00000400u;
27768 }
27769 inline void V0LayerParameter::clear_pool() {
27770   pool_ = 0;
27771   clear_has_pool();
27772 }
27773 inline ::opencv_caffe::V0LayerParameter_PoolMethod V0LayerParameter::pool() const {
27774   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pool)
27775   return static_cast< ::opencv_caffe::V0LayerParameter_PoolMethod >(pool_);
27776 }
27777 inline void V0LayerParameter::set_pool(::opencv_caffe::V0LayerParameter_PoolMethod value) {
27778   assert(::opencv_caffe::V0LayerParameter_PoolMethod_IsValid(value));
27779   set_has_pool();
27780   pool_ = value;
27781   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pool)
27782 }
27783
27784 // optional float dropout_ratio = 12 [default = 0.5];
27785 inline bool V0LayerParameter::has_dropout_ratio() const {
27786   return (_has_bits_[0] & 0x00000800u) != 0;
27787 }
27788 inline void V0LayerParameter::set_has_dropout_ratio() {
27789   _has_bits_[0] |= 0x00000800u;
27790 }
27791 inline void V0LayerParameter::clear_has_dropout_ratio() {
27792   _has_bits_[0] &= ~0x00000800u;
27793 }
27794 inline void V0LayerParameter::clear_dropout_ratio() {
27795   dropout_ratio_ = 0.5f;
27796   clear_has_dropout_ratio();
27797 }
27798 inline float V0LayerParameter::dropout_ratio() const {
27799   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.dropout_ratio)
27800   return dropout_ratio_;
27801 }
27802 inline void V0LayerParameter::set_dropout_ratio(float value) {
27803   set_has_dropout_ratio();
27804   dropout_ratio_ = value;
27805   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.dropout_ratio)
27806 }
27807
27808 // optional uint32 local_size = 13 [default = 5];
27809 inline bool V0LayerParameter::has_local_size() const {
27810   return (_has_bits_[0] & 0x00001000u) != 0;
27811 }
27812 inline void V0LayerParameter::set_has_local_size() {
27813   _has_bits_[0] |= 0x00001000u;
27814 }
27815 inline void V0LayerParameter::clear_has_local_size() {
27816   _has_bits_[0] &= ~0x00001000u;
27817 }
27818 inline void V0LayerParameter::clear_local_size() {
27819   local_size_ = 5u;
27820   clear_has_local_size();
27821 }
27822 inline ::google::protobuf::uint32 V0LayerParameter::local_size() const {
27823   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.local_size)
27824   return local_size_;
27825 }
27826 inline void V0LayerParameter::set_local_size(::google::protobuf::uint32 value) {
27827   set_has_local_size();
27828   local_size_ = value;
27829   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.local_size)
27830 }
27831
27832 // optional float alpha = 14 [default = 1];
27833 inline bool V0LayerParameter::has_alpha() const {
27834   return (_has_bits_[0] & 0x00002000u) != 0;
27835 }
27836 inline void V0LayerParameter::set_has_alpha() {
27837   _has_bits_[0] |= 0x00002000u;
27838 }
27839 inline void V0LayerParameter::clear_has_alpha() {
27840   _has_bits_[0] &= ~0x00002000u;
27841 }
27842 inline void V0LayerParameter::clear_alpha() {
27843   alpha_ = 1;
27844   clear_has_alpha();
27845 }
27846 inline float V0LayerParameter::alpha() const {
27847   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.alpha)
27848   return alpha_;
27849 }
27850 inline void V0LayerParameter::set_alpha(float value) {
27851   set_has_alpha();
27852   alpha_ = value;
27853   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.alpha)
27854 }
27855
27856 // optional float beta = 15 [default = 0.75];
27857 inline bool V0LayerParameter::has_beta() const {
27858   return (_has_bits_[0] & 0x00004000u) != 0;
27859 }
27860 inline void V0LayerParameter::set_has_beta() {
27861   _has_bits_[0] |= 0x00004000u;
27862 }
27863 inline void V0LayerParameter::clear_has_beta() {
27864   _has_bits_[0] &= ~0x00004000u;
27865 }
27866 inline void V0LayerParameter::clear_beta() {
27867   beta_ = 0.75f;
27868   clear_has_beta();
27869 }
27870 inline float V0LayerParameter::beta() const {
27871   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.beta)
27872   return beta_;
27873 }
27874 inline void V0LayerParameter::set_beta(float value) {
27875   set_has_beta();
27876   beta_ = value;
27877   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.beta)
27878 }
27879
27880 // optional float k = 22 [default = 1];
27881 inline bool V0LayerParameter::has_k() const {
27882   return (_has_bits_[0] & 0x00008000u) != 0;
27883 }
27884 inline void V0LayerParameter::set_has_k() {
27885   _has_bits_[0] |= 0x00008000u;
27886 }
27887 inline void V0LayerParameter::clear_has_k() {
27888   _has_bits_[0] &= ~0x00008000u;
27889 }
27890 inline void V0LayerParameter::clear_k() {
27891   k_ = 1;
27892   clear_has_k();
27893 }
27894 inline float V0LayerParameter::k() const {
27895   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.k)
27896   return k_;
27897 }
27898 inline void V0LayerParameter::set_k(float value) {
27899   set_has_k();
27900   k_ = value;
27901   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.k)
27902 }
27903
27904 // optional string source = 16;
27905 inline bool V0LayerParameter::has_source() const {
27906   return (_has_bits_[0] & 0x00010000u) != 0;
27907 }
27908 inline void V0LayerParameter::set_has_source() {
27909   _has_bits_[0] |= 0x00010000u;
27910 }
27911 inline void V0LayerParameter::clear_has_source() {
27912   _has_bits_[0] &= ~0x00010000u;
27913 }
27914 inline void V0LayerParameter::clear_source() {
27915   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27916   clear_has_source();
27917 }
27918 inline const ::std::string& V0LayerParameter::source() const {
27919   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.source)
27920   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27921 }
27922 inline void V0LayerParameter::set_source(const ::std::string& value) {
27923   set_has_source();
27924   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27925   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.source)
27926 }
27927 inline void V0LayerParameter::set_source(const char* value) {
27928   set_has_source();
27929   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27930   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.source)
27931 }
27932 inline void V0LayerParameter::set_source(const char* value, size_t size) {
27933   set_has_source();
27934   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27935       ::std::string(reinterpret_cast<const char*>(value), size));
27936   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.source)
27937 }
27938 inline ::std::string* V0LayerParameter::mutable_source() {
27939   set_has_source();
27940   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.source)
27941   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27942 }
27943 inline ::std::string* V0LayerParameter::release_source() {
27944   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.source)
27945   clear_has_source();
27946   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27947 }
27948 inline void V0LayerParameter::set_allocated_source(::std::string* source) {
27949   if (source != NULL) {
27950     set_has_source();
27951   } else {
27952     clear_has_source();
27953   }
27954   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
27955   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.source)
27956 }
27957
27958 // optional float scale = 17 [default = 1];
27959 inline bool V0LayerParameter::has_scale() const {
27960   return (_has_bits_[0] & 0x00020000u) != 0;
27961 }
27962 inline void V0LayerParameter::set_has_scale() {
27963   _has_bits_[0] |= 0x00020000u;
27964 }
27965 inline void V0LayerParameter::clear_has_scale() {
27966   _has_bits_[0] &= ~0x00020000u;
27967 }
27968 inline void V0LayerParameter::clear_scale() {
27969   scale_ = 1;
27970   clear_has_scale();
27971 }
27972 inline float V0LayerParameter::scale() const {
27973   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.scale)
27974   return scale_;
27975 }
27976 inline void V0LayerParameter::set_scale(float value) {
27977   set_has_scale();
27978   scale_ = value;
27979   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.scale)
27980 }
27981
27982 // optional string meanfile = 18;
27983 inline bool V0LayerParameter::has_meanfile() const {
27984   return (_has_bits_[0] & 0x00040000u) != 0;
27985 }
27986 inline void V0LayerParameter::set_has_meanfile() {
27987   _has_bits_[0] |= 0x00040000u;
27988 }
27989 inline void V0LayerParameter::clear_has_meanfile() {
27990   _has_bits_[0] &= ~0x00040000u;
27991 }
27992 inline void V0LayerParameter::clear_meanfile() {
27993   meanfile_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27994   clear_has_meanfile();
27995 }
27996 inline const ::std::string& V0LayerParameter::meanfile() const {
27997   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.meanfile)
27998   return meanfile_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27999 }
28000 inline void V0LayerParameter::set_meanfile(const ::std::string& value) {
28001   set_has_meanfile();
28002   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28003   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.meanfile)
28004 }
28005 inline void V0LayerParameter::set_meanfile(const char* value) {
28006   set_has_meanfile();
28007   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28008   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.meanfile)
28009 }
28010 inline void V0LayerParameter::set_meanfile(const char* value, size_t size) {
28011   set_has_meanfile();
28012   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28013       ::std::string(reinterpret_cast<const char*>(value), size));
28014   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.meanfile)
28015 }
28016 inline ::std::string* V0LayerParameter::mutable_meanfile() {
28017   set_has_meanfile();
28018   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.meanfile)
28019   return meanfile_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28020 }
28021 inline ::std::string* V0LayerParameter::release_meanfile() {
28022   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.meanfile)
28023   clear_has_meanfile();
28024   return meanfile_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28025 }
28026 inline void V0LayerParameter::set_allocated_meanfile(::std::string* meanfile) {
28027   if (meanfile != NULL) {
28028     set_has_meanfile();
28029   } else {
28030     clear_has_meanfile();
28031   }
28032   meanfile_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), meanfile);
28033   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.meanfile)
28034 }
28035
28036 // optional uint32 batchsize = 19;
28037 inline bool V0LayerParameter::has_batchsize() const {
28038   return (_has_bits_[0] & 0x00080000u) != 0;
28039 }
28040 inline void V0LayerParameter::set_has_batchsize() {
28041   _has_bits_[0] |= 0x00080000u;
28042 }
28043 inline void V0LayerParameter::clear_has_batchsize() {
28044   _has_bits_[0] &= ~0x00080000u;
28045 }
28046 inline void V0LayerParameter::clear_batchsize() {
28047   batchsize_ = 0u;
28048   clear_has_batchsize();
28049 }
28050 inline ::google::protobuf::uint32 V0LayerParameter::batchsize() const {
28051   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.batchsize)
28052   return batchsize_;
28053 }
28054 inline void V0LayerParameter::set_batchsize(::google::protobuf::uint32 value) {
28055   set_has_batchsize();
28056   batchsize_ = value;
28057   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.batchsize)
28058 }
28059
28060 // optional uint32 cropsize = 20 [default = 0];
28061 inline bool V0LayerParameter::has_cropsize() const {
28062   return (_has_bits_[0] & 0x00100000u) != 0;
28063 }
28064 inline void V0LayerParameter::set_has_cropsize() {
28065   _has_bits_[0] |= 0x00100000u;
28066 }
28067 inline void V0LayerParameter::clear_has_cropsize() {
28068   _has_bits_[0] &= ~0x00100000u;
28069 }
28070 inline void V0LayerParameter::clear_cropsize() {
28071   cropsize_ = 0u;
28072   clear_has_cropsize();
28073 }
28074 inline ::google::protobuf::uint32 V0LayerParameter::cropsize() const {
28075   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.cropsize)
28076   return cropsize_;
28077 }
28078 inline void V0LayerParameter::set_cropsize(::google::protobuf::uint32 value) {
28079   set_has_cropsize();
28080   cropsize_ = value;
28081   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.cropsize)
28082 }
28083
28084 // optional bool mirror = 21 [default = false];
28085 inline bool V0LayerParameter::has_mirror() const {
28086   return (_has_bits_[0] & 0x00200000u) != 0;
28087 }
28088 inline void V0LayerParameter::set_has_mirror() {
28089   _has_bits_[0] |= 0x00200000u;
28090 }
28091 inline void V0LayerParameter::clear_has_mirror() {
28092   _has_bits_[0] &= ~0x00200000u;
28093 }
28094 inline void V0LayerParameter::clear_mirror() {
28095   mirror_ = false;
28096   clear_has_mirror();
28097 }
28098 inline bool V0LayerParameter::mirror() const {
28099   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.mirror)
28100   return mirror_;
28101 }
28102 inline void V0LayerParameter::set_mirror(bool value) {
28103   set_has_mirror();
28104   mirror_ = value;
28105   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.mirror)
28106 }
28107
28108 // repeated .opencv_caffe.BlobProto blobs = 50;
28109 inline int V0LayerParameter::blobs_size() const {
28110   return blobs_.size();
28111 }
28112 inline void V0LayerParameter::clear_blobs() {
28113   blobs_.Clear();
28114 }
28115 inline const ::opencv_caffe::BlobProto& V0LayerParameter::blobs(int index) const {
28116   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs)
28117   return blobs_.Get(index);
28118 }
28119 inline ::opencv_caffe::BlobProto* V0LayerParameter::mutable_blobs(int index) {
28120   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.blobs)
28121   return blobs_.Mutable(index);
28122 }
28123 inline ::opencv_caffe::BlobProto* V0LayerParameter::add_blobs() {
28124   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs)
28125   return blobs_.Add();
28126 }
28127 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
28128 V0LayerParameter::mutable_blobs() {
28129   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs)
28130   return &blobs_;
28131 }
28132 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
28133 V0LayerParameter::blobs() const {
28134   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs)
28135   return blobs_;
28136 }
28137
28138 // repeated float blobs_lr = 51;
28139 inline int V0LayerParameter::blobs_lr_size() const {
28140   return blobs_lr_.size();
28141 }
28142 inline void V0LayerParameter::clear_blobs_lr() {
28143   blobs_lr_.Clear();
28144 }
28145 inline float V0LayerParameter::blobs_lr(int index) const {
28146   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs_lr)
28147   return blobs_lr_.Get(index);
28148 }
28149 inline void V0LayerParameter::set_blobs_lr(int index, float value) {
28150   blobs_lr_.Set(index, value);
28151   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.blobs_lr)
28152 }
28153 inline void V0LayerParameter::add_blobs_lr(float value) {
28154   blobs_lr_.Add(value);
28155   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs_lr)
28156 }
28157 inline const ::google::protobuf::RepeatedField< float >&
28158 V0LayerParameter::blobs_lr() const {
28159   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs_lr)
28160   return blobs_lr_;
28161 }
28162 inline ::google::protobuf::RepeatedField< float >*
28163 V0LayerParameter::mutable_blobs_lr() {
28164   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs_lr)
28165   return &blobs_lr_;
28166 }
28167
28168 // repeated float weight_decay = 52;
28169 inline int V0LayerParameter::weight_decay_size() const {
28170   return weight_decay_.size();
28171 }
28172 inline void V0LayerParameter::clear_weight_decay() {
28173   weight_decay_.Clear();
28174 }
28175 inline float V0LayerParameter::weight_decay(int index) const {
28176   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_decay)
28177   return weight_decay_.Get(index);
28178 }
28179 inline void V0LayerParameter::set_weight_decay(int index, float value) {
28180   weight_decay_.Set(index, value);
28181   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.weight_decay)
28182 }
28183 inline void V0LayerParameter::add_weight_decay(float value) {
28184   weight_decay_.Add(value);
28185   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.weight_decay)
28186 }
28187 inline const ::google::protobuf::RepeatedField< float >&
28188 V0LayerParameter::weight_decay() const {
28189   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.weight_decay)
28190   return weight_decay_;
28191 }
28192 inline ::google::protobuf::RepeatedField< float >*
28193 V0LayerParameter::mutable_weight_decay() {
28194   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.weight_decay)
28195   return &weight_decay_;
28196 }
28197
28198 // optional uint32 rand_skip = 53 [default = 0];
28199 inline bool V0LayerParameter::has_rand_skip() const {
28200   return (_has_bits_[0] & 0x02000000u) != 0;
28201 }
28202 inline void V0LayerParameter::set_has_rand_skip() {
28203   _has_bits_[0] |= 0x02000000u;
28204 }
28205 inline void V0LayerParameter::clear_has_rand_skip() {
28206   _has_bits_[0] &= ~0x02000000u;
28207 }
28208 inline void V0LayerParameter::clear_rand_skip() {
28209   rand_skip_ = 0u;
28210   clear_has_rand_skip();
28211 }
28212 inline ::google::protobuf::uint32 V0LayerParameter::rand_skip() const {
28213   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.rand_skip)
28214   return rand_skip_;
28215 }
28216 inline void V0LayerParameter::set_rand_skip(::google::protobuf::uint32 value) {
28217   set_has_rand_skip();
28218   rand_skip_ = value;
28219   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.rand_skip)
28220 }
28221
28222 // optional float det_fg_threshold = 54 [default = 0.5];
28223 inline bool V0LayerParameter::has_det_fg_threshold() const {
28224   return (_has_bits_[0] & 0x04000000u) != 0;
28225 }
28226 inline void V0LayerParameter::set_has_det_fg_threshold() {
28227   _has_bits_[0] |= 0x04000000u;
28228 }
28229 inline void V0LayerParameter::clear_has_det_fg_threshold() {
28230   _has_bits_[0] &= ~0x04000000u;
28231 }
28232 inline void V0LayerParameter::clear_det_fg_threshold() {
28233   det_fg_threshold_ = 0.5f;
28234   clear_has_det_fg_threshold();
28235 }
28236 inline float V0LayerParameter::det_fg_threshold() const {
28237   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_threshold)
28238   return det_fg_threshold_;
28239 }
28240 inline void V0LayerParameter::set_det_fg_threshold(float value) {
28241   set_has_det_fg_threshold();
28242   det_fg_threshold_ = value;
28243   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_threshold)
28244 }
28245
28246 // optional float det_bg_threshold = 55 [default = 0.5];
28247 inline bool V0LayerParameter::has_det_bg_threshold() const {
28248   return (_has_bits_[0] & 0x08000000u) != 0;
28249 }
28250 inline void V0LayerParameter::set_has_det_bg_threshold() {
28251   _has_bits_[0] |= 0x08000000u;
28252 }
28253 inline void V0LayerParameter::clear_has_det_bg_threshold() {
28254   _has_bits_[0] &= ~0x08000000u;
28255 }
28256 inline void V0LayerParameter::clear_det_bg_threshold() {
28257   det_bg_threshold_ = 0.5f;
28258   clear_has_det_bg_threshold();
28259 }
28260 inline float V0LayerParameter::det_bg_threshold() const {
28261   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_bg_threshold)
28262   return det_bg_threshold_;
28263 }
28264 inline void V0LayerParameter::set_det_bg_threshold(float value) {
28265   set_has_det_bg_threshold();
28266   det_bg_threshold_ = value;
28267   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_bg_threshold)
28268 }
28269
28270 // optional float det_fg_fraction = 56 [default = 0.25];
28271 inline bool V0LayerParameter::has_det_fg_fraction() const {
28272   return (_has_bits_[0] & 0x10000000u) != 0;
28273 }
28274 inline void V0LayerParameter::set_has_det_fg_fraction() {
28275   _has_bits_[0] |= 0x10000000u;
28276 }
28277 inline void V0LayerParameter::clear_has_det_fg_fraction() {
28278   _has_bits_[0] &= ~0x10000000u;
28279 }
28280 inline void V0LayerParameter::clear_det_fg_fraction() {
28281   det_fg_fraction_ = 0.25f;
28282   clear_has_det_fg_fraction();
28283 }
28284 inline float V0LayerParameter::det_fg_fraction() const {
28285   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_fraction)
28286   return det_fg_fraction_;
28287 }
28288 inline void V0LayerParameter::set_det_fg_fraction(float value) {
28289   set_has_det_fg_fraction();
28290   det_fg_fraction_ = value;
28291   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_fraction)
28292 }
28293
28294 // optional uint32 det_context_pad = 58 [default = 0];
28295 inline bool V0LayerParameter::has_det_context_pad() const {
28296   return (_has_bits_[0] & 0x20000000u) != 0;
28297 }
28298 inline void V0LayerParameter::set_has_det_context_pad() {
28299   _has_bits_[0] |= 0x20000000u;
28300 }
28301 inline void V0LayerParameter::clear_has_det_context_pad() {
28302   _has_bits_[0] &= ~0x20000000u;
28303 }
28304 inline void V0LayerParameter::clear_det_context_pad() {
28305   det_context_pad_ = 0u;
28306   clear_has_det_context_pad();
28307 }
28308 inline ::google::protobuf::uint32 V0LayerParameter::det_context_pad() const {
28309   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_context_pad)
28310   return det_context_pad_;
28311 }
28312 inline void V0LayerParameter::set_det_context_pad(::google::protobuf::uint32 value) {
28313   set_has_det_context_pad();
28314   det_context_pad_ = value;
28315   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_context_pad)
28316 }
28317
28318 // optional string det_crop_mode = 59 [default = "warp"];
28319 inline bool V0LayerParameter::has_det_crop_mode() const {
28320   return (_has_bits_[0] & 0x40000000u) != 0;
28321 }
28322 inline void V0LayerParameter::set_has_det_crop_mode() {
28323   _has_bits_[0] |= 0x40000000u;
28324 }
28325 inline void V0LayerParameter::clear_has_det_crop_mode() {
28326   _has_bits_[0] &= ~0x40000000u;
28327 }
28328 inline void V0LayerParameter::clear_det_crop_mode() {
28329   det_crop_mode_.ClearToDefaultNoArena(_default_det_crop_mode_);
28330   clear_has_det_crop_mode();
28331 }
28332 inline const ::std::string& V0LayerParameter::det_crop_mode() const {
28333   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_crop_mode)
28334   return det_crop_mode_.GetNoArena(_default_det_crop_mode_);
28335 }
28336 inline void V0LayerParameter::set_det_crop_mode(const ::std::string& value) {
28337   set_has_det_crop_mode();
28338   det_crop_mode_.SetNoArena(_default_det_crop_mode_, value);
28339   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_crop_mode)
28340 }
28341 inline void V0LayerParameter::set_det_crop_mode(const char* value) {
28342   set_has_det_crop_mode();
28343   det_crop_mode_.SetNoArena(_default_det_crop_mode_, ::std::string(value));
28344   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.det_crop_mode)
28345 }
28346 inline void V0LayerParameter::set_det_crop_mode(const char* value, size_t size) {
28347   set_has_det_crop_mode();
28348   det_crop_mode_.SetNoArena(_default_det_crop_mode_,
28349       ::std::string(reinterpret_cast<const char*>(value), size));
28350   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.det_crop_mode)
28351 }
28352 inline ::std::string* V0LayerParameter::mutable_det_crop_mode() {
28353   set_has_det_crop_mode();
28354   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.det_crop_mode)
28355   return det_crop_mode_.MutableNoArena(_default_det_crop_mode_);
28356 }
28357 inline ::std::string* V0LayerParameter::release_det_crop_mode() {
28358   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.det_crop_mode)
28359   clear_has_det_crop_mode();
28360   return det_crop_mode_.ReleaseNoArena(_default_det_crop_mode_);
28361 }
28362 inline void V0LayerParameter::set_allocated_det_crop_mode(::std::string* det_crop_mode) {
28363   if (det_crop_mode != NULL) {
28364     set_has_det_crop_mode();
28365   } else {
28366     clear_has_det_crop_mode();
28367   }
28368   det_crop_mode_.SetAllocatedNoArena(_default_det_crop_mode_, det_crop_mode);
28369   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.det_crop_mode)
28370 }
28371
28372 // optional int32 new_num = 60 [default = 0];
28373 inline bool V0LayerParameter::has_new_num() const {
28374   return (_has_bits_[0] & 0x80000000u) != 0;
28375 }
28376 inline void V0LayerParameter::set_has_new_num() {
28377   _has_bits_[0] |= 0x80000000u;
28378 }
28379 inline void V0LayerParameter::clear_has_new_num() {
28380   _has_bits_[0] &= ~0x80000000u;
28381 }
28382 inline void V0LayerParameter::clear_new_num() {
28383   new_num_ = 0;
28384   clear_has_new_num();
28385 }
28386 inline ::google::protobuf::int32 V0LayerParameter::new_num() const {
28387   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_num)
28388   return new_num_;
28389 }
28390 inline void V0LayerParameter::set_new_num(::google::protobuf::int32 value) {
28391   set_has_new_num();
28392   new_num_ = value;
28393   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_num)
28394 }
28395
28396 // optional int32 new_channels = 61 [default = 0];
28397 inline bool V0LayerParameter::has_new_channels() const {
28398   return (_has_bits_[1] & 0x00000001u) != 0;
28399 }
28400 inline void V0LayerParameter::set_has_new_channels() {
28401   _has_bits_[1] |= 0x00000001u;
28402 }
28403 inline void V0LayerParameter::clear_has_new_channels() {
28404   _has_bits_[1] &= ~0x00000001u;
28405 }
28406 inline void V0LayerParameter::clear_new_channels() {
28407   new_channels_ = 0;
28408   clear_has_new_channels();
28409 }
28410 inline ::google::protobuf::int32 V0LayerParameter::new_channels() const {
28411   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_channels)
28412   return new_channels_;
28413 }
28414 inline void V0LayerParameter::set_new_channels(::google::protobuf::int32 value) {
28415   set_has_new_channels();
28416   new_channels_ = value;
28417   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_channels)
28418 }
28419
28420 // optional int32 new_height = 62 [default = 0];
28421 inline bool V0LayerParameter::has_new_height() const {
28422   return (_has_bits_[1] & 0x00000002u) != 0;
28423 }
28424 inline void V0LayerParameter::set_has_new_height() {
28425   _has_bits_[1] |= 0x00000002u;
28426 }
28427 inline void V0LayerParameter::clear_has_new_height() {
28428   _has_bits_[1] &= ~0x00000002u;
28429 }
28430 inline void V0LayerParameter::clear_new_height() {
28431   new_height_ = 0;
28432   clear_has_new_height();
28433 }
28434 inline ::google::protobuf::int32 V0LayerParameter::new_height() const {
28435   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_height)
28436   return new_height_;
28437 }
28438 inline void V0LayerParameter::set_new_height(::google::protobuf::int32 value) {
28439   set_has_new_height();
28440   new_height_ = value;
28441   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_height)
28442 }
28443
28444 // optional int32 new_width = 63 [default = 0];
28445 inline bool V0LayerParameter::has_new_width() const {
28446   return (_has_bits_[1] & 0x00000004u) != 0;
28447 }
28448 inline void V0LayerParameter::set_has_new_width() {
28449   _has_bits_[1] |= 0x00000004u;
28450 }
28451 inline void V0LayerParameter::clear_has_new_width() {
28452   _has_bits_[1] &= ~0x00000004u;
28453 }
28454 inline void V0LayerParameter::clear_new_width() {
28455   new_width_ = 0;
28456   clear_has_new_width();
28457 }
28458 inline ::google::protobuf::int32 V0LayerParameter::new_width() const {
28459   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_width)
28460   return new_width_;
28461 }
28462 inline void V0LayerParameter::set_new_width(::google::protobuf::int32 value) {
28463   set_has_new_width();
28464   new_width_ = value;
28465   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_width)
28466 }
28467
28468 // optional bool shuffle_images = 64 [default = false];
28469 inline bool V0LayerParameter::has_shuffle_images() const {
28470   return (_has_bits_[1] & 0x00000008u) != 0;
28471 }
28472 inline void V0LayerParameter::set_has_shuffle_images() {
28473   _has_bits_[1] |= 0x00000008u;
28474 }
28475 inline void V0LayerParameter::clear_has_shuffle_images() {
28476   _has_bits_[1] &= ~0x00000008u;
28477 }
28478 inline void V0LayerParameter::clear_shuffle_images() {
28479   shuffle_images_ = false;
28480   clear_has_shuffle_images();
28481 }
28482 inline bool V0LayerParameter::shuffle_images() const {
28483   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.shuffle_images)
28484   return shuffle_images_;
28485 }
28486 inline void V0LayerParameter::set_shuffle_images(bool value) {
28487   set_has_shuffle_images();
28488   shuffle_images_ = value;
28489   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.shuffle_images)
28490 }
28491
28492 // optional uint32 concat_dim = 65 [default = 1];
28493 inline bool V0LayerParameter::has_concat_dim() const {
28494   return (_has_bits_[1] & 0x00000010u) != 0;
28495 }
28496 inline void V0LayerParameter::set_has_concat_dim() {
28497   _has_bits_[1] |= 0x00000010u;
28498 }
28499 inline void V0LayerParameter::clear_has_concat_dim() {
28500   _has_bits_[1] &= ~0x00000010u;
28501 }
28502 inline void V0LayerParameter::clear_concat_dim() {
28503   concat_dim_ = 1u;
28504   clear_has_concat_dim();
28505 }
28506 inline ::google::protobuf::uint32 V0LayerParameter::concat_dim() const {
28507   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.concat_dim)
28508   return concat_dim_;
28509 }
28510 inline void V0LayerParameter::set_concat_dim(::google::protobuf::uint32 value) {
28511   set_has_concat_dim();
28512   concat_dim_ = value;
28513   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.concat_dim)
28514 }
28515
28516 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
28517 inline bool V0LayerParameter::has_hdf5_output_param() const {
28518   return (_has_bits_[1] & 0x00000020u) != 0;
28519 }
28520 inline void V0LayerParameter::set_has_hdf5_output_param() {
28521   _has_bits_[1] |= 0x00000020u;
28522 }
28523 inline void V0LayerParameter::clear_has_hdf5_output_param() {
28524   _has_bits_[1] &= ~0x00000020u;
28525 }
28526 inline void V0LayerParameter::clear_hdf5_output_param() {
28527   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
28528   clear_has_hdf5_output_param();
28529 }
28530 inline const ::opencv_caffe::HDF5OutputParameter& V0LayerParameter::hdf5_output_param() const {
28531   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.hdf5_output_param)
28532   return hdf5_output_param_ != NULL ? *hdf5_output_param_
28533                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
28534 }
28535 inline ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::mutable_hdf5_output_param() {
28536   set_has_hdf5_output_param();
28537   if (hdf5_output_param_ == NULL) {
28538     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
28539   }
28540   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.hdf5_output_param)
28541   return hdf5_output_param_;
28542 }
28543 inline ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::release_hdf5_output_param() {
28544   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.hdf5_output_param)
28545   clear_has_hdf5_output_param();
28546   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
28547   hdf5_output_param_ = NULL;
28548   return temp;
28549 }
28550 inline void V0LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
28551   delete hdf5_output_param_;
28552   hdf5_output_param_ = hdf5_output_param;
28553   if (hdf5_output_param) {
28554     set_has_hdf5_output_param();
28555   } else {
28556     clear_has_hdf5_output_param();
28557   }
28558   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.hdf5_output_param)
28559 }
28560
28561 inline const V0LayerParameter* V0LayerParameter::internal_default_instance() {
28562   return &V0LayerParameter_default_instance_.get();
28563 }
28564 // -------------------------------------------------------------------
28565
28566 // PReLUParameter
28567
28568 // optional .opencv_caffe.FillerParameter filler = 1;
28569 inline bool PReLUParameter::has_filler() const {
28570   return (_has_bits_[0] & 0x00000001u) != 0;
28571 }
28572 inline void PReLUParameter::set_has_filler() {
28573   _has_bits_[0] |= 0x00000001u;
28574 }
28575 inline void PReLUParameter::clear_has_filler() {
28576   _has_bits_[0] &= ~0x00000001u;
28577 }
28578 inline void PReLUParameter::clear_filler() {
28579   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
28580   clear_has_filler();
28581 }
28582 inline const ::opencv_caffe::FillerParameter& PReLUParameter::filler() const {
28583   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.filler)
28584   return filler_ != NULL ? *filler_
28585                          : *::opencv_caffe::FillerParameter::internal_default_instance();
28586 }
28587 inline ::opencv_caffe::FillerParameter* PReLUParameter::mutable_filler() {
28588   set_has_filler();
28589   if (filler_ == NULL) {
28590     filler_ = new ::opencv_caffe::FillerParameter;
28591   }
28592   // @@protoc_insertion_point(field_mutable:opencv_caffe.PReLUParameter.filler)
28593   return filler_;
28594 }
28595 inline ::opencv_caffe::FillerParameter* PReLUParameter::release_filler() {
28596   // @@protoc_insertion_point(field_release:opencv_caffe.PReLUParameter.filler)
28597   clear_has_filler();
28598   ::opencv_caffe::FillerParameter* temp = filler_;
28599   filler_ = NULL;
28600   return temp;
28601 }
28602 inline void PReLUParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
28603   delete filler_;
28604   filler_ = filler;
28605   if (filler) {
28606     set_has_filler();
28607   } else {
28608     clear_has_filler();
28609   }
28610   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PReLUParameter.filler)
28611 }
28612
28613 // optional bool channel_shared = 2 [default = false];
28614 inline bool PReLUParameter::has_channel_shared() const {
28615   return (_has_bits_[0] & 0x00000002u) != 0;
28616 }
28617 inline void PReLUParameter::set_has_channel_shared() {
28618   _has_bits_[0] |= 0x00000002u;
28619 }
28620 inline void PReLUParameter::clear_has_channel_shared() {
28621   _has_bits_[0] &= ~0x00000002u;
28622 }
28623 inline void PReLUParameter::clear_channel_shared() {
28624   channel_shared_ = false;
28625   clear_has_channel_shared();
28626 }
28627 inline bool PReLUParameter::channel_shared() const {
28628   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.channel_shared)
28629   return channel_shared_;
28630 }
28631 inline void PReLUParameter::set_channel_shared(bool value) {
28632   set_has_channel_shared();
28633   channel_shared_ = value;
28634   // @@protoc_insertion_point(field_set:opencv_caffe.PReLUParameter.channel_shared)
28635 }
28636
28637 inline const PReLUParameter* PReLUParameter::internal_default_instance() {
28638   return &PReLUParameter_default_instance_.get();
28639 }
28640 // -------------------------------------------------------------------
28641
28642 // NormalizedBBox
28643
28644 // optional float xmin = 1;
28645 inline bool NormalizedBBox::has_xmin() const {
28646   return (_has_bits_[0] & 0x00000001u) != 0;
28647 }
28648 inline void NormalizedBBox::set_has_xmin() {
28649   _has_bits_[0] |= 0x00000001u;
28650 }
28651 inline void NormalizedBBox::clear_has_xmin() {
28652   _has_bits_[0] &= ~0x00000001u;
28653 }
28654 inline void NormalizedBBox::clear_xmin() {
28655   xmin_ = 0;
28656   clear_has_xmin();
28657 }
28658 inline float NormalizedBBox::xmin() const {
28659   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmin)
28660   return xmin_;
28661 }
28662 inline void NormalizedBBox::set_xmin(float value) {
28663   set_has_xmin();
28664   xmin_ = value;
28665   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmin)
28666 }
28667
28668 // optional float ymin = 2;
28669 inline bool NormalizedBBox::has_ymin() const {
28670   return (_has_bits_[0] & 0x00000002u) != 0;
28671 }
28672 inline void NormalizedBBox::set_has_ymin() {
28673   _has_bits_[0] |= 0x00000002u;
28674 }
28675 inline void NormalizedBBox::clear_has_ymin() {
28676   _has_bits_[0] &= ~0x00000002u;
28677 }
28678 inline void NormalizedBBox::clear_ymin() {
28679   ymin_ = 0;
28680   clear_has_ymin();
28681 }
28682 inline float NormalizedBBox::ymin() const {
28683   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymin)
28684   return ymin_;
28685 }
28686 inline void NormalizedBBox::set_ymin(float value) {
28687   set_has_ymin();
28688   ymin_ = value;
28689   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymin)
28690 }
28691
28692 // optional float xmax = 3;
28693 inline bool NormalizedBBox::has_xmax() const {
28694   return (_has_bits_[0] & 0x00000004u) != 0;
28695 }
28696 inline void NormalizedBBox::set_has_xmax() {
28697   _has_bits_[0] |= 0x00000004u;
28698 }
28699 inline void NormalizedBBox::clear_has_xmax() {
28700   _has_bits_[0] &= ~0x00000004u;
28701 }
28702 inline void NormalizedBBox::clear_xmax() {
28703   xmax_ = 0;
28704   clear_has_xmax();
28705 }
28706 inline float NormalizedBBox::xmax() const {
28707   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmax)
28708   return xmax_;
28709 }
28710 inline void NormalizedBBox::set_xmax(float value) {
28711   set_has_xmax();
28712   xmax_ = value;
28713   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmax)
28714 }
28715
28716 // optional float ymax = 4;
28717 inline bool NormalizedBBox::has_ymax() const {
28718   return (_has_bits_[0] & 0x00000008u) != 0;
28719 }
28720 inline void NormalizedBBox::set_has_ymax() {
28721   _has_bits_[0] |= 0x00000008u;
28722 }
28723 inline void NormalizedBBox::clear_has_ymax() {
28724   _has_bits_[0] &= ~0x00000008u;
28725 }
28726 inline void NormalizedBBox::clear_ymax() {
28727   ymax_ = 0;
28728   clear_has_ymax();
28729 }
28730 inline float NormalizedBBox::ymax() const {
28731   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymax)
28732   return ymax_;
28733 }
28734 inline void NormalizedBBox::set_ymax(float value) {
28735   set_has_ymax();
28736   ymax_ = value;
28737   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymax)
28738 }
28739
28740 // optional int32 label = 5;
28741 inline bool NormalizedBBox::has_label() const {
28742   return (_has_bits_[0] & 0x00000010u) != 0;
28743 }
28744 inline void NormalizedBBox::set_has_label() {
28745   _has_bits_[0] |= 0x00000010u;
28746 }
28747 inline void NormalizedBBox::clear_has_label() {
28748   _has_bits_[0] &= ~0x00000010u;
28749 }
28750 inline void NormalizedBBox::clear_label() {
28751   label_ = 0;
28752   clear_has_label();
28753 }
28754 inline ::google::protobuf::int32 NormalizedBBox::label() const {
28755   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.label)
28756   return label_;
28757 }
28758 inline void NormalizedBBox::set_label(::google::protobuf::int32 value) {
28759   set_has_label();
28760   label_ = value;
28761   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.label)
28762 }
28763
28764 // optional bool difficult = 6;
28765 inline bool NormalizedBBox::has_difficult() const {
28766   return (_has_bits_[0] & 0x00000020u) != 0;
28767 }
28768 inline void NormalizedBBox::set_has_difficult() {
28769   _has_bits_[0] |= 0x00000020u;
28770 }
28771 inline void NormalizedBBox::clear_has_difficult() {
28772   _has_bits_[0] &= ~0x00000020u;
28773 }
28774 inline void NormalizedBBox::clear_difficult() {
28775   difficult_ = false;
28776   clear_has_difficult();
28777 }
28778 inline bool NormalizedBBox::difficult() const {
28779   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.difficult)
28780   return difficult_;
28781 }
28782 inline void NormalizedBBox::set_difficult(bool value) {
28783   set_has_difficult();
28784   difficult_ = value;
28785   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.difficult)
28786 }
28787
28788 // optional float score = 7;
28789 inline bool NormalizedBBox::has_score() const {
28790   return (_has_bits_[0] & 0x00000040u) != 0;
28791 }
28792 inline void NormalizedBBox::set_has_score() {
28793   _has_bits_[0] |= 0x00000040u;
28794 }
28795 inline void NormalizedBBox::clear_has_score() {
28796   _has_bits_[0] &= ~0x00000040u;
28797 }
28798 inline void NormalizedBBox::clear_score() {
28799   score_ = 0;
28800   clear_has_score();
28801 }
28802 inline float NormalizedBBox::score() const {
28803   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.score)
28804   return score_;
28805 }
28806 inline void NormalizedBBox::set_score(float value) {
28807   set_has_score();
28808   score_ = value;
28809   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.score)
28810 }
28811
28812 // optional float size = 8;
28813 inline bool NormalizedBBox::has_size() const {
28814   return (_has_bits_[0] & 0x00000080u) != 0;
28815 }
28816 inline void NormalizedBBox::set_has_size() {
28817   _has_bits_[0] |= 0x00000080u;
28818 }
28819 inline void NormalizedBBox::clear_has_size() {
28820   _has_bits_[0] &= ~0x00000080u;
28821 }
28822 inline void NormalizedBBox::clear_size() {
28823   size_ = 0;
28824   clear_has_size();
28825 }
28826 inline float NormalizedBBox::size() const {
28827   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.size)
28828   return size_;
28829 }
28830 inline void NormalizedBBox::set_size(float value) {
28831   set_has_size();
28832   size_ = value;
28833   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.size)
28834 }
28835
28836 inline const NormalizedBBox* NormalizedBBox::internal_default_instance() {
28837   return &NormalizedBBox_default_instance_.get();
28838 }
28839 // -------------------------------------------------------------------
28840
28841 // ROIPoolingParameter
28842
28843 // optional uint32 pooled_h = 1 [default = 0];
28844 inline bool ROIPoolingParameter::has_pooled_h() const {
28845   return (_has_bits_[0] & 0x00000001u) != 0;
28846 }
28847 inline void ROIPoolingParameter::set_has_pooled_h() {
28848   _has_bits_[0] |= 0x00000001u;
28849 }
28850 inline void ROIPoolingParameter::clear_has_pooled_h() {
28851   _has_bits_[0] &= ~0x00000001u;
28852 }
28853 inline void ROIPoolingParameter::clear_pooled_h() {
28854   pooled_h_ = 0u;
28855   clear_has_pooled_h();
28856 }
28857 inline ::google::protobuf::uint32 ROIPoolingParameter::pooled_h() const {
28858   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_h)
28859   return pooled_h_;
28860 }
28861 inline void ROIPoolingParameter::set_pooled_h(::google::protobuf::uint32 value) {
28862   set_has_pooled_h();
28863   pooled_h_ = value;
28864   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_h)
28865 }
28866
28867 // optional uint32 pooled_w = 2 [default = 0];
28868 inline bool ROIPoolingParameter::has_pooled_w() const {
28869   return (_has_bits_[0] & 0x00000002u) != 0;
28870 }
28871 inline void ROIPoolingParameter::set_has_pooled_w() {
28872   _has_bits_[0] |= 0x00000002u;
28873 }
28874 inline void ROIPoolingParameter::clear_has_pooled_w() {
28875   _has_bits_[0] &= ~0x00000002u;
28876 }
28877 inline void ROIPoolingParameter::clear_pooled_w() {
28878   pooled_w_ = 0u;
28879   clear_has_pooled_w();
28880 }
28881 inline ::google::protobuf::uint32 ROIPoolingParameter::pooled_w() const {
28882   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_w)
28883   return pooled_w_;
28884 }
28885 inline void ROIPoolingParameter::set_pooled_w(::google::protobuf::uint32 value) {
28886   set_has_pooled_w();
28887   pooled_w_ = value;
28888   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_w)
28889 }
28890
28891 // optional float spatial_scale = 3 [default = 1];
28892 inline bool ROIPoolingParameter::has_spatial_scale() const {
28893   return (_has_bits_[0] & 0x00000004u) != 0;
28894 }
28895 inline void ROIPoolingParameter::set_has_spatial_scale() {
28896   _has_bits_[0] |= 0x00000004u;
28897 }
28898 inline void ROIPoolingParameter::clear_has_spatial_scale() {
28899   _has_bits_[0] &= ~0x00000004u;
28900 }
28901 inline void ROIPoolingParameter::clear_spatial_scale() {
28902   spatial_scale_ = 1;
28903   clear_has_spatial_scale();
28904 }
28905 inline float ROIPoolingParameter::spatial_scale() const {
28906   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.spatial_scale)
28907   return spatial_scale_;
28908 }
28909 inline void ROIPoolingParameter::set_spatial_scale(float value) {
28910   set_has_spatial_scale();
28911   spatial_scale_ = value;
28912   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.spatial_scale)
28913 }
28914
28915 inline const ROIPoolingParameter* ROIPoolingParameter::internal_default_instance() {
28916   return &ROIPoolingParameter_default_instance_.get();
28917 }
28918 #endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
28919 // -------------------------------------------------------------------
28920
28921 // -------------------------------------------------------------------
28922
28923 // -------------------------------------------------------------------
28924
28925 // -------------------------------------------------------------------
28926
28927 // -------------------------------------------------------------------
28928
28929 // -------------------------------------------------------------------
28930
28931 // -------------------------------------------------------------------
28932
28933 // -------------------------------------------------------------------
28934
28935 // -------------------------------------------------------------------
28936
28937 // -------------------------------------------------------------------
28938
28939 // -------------------------------------------------------------------
28940
28941 // -------------------------------------------------------------------
28942
28943 // -------------------------------------------------------------------
28944
28945 // -------------------------------------------------------------------
28946
28947 // -------------------------------------------------------------------
28948
28949 // -------------------------------------------------------------------
28950
28951 // -------------------------------------------------------------------
28952
28953 // -------------------------------------------------------------------
28954
28955 // -------------------------------------------------------------------
28956
28957 // -------------------------------------------------------------------
28958
28959 // -------------------------------------------------------------------
28960
28961 // -------------------------------------------------------------------
28962
28963 // -------------------------------------------------------------------
28964
28965 // -------------------------------------------------------------------
28966
28967 // -------------------------------------------------------------------
28968
28969 // -------------------------------------------------------------------
28970
28971 // -------------------------------------------------------------------
28972
28973 // -------------------------------------------------------------------
28974
28975 // -------------------------------------------------------------------
28976
28977 // -------------------------------------------------------------------
28978
28979 // -------------------------------------------------------------------
28980
28981 // -------------------------------------------------------------------
28982
28983 // -------------------------------------------------------------------
28984
28985 // -------------------------------------------------------------------
28986
28987 // -------------------------------------------------------------------
28988
28989 // -------------------------------------------------------------------
28990
28991 // -------------------------------------------------------------------
28992
28993 // -------------------------------------------------------------------
28994
28995 // -------------------------------------------------------------------
28996
28997 // -------------------------------------------------------------------
28998
28999 // -------------------------------------------------------------------
29000
29001 // -------------------------------------------------------------------
29002
29003 // -------------------------------------------------------------------
29004
29005 // -------------------------------------------------------------------
29006
29007 // -------------------------------------------------------------------
29008
29009 // -------------------------------------------------------------------
29010
29011 // -------------------------------------------------------------------
29012
29013 // -------------------------------------------------------------------
29014
29015 // -------------------------------------------------------------------
29016
29017 // -------------------------------------------------------------------
29018
29019 // -------------------------------------------------------------------
29020
29021 // -------------------------------------------------------------------
29022
29023 // -------------------------------------------------------------------
29024
29025 // -------------------------------------------------------------------
29026
29027 // -------------------------------------------------------------------
29028
29029 // -------------------------------------------------------------------
29030
29031 // -------------------------------------------------------------------
29032
29033 // -------------------------------------------------------------------
29034
29035 // -------------------------------------------------------------------
29036
29037 // -------------------------------------------------------------------
29038
29039 // -------------------------------------------------------------------
29040
29041 // -------------------------------------------------------------------
29042
29043 // -------------------------------------------------------------------
29044
29045 // -------------------------------------------------------------------
29046
29047 // -------------------------------------------------------------------
29048
29049 // -------------------------------------------------------------------
29050
29051 // -------------------------------------------------------------------
29052
29053 // -------------------------------------------------------------------
29054
29055
29056 // @@protoc_insertion_point(namespace_scope)
29057
29058 }  // namespace opencv_caffe
29059
29060 #ifndef SWIG
29061 namespace google {
29062 namespace protobuf {
29063
29064 template <> struct is_proto_enum< ::opencv_caffe::PriorBoxParameter_CodeType> : ::google::protobuf::internal::true_type {};
29065 template <>
29066 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::PriorBoxParameter_CodeType>() {
29067   return ::opencv_caffe::PriorBoxParameter_CodeType_descriptor();
29068 }
29069 template <> struct is_proto_enum< ::opencv_caffe::FillerParameter_VarianceNorm> : ::google::protobuf::internal::true_type {};
29070 template <>
29071 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::FillerParameter_VarianceNorm>() {
29072   return ::opencv_caffe::FillerParameter_VarianceNorm_descriptor();
29073 }
29074 template <> struct is_proto_enum< ::opencv_caffe::SolverParameter_SnapshotFormat> : ::google::protobuf::internal::true_type {};
29075 template <>
29076 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SolverParameter_SnapshotFormat>() {
29077   return ::opencv_caffe::SolverParameter_SnapshotFormat_descriptor();
29078 }
29079 template <> struct is_proto_enum< ::opencv_caffe::SolverParameter_SolverMode> : ::google::protobuf::internal::true_type {};
29080 template <>
29081 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SolverParameter_SolverMode>() {
29082   return ::opencv_caffe::SolverParameter_SolverMode_descriptor();
29083 }
29084 template <> struct is_proto_enum< ::opencv_caffe::SolverParameter_SolverType> : ::google::protobuf::internal::true_type {};
29085 template <>
29086 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SolverParameter_SolverType>() {
29087   return ::opencv_caffe::SolverParameter_SolverType_descriptor();
29088 }
29089 template <> struct is_proto_enum< ::opencv_caffe::ParamSpec_DimCheckMode> : ::google::protobuf::internal::true_type {};
29090 template <>
29091 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ParamSpec_DimCheckMode>() {
29092   return ::opencv_caffe::ParamSpec_DimCheckMode_descriptor();
29093 }
29094 template <> struct is_proto_enum< ::opencv_caffe::LossParameter_NormalizationMode> : ::google::protobuf::internal::true_type {};
29095 template <>
29096 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::LossParameter_NormalizationMode>() {
29097   return ::opencv_caffe::LossParameter_NormalizationMode_descriptor();
29098 }
29099 template <> struct is_proto_enum< ::opencv_caffe::ConvolutionParameter_Engine> : ::google::protobuf::internal::true_type {};
29100 template <>
29101 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ConvolutionParameter_Engine>() {
29102   return ::opencv_caffe::ConvolutionParameter_Engine_descriptor();
29103 }
29104 template <> struct is_proto_enum< ::opencv_caffe::DataParameter_DB> : ::google::protobuf::internal::true_type {};
29105 template <>
29106 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::DataParameter_DB>() {
29107   return ::opencv_caffe::DataParameter_DB_descriptor();
29108 }
29109 template <> struct is_proto_enum< ::opencv_caffe::EltwiseParameter_EltwiseOp> : ::google::protobuf::internal::true_type {};
29110 template <>
29111 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::EltwiseParameter_EltwiseOp>() {
29112   return ::opencv_caffe::EltwiseParameter_EltwiseOp_descriptor();
29113 }
29114 template <> struct is_proto_enum< ::opencv_caffe::HingeLossParameter_Norm> : ::google::protobuf::internal::true_type {};
29115 template <>
29116 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::HingeLossParameter_Norm>() {
29117   return ::opencv_caffe::HingeLossParameter_Norm_descriptor();
29118 }
29119 template <> struct is_proto_enum< ::opencv_caffe::LRNParameter_NormRegion> : ::google::protobuf::internal::true_type {};
29120 template <>
29121 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::LRNParameter_NormRegion>() {
29122   return ::opencv_caffe::LRNParameter_NormRegion_descriptor();
29123 }
29124 template <> struct is_proto_enum< ::opencv_caffe::LRNParameter_Engine> : ::google::protobuf::internal::true_type {};
29125 template <>
29126 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::LRNParameter_Engine>() {
29127   return ::opencv_caffe::LRNParameter_Engine_descriptor();
29128 }
29129 template <> struct is_proto_enum< ::opencv_caffe::PoolingParameter_PoolMethod> : ::google::protobuf::internal::true_type {};
29130 template <>
29131 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::PoolingParameter_PoolMethod>() {
29132   return ::opencv_caffe::PoolingParameter_PoolMethod_descriptor();
29133 }
29134 template <> struct is_proto_enum< ::opencv_caffe::PoolingParameter_Engine> : ::google::protobuf::internal::true_type {};
29135 template <>
29136 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::PoolingParameter_Engine>() {
29137   return ::opencv_caffe::PoolingParameter_Engine_descriptor();
29138 }
29139 template <> struct is_proto_enum< ::opencv_caffe::ReductionParameter_ReductionOp> : ::google::protobuf::internal::true_type {};
29140 template <>
29141 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ReductionParameter_ReductionOp>() {
29142   return ::opencv_caffe::ReductionParameter_ReductionOp_descriptor();
29143 }
29144 template <> struct is_proto_enum< ::opencv_caffe::ReLUParameter_Engine> : ::google::protobuf::internal::true_type {};
29145 template <>
29146 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ReLUParameter_Engine>() {
29147   return ::opencv_caffe::ReLUParameter_Engine_descriptor();
29148 }
29149 template <> struct is_proto_enum< ::opencv_caffe::SigmoidParameter_Engine> : ::google::protobuf::internal::true_type {};
29150 template <>
29151 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SigmoidParameter_Engine>() {
29152   return ::opencv_caffe::SigmoidParameter_Engine_descriptor();
29153 }
29154 template <> struct is_proto_enum< ::opencv_caffe::SoftmaxParameter_Engine> : ::google::protobuf::internal::true_type {};
29155 template <>
29156 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SoftmaxParameter_Engine>() {
29157   return ::opencv_caffe::SoftmaxParameter_Engine_descriptor();
29158 }
29159 template <> struct is_proto_enum< ::opencv_caffe::TanHParameter_Engine> : ::google::protobuf::internal::true_type {};
29160 template <>
29161 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::TanHParameter_Engine>() {
29162   return ::opencv_caffe::TanHParameter_Engine_descriptor();
29163 }
29164 template <> struct is_proto_enum< ::opencv_caffe::SPPParameter_PoolMethod> : ::google::protobuf::internal::true_type {};
29165 template <>
29166 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SPPParameter_PoolMethod>() {
29167   return ::opencv_caffe::SPPParameter_PoolMethod_descriptor();
29168 }
29169 template <> struct is_proto_enum< ::opencv_caffe::SPPParameter_Engine> : ::google::protobuf::internal::true_type {};
29170 template <>
29171 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SPPParameter_Engine>() {
29172   return ::opencv_caffe::SPPParameter_Engine_descriptor();
29173 }
29174 template <> struct is_proto_enum< ::opencv_caffe::V1LayerParameter_LayerType> : ::google::protobuf::internal::true_type {};
29175 template <>
29176 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::V1LayerParameter_LayerType>() {
29177   return ::opencv_caffe::V1LayerParameter_LayerType_descriptor();
29178 }
29179 template <> struct is_proto_enum< ::opencv_caffe::V1LayerParameter_DimCheckMode> : ::google::protobuf::internal::true_type {};
29180 template <>
29181 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::V1LayerParameter_DimCheckMode>() {
29182   return ::opencv_caffe::V1LayerParameter_DimCheckMode_descriptor();
29183 }
29184 template <> struct is_proto_enum< ::opencv_caffe::V0LayerParameter_PoolMethod> : ::google::protobuf::internal::true_type {};
29185 template <>
29186 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::V0LayerParameter_PoolMethod>() {
29187   return ::opencv_caffe::V0LayerParameter_PoolMethod_descriptor();
29188 }
29189 template <> struct is_proto_enum< ::opencv_caffe::Type> : ::google::protobuf::internal::true_type {};
29190 template <>
29191 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::Type>() {
29192   return ::opencv_caffe::Type_descriptor();
29193 }
29194 template <> struct is_proto_enum< ::opencv_caffe::Phase> : ::google::protobuf::internal::true_type {};
29195 template <>
29196 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::Phase>() {
29197   return ::opencv_caffe::Phase_descriptor();
29198 }
29199
29200 }  // namespace protobuf
29201 }  // namespace google
29202 #endif  // SWIG
29203
29204 // @@protoc_insertion_point(global_scope)
29205
29206 #endif  // PROTOBUF_opencv_2dcaffe_2eproto__INCLUDED