Faster-RCNN models support
[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 ProposalParameter;
90 class PythonParameter;
91 class ROIPoolingParameter;
92 class ReLUParameter;
93 class RecurrentParameter;
94 class ReductionParameter;
95 class ReshapeParameter;
96 class SPPParameter;
97 class SaveOutputParameter;
98 class ScaleParameter;
99 class SigmoidParameter;
100 class SliceParameter;
101 class SoftmaxParameter;
102 class SolverParameter;
103 class SolverState;
104 class TanHParameter;
105 class ThresholdParameter;
106 class TileParameter;
107 class TransformationParameter;
108 class V0LayerParameter;
109 class V1LayerParameter;
110 class WindowDataParameter;
111
112 enum PriorBoxParameter_CodeType {
113   PriorBoxParameter_CodeType_CORNER = 1,
114   PriorBoxParameter_CodeType_CENTER_SIZE = 2
115 };
116 bool PriorBoxParameter_CodeType_IsValid(int value);
117 const PriorBoxParameter_CodeType PriorBoxParameter_CodeType_CodeType_MIN = PriorBoxParameter_CodeType_CORNER;
118 const PriorBoxParameter_CodeType PriorBoxParameter_CodeType_CodeType_MAX = PriorBoxParameter_CodeType_CENTER_SIZE;
119 const int PriorBoxParameter_CodeType_CodeType_ARRAYSIZE = PriorBoxParameter_CodeType_CodeType_MAX + 1;
120
121 const ::google::protobuf::EnumDescriptor* PriorBoxParameter_CodeType_descriptor();
122 inline const ::std::string& PriorBoxParameter_CodeType_Name(PriorBoxParameter_CodeType value) {
123   return ::google::protobuf::internal::NameOfEnum(
124     PriorBoxParameter_CodeType_descriptor(), value);
125 }
126 inline bool PriorBoxParameter_CodeType_Parse(
127     const ::std::string& name, PriorBoxParameter_CodeType* value) {
128   return ::google::protobuf::internal::ParseNamedEnum<PriorBoxParameter_CodeType>(
129     PriorBoxParameter_CodeType_descriptor(), name, value);
130 }
131 enum FillerParameter_VarianceNorm {
132   FillerParameter_VarianceNorm_FAN_IN = 0,
133   FillerParameter_VarianceNorm_FAN_OUT = 1,
134   FillerParameter_VarianceNorm_AVERAGE = 2
135 };
136 bool FillerParameter_VarianceNorm_IsValid(int value);
137 const FillerParameter_VarianceNorm FillerParameter_VarianceNorm_VarianceNorm_MIN = FillerParameter_VarianceNorm_FAN_IN;
138 const FillerParameter_VarianceNorm FillerParameter_VarianceNorm_VarianceNorm_MAX = FillerParameter_VarianceNorm_AVERAGE;
139 const int FillerParameter_VarianceNorm_VarianceNorm_ARRAYSIZE = FillerParameter_VarianceNorm_VarianceNorm_MAX + 1;
140
141 const ::google::protobuf::EnumDescriptor* FillerParameter_VarianceNorm_descriptor();
142 inline const ::std::string& FillerParameter_VarianceNorm_Name(FillerParameter_VarianceNorm value) {
143   return ::google::protobuf::internal::NameOfEnum(
144     FillerParameter_VarianceNorm_descriptor(), value);
145 }
146 inline bool FillerParameter_VarianceNorm_Parse(
147     const ::std::string& name, FillerParameter_VarianceNorm* value) {
148   return ::google::protobuf::internal::ParseNamedEnum<FillerParameter_VarianceNorm>(
149     FillerParameter_VarianceNorm_descriptor(), name, value);
150 }
151 enum SolverParameter_SnapshotFormat {
152   SolverParameter_SnapshotFormat_HDF5 = 0,
153   SolverParameter_SnapshotFormat_BINARYPROTO = 1
154 };
155 bool SolverParameter_SnapshotFormat_IsValid(int value);
156 const SolverParameter_SnapshotFormat SolverParameter_SnapshotFormat_SnapshotFormat_MIN = SolverParameter_SnapshotFormat_HDF5;
157 const SolverParameter_SnapshotFormat SolverParameter_SnapshotFormat_SnapshotFormat_MAX = SolverParameter_SnapshotFormat_BINARYPROTO;
158 const int SolverParameter_SnapshotFormat_SnapshotFormat_ARRAYSIZE = SolverParameter_SnapshotFormat_SnapshotFormat_MAX + 1;
159
160 const ::google::protobuf::EnumDescriptor* SolverParameter_SnapshotFormat_descriptor();
161 inline const ::std::string& SolverParameter_SnapshotFormat_Name(SolverParameter_SnapshotFormat value) {
162   return ::google::protobuf::internal::NameOfEnum(
163     SolverParameter_SnapshotFormat_descriptor(), value);
164 }
165 inline bool SolverParameter_SnapshotFormat_Parse(
166     const ::std::string& name, SolverParameter_SnapshotFormat* value) {
167   return ::google::protobuf::internal::ParseNamedEnum<SolverParameter_SnapshotFormat>(
168     SolverParameter_SnapshotFormat_descriptor(), name, value);
169 }
170 enum SolverParameter_SolverMode {
171   SolverParameter_SolverMode_CPU = 0,
172   SolverParameter_SolverMode_GPU = 1
173 };
174 bool SolverParameter_SolverMode_IsValid(int value);
175 const SolverParameter_SolverMode SolverParameter_SolverMode_SolverMode_MIN = SolverParameter_SolverMode_CPU;
176 const SolverParameter_SolverMode SolverParameter_SolverMode_SolverMode_MAX = SolverParameter_SolverMode_GPU;
177 const int SolverParameter_SolverMode_SolverMode_ARRAYSIZE = SolverParameter_SolverMode_SolverMode_MAX + 1;
178
179 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverMode_descriptor();
180 inline const ::std::string& SolverParameter_SolverMode_Name(SolverParameter_SolverMode value) {
181   return ::google::protobuf::internal::NameOfEnum(
182     SolverParameter_SolverMode_descriptor(), value);
183 }
184 inline bool SolverParameter_SolverMode_Parse(
185     const ::std::string& name, SolverParameter_SolverMode* value) {
186   return ::google::protobuf::internal::ParseNamedEnum<SolverParameter_SolverMode>(
187     SolverParameter_SolverMode_descriptor(), name, value);
188 }
189 enum SolverParameter_SolverType {
190   SolverParameter_SolverType_SGD = 0,
191   SolverParameter_SolverType_NESTEROV = 1,
192   SolverParameter_SolverType_ADAGRAD = 2,
193   SolverParameter_SolverType_RMSPROP = 3,
194   SolverParameter_SolverType_ADADELTA = 4,
195   SolverParameter_SolverType_ADAM = 5
196 };
197 bool SolverParameter_SolverType_IsValid(int value);
198 const SolverParameter_SolverType SolverParameter_SolverType_SolverType_MIN = SolverParameter_SolverType_SGD;
199 const SolverParameter_SolverType SolverParameter_SolverType_SolverType_MAX = SolverParameter_SolverType_ADAM;
200 const int SolverParameter_SolverType_SolverType_ARRAYSIZE = SolverParameter_SolverType_SolverType_MAX + 1;
201
202 const ::google::protobuf::EnumDescriptor* SolverParameter_SolverType_descriptor();
203 inline const ::std::string& SolverParameter_SolverType_Name(SolverParameter_SolverType value) {
204   return ::google::protobuf::internal::NameOfEnum(
205     SolverParameter_SolverType_descriptor(), value);
206 }
207 inline bool SolverParameter_SolverType_Parse(
208     const ::std::string& name, SolverParameter_SolverType* value) {
209   return ::google::protobuf::internal::ParseNamedEnum<SolverParameter_SolverType>(
210     SolverParameter_SolverType_descriptor(), name, value);
211 }
212 enum ParamSpec_DimCheckMode {
213   ParamSpec_DimCheckMode_STRICT = 0,
214   ParamSpec_DimCheckMode_PERMISSIVE = 1
215 };
216 bool ParamSpec_DimCheckMode_IsValid(int value);
217 const ParamSpec_DimCheckMode ParamSpec_DimCheckMode_DimCheckMode_MIN = ParamSpec_DimCheckMode_STRICT;
218 const ParamSpec_DimCheckMode ParamSpec_DimCheckMode_DimCheckMode_MAX = ParamSpec_DimCheckMode_PERMISSIVE;
219 const int ParamSpec_DimCheckMode_DimCheckMode_ARRAYSIZE = ParamSpec_DimCheckMode_DimCheckMode_MAX + 1;
220
221 const ::google::protobuf::EnumDescriptor* ParamSpec_DimCheckMode_descriptor();
222 inline const ::std::string& ParamSpec_DimCheckMode_Name(ParamSpec_DimCheckMode value) {
223   return ::google::protobuf::internal::NameOfEnum(
224     ParamSpec_DimCheckMode_descriptor(), value);
225 }
226 inline bool ParamSpec_DimCheckMode_Parse(
227     const ::std::string& name, ParamSpec_DimCheckMode* value) {
228   return ::google::protobuf::internal::ParseNamedEnum<ParamSpec_DimCheckMode>(
229     ParamSpec_DimCheckMode_descriptor(), name, value);
230 }
231 enum LossParameter_NormalizationMode {
232   LossParameter_NormalizationMode_FULL = 0,
233   LossParameter_NormalizationMode_VALID = 1,
234   LossParameter_NormalizationMode_BATCH_SIZE = 2,
235   LossParameter_NormalizationMode_NONE = 3
236 };
237 bool LossParameter_NormalizationMode_IsValid(int value);
238 const LossParameter_NormalizationMode LossParameter_NormalizationMode_NormalizationMode_MIN = LossParameter_NormalizationMode_FULL;
239 const LossParameter_NormalizationMode LossParameter_NormalizationMode_NormalizationMode_MAX = LossParameter_NormalizationMode_NONE;
240 const int LossParameter_NormalizationMode_NormalizationMode_ARRAYSIZE = LossParameter_NormalizationMode_NormalizationMode_MAX + 1;
241
242 const ::google::protobuf::EnumDescriptor* LossParameter_NormalizationMode_descriptor();
243 inline const ::std::string& LossParameter_NormalizationMode_Name(LossParameter_NormalizationMode value) {
244   return ::google::protobuf::internal::NameOfEnum(
245     LossParameter_NormalizationMode_descriptor(), value);
246 }
247 inline bool LossParameter_NormalizationMode_Parse(
248     const ::std::string& name, LossParameter_NormalizationMode* value) {
249   return ::google::protobuf::internal::ParseNamedEnum<LossParameter_NormalizationMode>(
250     LossParameter_NormalizationMode_descriptor(), name, value);
251 }
252 enum ConvolutionParameter_Engine {
253   ConvolutionParameter_Engine_DEFAULT = 0,
254   ConvolutionParameter_Engine_CAFFE = 1,
255   ConvolutionParameter_Engine_CUDNN = 2
256 };
257 bool ConvolutionParameter_Engine_IsValid(int value);
258 const ConvolutionParameter_Engine ConvolutionParameter_Engine_Engine_MIN = ConvolutionParameter_Engine_DEFAULT;
259 const ConvolutionParameter_Engine ConvolutionParameter_Engine_Engine_MAX = ConvolutionParameter_Engine_CUDNN;
260 const int ConvolutionParameter_Engine_Engine_ARRAYSIZE = ConvolutionParameter_Engine_Engine_MAX + 1;
261
262 const ::google::protobuf::EnumDescriptor* ConvolutionParameter_Engine_descriptor();
263 inline const ::std::string& ConvolutionParameter_Engine_Name(ConvolutionParameter_Engine value) {
264   return ::google::protobuf::internal::NameOfEnum(
265     ConvolutionParameter_Engine_descriptor(), value);
266 }
267 inline bool ConvolutionParameter_Engine_Parse(
268     const ::std::string& name, ConvolutionParameter_Engine* value) {
269   return ::google::protobuf::internal::ParseNamedEnum<ConvolutionParameter_Engine>(
270     ConvolutionParameter_Engine_descriptor(), name, value);
271 }
272 enum DataParameter_DB {
273   DataParameter_DB_LEVELDB = 0,
274   DataParameter_DB_LMDB = 1
275 };
276 bool DataParameter_DB_IsValid(int value);
277 const DataParameter_DB DataParameter_DB_DB_MIN = DataParameter_DB_LEVELDB;
278 const DataParameter_DB DataParameter_DB_DB_MAX = DataParameter_DB_LMDB;
279 const int DataParameter_DB_DB_ARRAYSIZE = DataParameter_DB_DB_MAX + 1;
280
281 const ::google::protobuf::EnumDescriptor* DataParameter_DB_descriptor();
282 inline const ::std::string& DataParameter_DB_Name(DataParameter_DB value) {
283   return ::google::protobuf::internal::NameOfEnum(
284     DataParameter_DB_descriptor(), value);
285 }
286 inline bool DataParameter_DB_Parse(
287     const ::std::string& name, DataParameter_DB* value) {
288   return ::google::protobuf::internal::ParseNamedEnum<DataParameter_DB>(
289     DataParameter_DB_descriptor(), name, value);
290 }
291 enum EltwiseParameter_EltwiseOp {
292   EltwiseParameter_EltwiseOp_PROD = 0,
293   EltwiseParameter_EltwiseOp_SUM = 1,
294   EltwiseParameter_EltwiseOp_MAX = 2
295 };
296 bool EltwiseParameter_EltwiseOp_IsValid(int value);
297 const EltwiseParameter_EltwiseOp EltwiseParameter_EltwiseOp_EltwiseOp_MIN = EltwiseParameter_EltwiseOp_PROD;
298 const EltwiseParameter_EltwiseOp EltwiseParameter_EltwiseOp_EltwiseOp_MAX = EltwiseParameter_EltwiseOp_MAX;
299 const int EltwiseParameter_EltwiseOp_EltwiseOp_ARRAYSIZE = EltwiseParameter_EltwiseOp_EltwiseOp_MAX + 1;
300
301 const ::google::protobuf::EnumDescriptor* EltwiseParameter_EltwiseOp_descriptor();
302 inline const ::std::string& EltwiseParameter_EltwiseOp_Name(EltwiseParameter_EltwiseOp value) {
303   return ::google::protobuf::internal::NameOfEnum(
304     EltwiseParameter_EltwiseOp_descriptor(), value);
305 }
306 inline bool EltwiseParameter_EltwiseOp_Parse(
307     const ::std::string& name, EltwiseParameter_EltwiseOp* value) {
308   return ::google::protobuf::internal::ParseNamedEnum<EltwiseParameter_EltwiseOp>(
309     EltwiseParameter_EltwiseOp_descriptor(), name, value);
310 }
311 enum HingeLossParameter_Norm {
312   HingeLossParameter_Norm_L1 = 1,
313   HingeLossParameter_Norm_L2 = 2
314 };
315 bool HingeLossParameter_Norm_IsValid(int value);
316 const HingeLossParameter_Norm HingeLossParameter_Norm_Norm_MIN = HingeLossParameter_Norm_L1;
317 const HingeLossParameter_Norm HingeLossParameter_Norm_Norm_MAX = HingeLossParameter_Norm_L2;
318 const int HingeLossParameter_Norm_Norm_ARRAYSIZE = HingeLossParameter_Norm_Norm_MAX + 1;
319
320 const ::google::protobuf::EnumDescriptor* HingeLossParameter_Norm_descriptor();
321 inline const ::std::string& HingeLossParameter_Norm_Name(HingeLossParameter_Norm value) {
322   return ::google::protobuf::internal::NameOfEnum(
323     HingeLossParameter_Norm_descriptor(), value);
324 }
325 inline bool HingeLossParameter_Norm_Parse(
326     const ::std::string& name, HingeLossParameter_Norm* value) {
327   return ::google::protobuf::internal::ParseNamedEnum<HingeLossParameter_Norm>(
328     HingeLossParameter_Norm_descriptor(), name, value);
329 }
330 enum LRNParameter_NormRegion {
331   LRNParameter_NormRegion_ACROSS_CHANNELS = 0,
332   LRNParameter_NormRegion_WITHIN_CHANNEL = 1
333 };
334 bool LRNParameter_NormRegion_IsValid(int value);
335 const LRNParameter_NormRegion LRNParameter_NormRegion_NormRegion_MIN = LRNParameter_NormRegion_ACROSS_CHANNELS;
336 const LRNParameter_NormRegion LRNParameter_NormRegion_NormRegion_MAX = LRNParameter_NormRegion_WITHIN_CHANNEL;
337 const int LRNParameter_NormRegion_NormRegion_ARRAYSIZE = LRNParameter_NormRegion_NormRegion_MAX + 1;
338
339 const ::google::protobuf::EnumDescriptor* LRNParameter_NormRegion_descriptor();
340 inline const ::std::string& LRNParameter_NormRegion_Name(LRNParameter_NormRegion value) {
341   return ::google::protobuf::internal::NameOfEnum(
342     LRNParameter_NormRegion_descriptor(), value);
343 }
344 inline bool LRNParameter_NormRegion_Parse(
345     const ::std::string& name, LRNParameter_NormRegion* value) {
346   return ::google::protobuf::internal::ParseNamedEnum<LRNParameter_NormRegion>(
347     LRNParameter_NormRegion_descriptor(), name, value);
348 }
349 enum LRNParameter_Engine {
350   LRNParameter_Engine_DEFAULT = 0,
351   LRNParameter_Engine_CAFFE = 1,
352   LRNParameter_Engine_CUDNN = 2
353 };
354 bool LRNParameter_Engine_IsValid(int value);
355 const LRNParameter_Engine LRNParameter_Engine_Engine_MIN = LRNParameter_Engine_DEFAULT;
356 const LRNParameter_Engine LRNParameter_Engine_Engine_MAX = LRNParameter_Engine_CUDNN;
357 const int LRNParameter_Engine_Engine_ARRAYSIZE = LRNParameter_Engine_Engine_MAX + 1;
358
359 const ::google::protobuf::EnumDescriptor* LRNParameter_Engine_descriptor();
360 inline const ::std::string& LRNParameter_Engine_Name(LRNParameter_Engine value) {
361   return ::google::protobuf::internal::NameOfEnum(
362     LRNParameter_Engine_descriptor(), value);
363 }
364 inline bool LRNParameter_Engine_Parse(
365     const ::std::string& name, LRNParameter_Engine* value) {
366   return ::google::protobuf::internal::ParseNamedEnum<LRNParameter_Engine>(
367     LRNParameter_Engine_descriptor(), name, value);
368 }
369 enum PoolingParameter_PoolMethod {
370   PoolingParameter_PoolMethod_MAX = 0,
371   PoolingParameter_PoolMethod_AVE = 1,
372   PoolingParameter_PoolMethod_STOCHASTIC = 2
373 };
374 bool PoolingParameter_PoolMethod_IsValid(int value);
375 const PoolingParameter_PoolMethod PoolingParameter_PoolMethod_PoolMethod_MIN = PoolingParameter_PoolMethod_MAX;
376 const PoolingParameter_PoolMethod PoolingParameter_PoolMethod_PoolMethod_MAX = PoolingParameter_PoolMethod_STOCHASTIC;
377 const int PoolingParameter_PoolMethod_PoolMethod_ARRAYSIZE = PoolingParameter_PoolMethod_PoolMethod_MAX + 1;
378
379 const ::google::protobuf::EnumDescriptor* PoolingParameter_PoolMethod_descriptor();
380 inline const ::std::string& PoolingParameter_PoolMethod_Name(PoolingParameter_PoolMethod value) {
381   return ::google::protobuf::internal::NameOfEnum(
382     PoolingParameter_PoolMethod_descriptor(), value);
383 }
384 inline bool PoolingParameter_PoolMethod_Parse(
385     const ::std::string& name, PoolingParameter_PoolMethod* value) {
386   return ::google::protobuf::internal::ParseNamedEnum<PoolingParameter_PoolMethod>(
387     PoolingParameter_PoolMethod_descriptor(), name, value);
388 }
389 enum PoolingParameter_Engine {
390   PoolingParameter_Engine_DEFAULT = 0,
391   PoolingParameter_Engine_CAFFE = 1,
392   PoolingParameter_Engine_CUDNN = 2
393 };
394 bool PoolingParameter_Engine_IsValid(int value);
395 const PoolingParameter_Engine PoolingParameter_Engine_Engine_MIN = PoolingParameter_Engine_DEFAULT;
396 const PoolingParameter_Engine PoolingParameter_Engine_Engine_MAX = PoolingParameter_Engine_CUDNN;
397 const int PoolingParameter_Engine_Engine_ARRAYSIZE = PoolingParameter_Engine_Engine_MAX + 1;
398
399 const ::google::protobuf::EnumDescriptor* PoolingParameter_Engine_descriptor();
400 inline const ::std::string& PoolingParameter_Engine_Name(PoolingParameter_Engine value) {
401   return ::google::protobuf::internal::NameOfEnum(
402     PoolingParameter_Engine_descriptor(), value);
403 }
404 inline bool PoolingParameter_Engine_Parse(
405     const ::std::string& name, PoolingParameter_Engine* value) {
406   return ::google::protobuf::internal::ParseNamedEnum<PoolingParameter_Engine>(
407     PoolingParameter_Engine_descriptor(), name, value);
408 }
409 enum ReductionParameter_ReductionOp {
410   ReductionParameter_ReductionOp_SUM = 1,
411   ReductionParameter_ReductionOp_ASUM = 2,
412   ReductionParameter_ReductionOp_SUMSQ = 3,
413   ReductionParameter_ReductionOp_MEAN = 4
414 };
415 bool ReductionParameter_ReductionOp_IsValid(int value);
416 const ReductionParameter_ReductionOp ReductionParameter_ReductionOp_ReductionOp_MIN = ReductionParameter_ReductionOp_SUM;
417 const ReductionParameter_ReductionOp ReductionParameter_ReductionOp_ReductionOp_MAX = ReductionParameter_ReductionOp_MEAN;
418 const int ReductionParameter_ReductionOp_ReductionOp_ARRAYSIZE = ReductionParameter_ReductionOp_ReductionOp_MAX + 1;
419
420 const ::google::protobuf::EnumDescriptor* ReductionParameter_ReductionOp_descriptor();
421 inline const ::std::string& ReductionParameter_ReductionOp_Name(ReductionParameter_ReductionOp value) {
422   return ::google::protobuf::internal::NameOfEnum(
423     ReductionParameter_ReductionOp_descriptor(), value);
424 }
425 inline bool ReductionParameter_ReductionOp_Parse(
426     const ::std::string& name, ReductionParameter_ReductionOp* value) {
427   return ::google::protobuf::internal::ParseNamedEnum<ReductionParameter_ReductionOp>(
428     ReductionParameter_ReductionOp_descriptor(), name, value);
429 }
430 enum ReLUParameter_Engine {
431   ReLUParameter_Engine_DEFAULT = 0,
432   ReLUParameter_Engine_CAFFE = 1,
433   ReLUParameter_Engine_CUDNN = 2
434 };
435 bool ReLUParameter_Engine_IsValid(int value);
436 const ReLUParameter_Engine ReLUParameter_Engine_Engine_MIN = ReLUParameter_Engine_DEFAULT;
437 const ReLUParameter_Engine ReLUParameter_Engine_Engine_MAX = ReLUParameter_Engine_CUDNN;
438 const int ReLUParameter_Engine_Engine_ARRAYSIZE = ReLUParameter_Engine_Engine_MAX + 1;
439
440 const ::google::protobuf::EnumDescriptor* ReLUParameter_Engine_descriptor();
441 inline const ::std::string& ReLUParameter_Engine_Name(ReLUParameter_Engine value) {
442   return ::google::protobuf::internal::NameOfEnum(
443     ReLUParameter_Engine_descriptor(), value);
444 }
445 inline bool ReLUParameter_Engine_Parse(
446     const ::std::string& name, ReLUParameter_Engine* value) {
447   return ::google::protobuf::internal::ParseNamedEnum<ReLUParameter_Engine>(
448     ReLUParameter_Engine_descriptor(), name, value);
449 }
450 enum SigmoidParameter_Engine {
451   SigmoidParameter_Engine_DEFAULT = 0,
452   SigmoidParameter_Engine_CAFFE = 1,
453   SigmoidParameter_Engine_CUDNN = 2
454 };
455 bool SigmoidParameter_Engine_IsValid(int value);
456 const SigmoidParameter_Engine SigmoidParameter_Engine_Engine_MIN = SigmoidParameter_Engine_DEFAULT;
457 const SigmoidParameter_Engine SigmoidParameter_Engine_Engine_MAX = SigmoidParameter_Engine_CUDNN;
458 const int SigmoidParameter_Engine_Engine_ARRAYSIZE = SigmoidParameter_Engine_Engine_MAX + 1;
459
460 const ::google::protobuf::EnumDescriptor* SigmoidParameter_Engine_descriptor();
461 inline const ::std::string& SigmoidParameter_Engine_Name(SigmoidParameter_Engine value) {
462   return ::google::protobuf::internal::NameOfEnum(
463     SigmoidParameter_Engine_descriptor(), value);
464 }
465 inline bool SigmoidParameter_Engine_Parse(
466     const ::std::string& name, SigmoidParameter_Engine* value) {
467   return ::google::protobuf::internal::ParseNamedEnum<SigmoidParameter_Engine>(
468     SigmoidParameter_Engine_descriptor(), name, value);
469 }
470 enum SoftmaxParameter_Engine {
471   SoftmaxParameter_Engine_DEFAULT = 0,
472   SoftmaxParameter_Engine_CAFFE = 1,
473   SoftmaxParameter_Engine_CUDNN = 2
474 };
475 bool SoftmaxParameter_Engine_IsValid(int value);
476 const SoftmaxParameter_Engine SoftmaxParameter_Engine_Engine_MIN = SoftmaxParameter_Engine_DEFAULT;
477 const SoftmaxParameter_Engine SoftmaxParameter_Engine_Engine_MAX = SoftmaxParameter_Engine_CUDNN;
478 const int SoftmaxParameter_Engine_Engine_ARRAYSIZE = SoftmaxParameter_Engine_Engine_MAX + 1;
479
480 const ::google::protobuf::EnumDescriptor* SoftmaxParameter_Engine_descriptor();
481 inline const ::std::string& SoftmaxParameter_Engine_Name(SoftmaxParameter_Engine value) {
482   return ::google::protobuf::internal::NameOfEnum(
483     SoftmaxParameter_Engine_descriptor(), value);
484 }
485 inline bool SoftmaxParameter_Engine_Parse(
486     const ::std::string& name, SoftmaxParameter_Engine* value) {
487   return ::google::protobuf::internal::ParseNamedEnum<SoftmaxParameter_Engine>(
488     SoftmaxParameter_Engine_descriptor(), name, value);
489 }
490 enum TanHParameter_Engine {
491   TanHParameter_Engine_DEFAULT = 0,
492   TanHParameter_Engine_CAFFE = 1,
493   TanHParameter_Engine_CUDNN = 2
494 };
495 bool TanHParameter_Engine_IsValid(int value);
496 const TanHParameter_Engine TanHParameter_Engine_Engine_MIN = TanHParameter_Engine_DEFAULT;
497 const TanHParameter_Engine TanHParameter_Engine_Engine_MAX = TanHParameter_Engine_CUDNN;
498 const int TanHParameter_Engine_Engine_ARRAYSIZE = TanHParameter_Engine_Engine_MAX + 1;
499
500 const ::google::protobuf::EnumDescriptor* TanHParameter_Engine_descriptor();
501 inline const ::std::string& TanHParameter_Engine_Name(TanHParameter_Engine value) {
502   return ::google::protobuf::internal::NameOfEnum(
503     TanHParameter_Engine_descriptor(), value);
504 }
505 inline bool TanHParameter_Engine_Parse(
506     const ::std::string& name, TanHParameter_Engine* value) {
507   return ::google::protobuf::internal::ParseNamedEnum<TanHParameter_Engine>(
508     TanHParameter_Engine_descriptor(), name, value);
509 }
510 enum SPPParameter_PoolMethod {
511   SPPParameter_PoolMethod_MAX = 0,
512   SPPParameter_PoolMethod_AVE = 1,
513   SPPParameter_PoolMethod_STOCHASTIC = 2
514 };
515 bool SPPParameter_PoolMethod_IsValid(int value);
516 const SPPParameter_PoolMethod SPPParameter_PoolMethod_PoolMethod_MIN = SPPParameter_PoolMethod_MAX;
517 const SPPParameter_PoolMethod SPPParameter_PoolMethod_PoolMethod_MAX = SPPParameter_PoolMethod_STOCHASTIC;
518 const int SPPParameter_PoolMethod_PoolMethod_ARRAYSIZE = SPPParameter_PoolMethod_PoolMethod_MAX + 1;
519
520 const ::google::protobuf::EnumDescriptor* SPPParameter_PoolMethod_descriptor();
521 inline const ::std::string& SPPParameter_PoolMethod_Name(SPPParameter_PoolMethod value) {
522   return ::google::protobuf::internal::NameOfEnum(
523     SPPParameter_PoolMethod_descriptor(), value);
524 }
525 inline bool SPPParameter_PoolMethod_Parse(
526     const ::std::string& name, SPPParameter_PoolMethod* value) {
527   return ::google::protobuf::internal::ParseNamedEnum<SPPParameter_PoolMethod>(
528     SPPParameter_PoolMethod_descriptor(), name, value);
529 }
530 enum SPPParameter_Engine {
531   SPPParameter_Engine_DEFAULT = 0,
532   SPPParameter_Engine_CAFFE = 1,
533   SPPParameter_Engine_CUDNN = 2
534 };
535 bool SPPParameter_Engine_IsValid(int value);
536 const SPPParameter_Engine SPPParameter_Engine_Engine_MIN = SPPParameter_Engine_DEFAULT;
537 const SPPParameter_Engine SPPParameter_Engine_Engine_MAX = SPPParameter_Engine_CUDNN;
538 const int SPPParameter_Engine_Engine_ARRAYSIZE = SPPParameter_Engine_Engine_MAX + 1;
539
540 const ::google::protobuf::EnumDescriptor* SPPParameter_Engine_descriptor();
541 inline const ::std::string& SPPParameter_Engine_Name(SPPParameter_Engine value) {
542   return ::google::protobuf::internal::NameOfEnum(
543     SPPParameter_Engine_descriptor(), value);
544 }
545 inline bool SPPParameter_Engine_Parse(
546     const ::std::string& name, SPPParameter_Engine* value) {
547   return ::google::protobuf::internal::ParseNamedEnum<SPPParameter_Engine>(
548     SPPParameter_Engine_descriptor(), name, value);
549 }
550 enum V1LayerParameter_LayerType {
551   V1LayerParameter_LayerType_NONE = 0,
552   V1LayerParameter_LayerType_ABSVAL = 35,
553   V1LayerParameter_LayerType_ACCURACY = 1,
554   V1LayerParameter_LayerType_ARGMAX = 30,
555   V1LayerParameter_LayerType_BNLL = 2,
556   V1LayerParameter_LayerType_CONCAT = 3,
557   V1LayerParameter_LayerType_CONTRASTIVE_LOSS = 37,
558   V1LayerParameter_LayerType_CONVOLUTION = 4,
559   V1LayerParameter_LayerType_DATA = 5,
560   V1LayerParameter_LayerType_DECONVOLUTION = 39,
561   V1LayerParameter_LayerType_DROPOUT = 6,
562   V1LayerParameter_LayerType_DUMMY_DATA = 32,
563   V1LayerParameter_LayerType_EUCLIDEAN_LOSS = 7,
564   V1LayerParameter_LayerType_ELTWISE = 25,
565   V1LayerParameter_LayerType_EXP = 38,
566   V1LayerParameter_LayerType_FLATTEN = 8,
567   V1LayerParameter_LayerType_HDF5_DATA = 9,
568   V1LayerParameter_LayerType_HDF5_OUTPUT = 10,
569   V1LayerParameter_LayerType_HINGE_LOSS = 28,
570   V1LayerParameter_LayerType_IM2COL = 11,
571   V1LayerParameter_LayerType_IMAGE_DATA = 12,
572   V1LayerParameter_LayerType_INFOGAIN_LOSS = 13,
573   V1LayerParameter_LayerType_INNER_PRODUCT = 14,
574   V1LayerParameter_LayerType_LRN = 15,
575   V1LayerParameter_LayerType_MEMORY_DATA = 29,
576   V1LayerParameter_LayerType_MULTINOMIAL_LOGISTIC_LOSS = 16,
577   V1LayerParameter_LayerType_MVN = 34,
578   V1LayerParameter_LayerType_POOLING = 17,
579   V1LayerParameter_LayerType_POWER = 26,
580   V1LayerParameter_LayerType_RELU = 18,
581   V1LayerParameter_LayerType_SIGMOID = 19,
582   V1LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS = 27,
583   V1LayerParameter_LayerType_SILENCE = 36,
584   V1LayerParameter_LayerType_SOFTMAX = 20,
585   V1LayerParameter_LayerType_SOFTMAX_LOSS = 21,
586   V1LayerParameter_LayerType_SPLIT = 22,
587   V1LayerParameter_LayerType_SLICE = 33,
588   V1LayerParameter_LayerType_TANH = 23,
589   V1LayerParameter_LayerType_WINDOW_DATA = 24,
590   V1LayerParameter_LayerType_THRESHOLD = 31
591 };
592 bool V1LayerParameter_LayerType_IsValid(int value);
593 const V1LayerParameter_LayerType V1LayerParameter_LayerType_LayerType_MIN = V1LayerParameter_LayerType_NONE;
594 const V1LayerParameter_LayerType V1LayerParameter_LayerType_LayerType_MAX = V1LayerParameter_LayerType_DECONVOLUTION;
595 const int V1LayerParameter_LayerType_LayerType_ARRAYSIZE = V1LayerParameter_LayerType_LayerType_MAX + 1;
596
597 const ::google::protobuf::EnumDescriptor* V1LayerParameter_LayerType_descriptor();
598 inline const ::std::string& V1LayerParameter_LayerType_Name(V1LayerParameter_LayerType value) {
599   return ::google::protobuf::internal::NameOfEnum(
600     V1LayerParameter_LayerType_descriptor(), value);
601 }
602 inline bool V1LayerParameter_LayerType_Parse(
603     const ::std::string& name, V1LayerParameter_LayerType* value) {
604   return ::google::protobuf::internal::ParseNamedEnum<V1LayerParameter_LayerType>(
605     V1LayerParameter_LayerType_descriptor(), name, value);
606 }
607 enum V1LayerParameter_DimCheckMode {
608   V1LayerParameter_DimCheckMode_STRICT = 0,
609   V1LayerParameter_DimCheckMode_PERMISSIVE = 1
610 };
611 bool V1LayerParameter_DimCheckMode_IsValid(int value);
612 const V1LayerParameter_DimCheckMode V1LayerParameter_DimCheckMode_DimCheckMode_MIN = V1LayerParameter_DimCheckMode_STRICT;
613 const V1LayerParameter_DimCheckMode V1LayerParameter_DimCheckMode_DimCheckMode_MAX = V1LayerParameter_DimCheckMode_PERMISSIVE;
614 const int V1LayerParameter_DimCheckMode_DimCheckMode_ARRAYSIZE = V1LayerParameter_DimCheckMode_DimCheckMode_MAX + 1;
615
616 const ::google::protobuf::EnumDescriptor* V1LayerParameter_DimCheckMode_descriptor();
617 inline const ::std::string& V1LayerParameter_DimCheckMode_Name(V1LayerParameter_DimCheckMode value) {
618   return ::google::protobuf::internal::NameOfEnum(
619     V1LayerParameter_DimCheckMode_descriptor(), value);
620 }
621 inline bool V1LayerParameter_DimCheckMode_Parse(
622     const ::std::string& name, V1LayerParameter_DimCheckMode* value) {
623   return ::google::protobuf::internal::ParseNamedEnum<V1LayerParameter_DimCheckMode>(
624     V1LayerParameter_DimCheckMode_descriptor(), name, value);
625 }
626 enum V0LayerParameter_PoolMethod {
627   V0LayerParameter_PoolMethod_MAX = 0,
628   V0LayerParameter_PoolMethod_AVE = 1,
629   V0LayerParameter_PoolMethod_STOCHASTIC = 2
630 };
631 bool V0LayerParameter_PoolMethod_IsValid(int value);
632 const V0LayerParameter_PoolMethod V0LayerParameter_PoolMethod_PoolMethod_MIN = V0LayerParameter_PoolMethod_MAX;
633 const V0LayerParameter_PoolMethod V0LayerParameter_PoolMethod_PoolMethod_MAX = V0LayerParameter_PoolMethod_STOCHASTIC;
634 const int V0LayerParameter_PoolMethod_PoolMethod_ARRAYSIZE = V0LayerParameter_PoolMethod_PoolMethod_MAX + 1;
635
636 const ::google::protobuf::EnumDescriptor* V0LayerParameter_PoolMethod_descriptor();
637 inline const ::std::string& V0LayerParameter_PoolMethod_Name(V0LayerParameter_PoolMethod value) {
638   return ::google::protobuf::internal::NameOfEnum(
639     V0LayerParameter_PoolMethod_descriptor(), value);
640 }
641 inline bool V0LayerParameter_PoolMethod_Parse(
642     const ::std::string& name, V0LayerParameter_PoolMethod* value) {
643   return ::google::protobuf::internal::ParseNamedEnum<V0LayerParameter_PoolMethod>(
644     V0LayerParameter_PoolMethod_descriptor(), name, value);
645 }
646 enum Type {
647   DOUBLE = 0,
648   FLOAT = 1,
649   FLOAT16 = 2,
650   INT = 3,
651   UINT = 4
652 };
653 bool Type_IsValid(int value);
654 const Type Type_MIN = DOUBLE;
655 const Type Type_MAX = UINT;
656 const int Type_ARRAYSIZE = Type_MAX + 1;
657
658 const ::google::protobuf::EnumDescriptor* Type_descriptor();
659 inline const ::std::string& Type_Name(Type value) {
660   return ::google::protobuf::internal::NameOfEnum(
661     Type_descriptor(), value);
662 }
663 inline bool Type_Parse(
664     const ::std::string& name, Type* value) {
665   return ::google::protobuf::internal::ParseNamedEnum<Type>(
666     Type_descriptor(), name, value);
667 }
668 enum Phase {
669   TRAIN = 0,
670   TEST = 1
671 };
672 bool Phase_IsValid(int value);
673 const Phase Phase_MIN = TRAIN;
674 const Phase Phase_MAX = TEST;
675 const int Phase_ARRAYSIZE = Phase_MAX + 1;
676
677 const ::google::protobuf::EnumDescriptor* Phase_descriptor();
678 inline const ::std::string& Phase_Name(Phase value) {
679   return ::google::protobuf::internal::NameOfEnum(
680     Phase_descriptor(), value);
681 }
682 inline bool Phase_Parse(
683     const ::std::string& name, Phase* value) {
684   return ::google::protobuf::internal::ParseNamedEnum<Phase>(
685     Phase_descriptor(), name, value);
686 }
687 // ===================================================================
688
689 class BlobShape : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BlobShape) */ {
690  public:
691   BlobShape();
692   virtual ~BlobShape();
693
694   BlobShape(const BlobShape& from);
695
696   inline BlobShape& operator=(const BlobShape& from) {
697     CopyFrom(from);
698     return *this;
699   }
700
701   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
702     return _internal_metadata_.unknown_fields();
703   }
704
705   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
706     return _internal_metadata_.mutable_unknown_fields();
707   }
708
709   static const ::google::protobuf::Descriptor* descriptor();
710   static const BlobShape& default_instance();
711
712   static const BlobShape* internal_default_instance();
713
714   void Swap(BlobShape* other);
715
716   // implements Message ----------------------------------------------
717
718   inline BlobShape* New() const { return New(NULL); }
719
720   BlobShape* New(::google::protobuf::Arena* arena) const;
721   void CopyFrom(const ::google::protobuf::Message& from);
722   void MergeFrom(const ::google::protobuf::Message& from);
723   void CopyFrom(const BlobShape& from);
724   void MergeFrom(const BlobShape& from);
725   void Clear();
726   bool IsInitialized() const;
727
728   size_t ByteSizeLong() const;
729   bool MergePartialFromCodedStream(
730       ::google::protobuf::io::CodedInputStream* input);
731   void SerializeWithCachedSizes(
732       ::google::protobuf::io::CodedOutputStream* output) const;
733   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
734       bool deterministic, ::google::protobuf::uint8* output) const;
735   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
736     return InternalSerializeWithCachedSizesToArray(false, output);
737   }
738   int GetCachedSize() const { return _cached_size_; }
739   private:
740   void SharedCtor();
741   void SharedDtor();
742   void SetCachedSize(int size) const;
743   void InternalSwap(BlobShape* other);
744   void UnsafeMergeFrom(const BlobShape& from);
745   private:
746   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
747     return _internal_metadata_.arena();
748   }
749   inline void* MaybeArenaPtr() const {
750     return _internal_metadata_.raw_arena_ptr();
751   }
752   public:
753
754   ::google::protobuf::Metadata GetMetadata() const;
755
756   // nested types ----------------------------------------------------
757
758   // accessors -------------------------------------------------------
759
760   // repeated int64 dim = 1 [packed = true];
761   int dim_size() const;
762   void clear_dim();
763   static const int kDimFieldNumber = 1;
764   ::google::protobuf::int64 dim(int index) const;
765   void set_dim(int index, ::google::protobuf::int64 value);
766   void add_dim(::google::protobuf::int64 value);
767   const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
768       dim() const;
769   ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
770       mutable_dim();
771
772   // @@protoc_insertion_point(class_scope:opencv_caffe.BlobShape)
773  private:
774
775   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
776   ::google::protobuf::internal::HasBits<1> _has_bits_;
777   mutable int _cached_size_;
778   ::google::protobuf::RepeatedField< ::google::protobuf::int64 > dim_;
779   mutable int _dim_cached_byte_size_;
780   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
781   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
782   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
783   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
784
785   void InitAsDefaultInstance();
786 };
787 extern ::google::protobuf::internal::ExplicitlyConstructed<BlobShape> BlobShape_default_instance_;
788
789 // -------------------------------------------------------------------
790
791 class BlobProto : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BlobProto) */ {
792  public:
793   BlobProto();
794   virtual ~BlobProto();
795
796   BlobProto(const BlobProto& from);
797
798   inline BlobProto& operator=(const BlobProto& from) {
799     CopyFrom(from);
800     return *this;
801   }
802
803   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
804     return _internal_metadata_.unknown_fields();
805   }
806
807   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
808     return _internal_metadata_.mutable_unknown_fields();
809   }
810
811   static const ::google::protobuf::Descriptor* descriptor();
812   static const BlobProto& default_instance();
813
814   static const BlobProto* internal_default_instance();
815
816   void Swap(BlobProto* other);
817
818   // implements Message ----------------------------------------------
819
820   inline BlobProto* New() const { return New(NULL); }
821
822   BlobProto* New(::google::protobuf::Arena* arena) const;
823   void CopyFrom(const ::google::protobuf::Message& from);
824   void MergeFrom(const ::google::protobuf::Message& from);
825   void CopyFrom(const BlobProto& from);
826   void MergeFrom(const BlobProto& from);
827   void Clear();
828   bool IsInitialized() const;
829
830   size_t ByteSizeLong() const;
831   bool MergePartialFromCodedStream(
832       ::google::protobuf::io::CodedInputStream* input);
833   void SerializeWithCachedSizes(
834       ::google::protobuf::io::CodedOutputStream* output) const;
835   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
836       bool deterministic, ::google::protobuf::uint8* output) const;
837   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
838     return InternalSerializeWithCachedSizesToArray(false, output);
839   }
840   int GetCachedSize() const { return _cached_size_; }
841   private:
842   void SharedCtor();
843   void SharedDtor();
844   void SetCachedSize(int size) const;
845   void InternalSwap(BlobProto* other);
846   void UnsafeMergeFrom(const BlobProto& from);
847   private:
848   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
849     return _internal_metadata_.arena();
850   }
851   inline void* MaybeArenaPtr() const {
852     return _internal_metadata_.raw_arena_ptr();
853   }
854   public:
855
856   ::google::protobuf::Metadata GetMetadata() const;
857
858   // nested types ----------------------------------------------------
859
860   // accessors -------------------------------------------------------
861
862   // optional .opencv_caffe.BlobShape shape = 7;
863   bool has_shape() const;
864   void clear_shape();
865   static const int kShapeFieldNumber = 7;
866   const ::opencv_caffe::BlobShape& shape() const;
867   ::opencv_caffe::BlobShape* mutable_shape();
868   ::opencv_caffe::BlobShape* release_shape();
869   void set_allocated_shape(::opencv_caffe::BlobShape* shape);
870
871   // repeated float data = 5 [packed = true];
872   int data_size() const;
873   void clear_data();
874   static const int kDataFieldNumber = 5;
875   float data(int index) const;
876   void set_data(int index, float value);
877   void add_data(float value);
878   const ::google::protobuf::RepeatedField< float >&
879       data() const;
880   ::google::protobuf::RepeatedField< float >*
881       mutable_data();
882
883   // repeated float diff = 6 [packed = true];
884   int diff_size() const;
885   void clear_diff();
886   static const int kDiffFieldNumber = 6;
887   float diff(int index) const;
888   void set_diff(int index, float value);
889   void add_diff(float value);
890   const ::google::protobuf::RepeatedField< float >&
891       diff() const;
892   ::google::protobuf::RepeatedField< float >*
893       mutable_diff();
894
895   // repeated double double_data = 8 [packed = true];
896   int double_data_size() const;
897   void clear_double_data();
898   static const int kDoubleDataFieldNumber = 8;
899   double double_data(int index) const;
900   void set_double_data(int index, double value);
901   void add_double_data(double value);
902   const ::google::protobuf::RepeatedField< double >&
903       double_data() const;
904   ::google::protobuf::RepeatedField< double >*
905       mutable_double_data();
906
907   // repeated double double_diff = 9 [packed = true];
908   int double_diff_size() const;
909   void clear_double_diff();
910   static const int kDoubleDiffFieldNumber = 9;
911   double double_diff(int index) const;
912   void set_double_diff(int index, double value);
913   void add_double_diff(double value);
914   const ::google::protobuf::RepeatedField< double >&
915       double_diff() const;
916   ::google::protobuf::RepeatedField< double >*
917       mutable_double_diff();
918
919   // optional .opencv_caffe.Type raw_data_type = 10;
920   bool has_raw_data_type() const;
921   void clear_raw_data_type();
922   static const int kRawDataTypeFieldNumber = 10;
923   ::opencv_caffe::Type raw_data_type() const;
924   void set_raw_data_type(::opencv_caffe::Type value);
925
926   // optional bytes raw_data = 12 [packed = false];
927   bool has_raw_data() const;
928   void clear_raw_data();
929   static const int kRawDataFieldNumber = 12;
930   const ::std::string& raw_data() const;
931   void set_raw_data(const ::std::string& value);
932   void set_raw_data(const char* value);
933   void set_raw_data(const void* value, size_t size);
934   ::std::string* mutable_raw_data();
935   ::std::string* release_raw_data();
936   void set_allocated_raw_data(::std::string* raw_data);
937
938   // optional int32 num = 1 [default = 0];
939   bool has_num() const;
940   void clear_num();
941   static const int kNumFieldNumber = 1;
942   ::google::protobuf::int32 num() const;
943   void set_num(::google::protobuf::int32 value);
944
945   // optional int32 channels = 2 [default = 0];
946   bool has_channels() const;
947   void clear_channels();
948   static const int kChannelsFieldNumber = 2;
949   ::google::protobuf::int32 channels() const;
950   void set_channels(::google::protobuf::int32 value);
951
952   // optional int32 height = 3 [default = 0];
953   bool has_height() const;
954   void clear_height();
955   static const int kHeightFieldNumber = 3;
956   ::google::protobuf::int32 height() const;
957   void set_height(::google::protobuf::int32 value);
958
959   // optional int32 width = 4 [default = 0];
960   bool has_width() const;
961   void clear_width();
962   static const int kWidthFieldNumber = 4;
963   ::google::protobuf::int32 width() const;
964   void set_width(::google::protobuf::int32 value);
965
966   // @@protoc_insertion_point(class_scope:opencv_caffe.BlobProto)
967  private:
968   inline void set_has_shape();
969   inline void clear_has_shape();
970   inline void set_has_raw_data_type();
971   inline void clear_has_raw_data_type();
972   inline void set_has_raw_data();
973   inline void clear_has_raw_data();
974   inline void set_has_num();
975   inline void clear_has_num();
976   inline void set_has_channels();
977   inline void clear_has_channels();
978   inline void set_has_height();
979   inline void clear_has_height();
980   inline void set_has_width();
981   inline void clear_has_width();
982
983   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
984   ::google::protobuf::internal::HasBits<1> _has_bits_;
985   mutable int _cached_size_;
986   ::google::protobuf::RepeatedField< float > data_;
987   mutable int _data_cached_byte_size_;
988   ::google::protobuf::RepeatedField< float > diff_;
989   mutable int _diff_cached_byte_size_;
990   ::google::protobuf::RepeatedField< double > double_data_;
991   mutable int _double_data_cached_byte_size_;
992   ::google::protobuf::RepeatedField< double > double_diff_;
993   mutable int _double_diff_cached_byte_size_;
994   ::google::protobuf::internal::ArenaStringPtr raw_data_;
995   ::opencv_caffe::BlobShape* shape_;
996   int raw_data_type_;
997   ::google::protobuf::int32 num_;
998   ::google::protobuf::int32 channels_;
999   ::google::protobuf::int32 height_;
1000   ::google::protobuf::int32 width_;
1001   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1002   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1003   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1004   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1005
1006   void InitAsDefaultInstance();
1007 };
1008 extern ::google::protobuf::internal::ExplicitlyConstructed<BlobProto> BlobProto_default_instance_;
1009
1010 // -------------------------------------------------------------------
1011
1012 class BlobProtoVector : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BlobProtoVector) */ {
1013  public:
1014   BlobProtoVector();
1015   virtual ~BlobProtoVector();
1016
1017   BlobProtoVector(const BlobProtoVector& from);
1018
1019   inline BlobProtoVector& operator=(const BlobProtoVector& from) {
1020     CopyFrom(from);
1021     return *this;
1022   }
1023
1024   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1025     return _internal_metadata_.unknown_fields();
1026   }
1027
1028   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1029     return _internal_metadata_.mutable_unknown_fields();
1030   }
1031
1032   static const ::google::protobuf::Descriptor* descriptor();
1033   static const BlobProtoVector& default_instance();
1034
1035   static const BlobProtoVector* internal_default_instance();
1036
1037   void Swap(BlobProtoVector* other);
1038
1039   // implements Message ----------------------------------------------
1040
1041   inline BlobProtoVector* New() const { return New(NULL); }
1042
1043   BlobProtoVector* New(::google::protobuf::Arena* arena) const;
1044   void CopyFrom(const ::google::protobuf::Message& from);
1045   void MergeFrom(const ::google::protobuf::Message& from);
1046   void CopyFrom(const BlobProtoVector& from);
1047   void MergeFrom(const BlobProtoVector& from);
1048   void Clear();
1049   bool IsInitialized() const;
1050
1051   size_t ByteSizeLong() const;
1052   bool MergePartialFromCodedStream(
1053       ::google::protobuf::io::CodedInputStream* input);
1054   void SerializeWithCachedSizes(
1055       ::google::protobuf::io::CodedOutputStream* output) const;
1056   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1057       bool deterministic, ::google::protobuf::uint8* output) const;
1058   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1059     return InternalSerializeWithCachedSizesToArray(false, output);
1060   }
1061   int GetCachedSize() const { return _cached_size_; }
1062   private:
1063   void SharedCtor();
1064   void SharedDtor();
1065   void SetCachedSize(int size) const;
1066   void InternalSwap(BlobProtoVector* other);
1067   void UnsafeMergeFrom(const BlobProtoVector& from);
1068   private:
1069   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1070     return _internal_metadata_.arena();
1071   }
1072   inline void* MaybeArenaPtr() const {
1073     return _internal_metadata_.raw_arena_ptr();
1074   }
1075   public:
1076
1077   ::google::protobuf::Metadata GetMetadata() const;
1078
1079   // nested types ----------------------------------------------------
1080
1081   // accessors -------------------------------------------------------
1082
1083   // repeated .opencv_caffe.BlobProto blobs = 1;
1084   int blobs_size() const;
1085   void clear_blobs();
1086   static const int kBlobsFieldNumber = 1;
1087   const ::opencv_caffe::BlobProto& blobs(int index) const;
1088   ::opencv_caffe::BlobProto* mutable_blobs(int index);
1089   ::opencv_caffe::BlobProto* add_blobs();
1090   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
1091       mutable_blobs();
1092   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
1093       blobs() const;
1094
1095   // @@protoc_insertion_point(class_scope:opencv_caffe.BlobProtoVector)
1096  private:
1097
1098   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1099   ::google::protobuf::internal::HasBits<1> _has_bits_;
1100   mutable int _cached_size_;
1101   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
1102   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1103   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1104   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1105   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1106
1107   void InitAsDefaultInstance();
1108 };
1109 extern ::google::protobuf::internal::ExplicitlyConstructed<BlobProtoVector> BlobProtoVector_default_instance_;
1110
1111 // -------------------------------------------------------------------
1112
1113 class PermuteParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PermuteParameter) */ {
1114  public:
1115   PermuteParameter();
1116   virtual ~PermuteParameter();
1117
1118   PermuteParameter(const PermuteParameter& from);
1119
1120   inline PermuteParameter& operator=(const PermuteParameter& from) {
1121     CopyFrom(from);
1122     return *this;
1123   }
1124
1125   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1126     return _internal_metadata_.unknown_fields();
1127   }
1128
1129   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1130     return _internal_metadata_.mutable_unknown_fields();
1131   }
1132
1133   static const ::google::protobuf::Descriptor* descriptor();
1134   static const PermuteParameter& default_instance();
1135
1136   static const PermuteParameter* internal_default_instance();
1137
1138   void Swap(PermuteParameter* other);
1139
1140   // implements Message ----------------------------------------------
1141
1142   inline PermuteParameter* New() const { return New(NULL); }
1143
1144   PermuteParameter* New(::google::protobuf::Arena* arena) const;
1145   void CopyFrom(const ::google::protobuf::Message& from);
1146   void MergeFrom(const ::google::protobuf::Message& from);
1147   void CopyFrom(const PermuteParameter& from);
1148   void MergeFrom(const PermuteParameter& from);
1149   void Clear();
1150   bool IsInitialized() const;
1151
1152   size_t ByteSizeLong() const;
1153   bool MergePartialFromCodedStream(
1154       ::google::protobuf::io::CodedInputStream* input);
1155   void SerializeWithCachedSizes(
1156       ::google::protobuf::io::CodedOutputStream* output) const;
1157   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1158       bool deterministic, ::google::protobuf::uint8* output) const;
1159   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1160     return InternalSerializeWithCachedSizesToArray(false, output);
1161   }
1162   int GetCachedSize() const { return _cached_size_; }
1163   private:
1164   void SharedCtor();
1165   void SharedDtor();
1166   void SetCachedSize(int size) const;
1167   void InternalSwap(PermuteParameter* other);
1168   void UnsafeMergeFrom(const PermuteParameter& from);
1169   private:
1170   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1171     return _internal_metadata_.arena();
1172   }
1173   inline void* MaybeArenaPtr() const {
1174     return _internal_metadata_.raw_arena_ptr();
1175   }
1176   public:
1177
1178   ::google::protobuf::Metadata GetMetadata() const;
1179
1180   // nested types ----------------------------------------------------
1181
1182   // accessors -------------------------------------------------------
1183
1184   // repeated uint32 order = 1;
1185   int order_size() const;
1186   void clear_order();
1187   static const int kOrderFieldNumber = 1;
1188   ::google::protobuf::uint32 order(int index) const;
1189   void set_order(int index, ::google::protobuf::uint32 value);
1190   void add_order(::google::protobuf::uint32 value);
1191   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
1192       order() const;
1193   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
1194       mutable_order();
1195
1196   // @@protoc_insertion_point(class_scope:opencv_caffe.PermuteParameter)
1197  private:
1198
1199   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1200   ::google::protobuf::internal::HasBits<1> _has_bits_;
1201   mutable int _cached_size_;
1202   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > order_;
1203   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1204   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1205   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1206   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1207
1208   void InitAsDefaultInstance();
1209 };
1210 extern ::google::protobuf::internal::ExplicitlyConstructed<PermuteParameter> PermuteParameter_default_instance_;
1211
1212 // -------------------------------------------------------------------
1213
1214 class NormalizeBBoxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NormalizeBBoxParameter) */ {
1215  public:
1216   NormalizeBBoxParameter();
1217   virtual ~NormalizeBBoxParameter();
1218
1219   NormalizeBBoxParameter(const NormalizeBBoxParameter& from);
1220
1221   inline NormalizeBBoxParameter& operator=(const NormalizeBBoxParameter& from) {
1222     CopyFrom(from);
1223     return *this;
1224   }
1225
1226   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1227     return _internal_metadata_.unknown_fields();
1228   }
1229
1230   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1231     return _internal_metadata_.mutable_unknown_fields();
1232   }
1233
1234   static const ::google::protobuf::Descriptor* descriptor();
1235   static const NormalizeBBoxParameter& default_instance();
1236
1237   static const NormalizeBBoxParameter* internal_default_instance();
1238
1239   void Swap(NormalizeBBoxParameter* other);
1240
1241   // implements Message ----------------------------------------------
1242
1243   inline NormalizeBBoxParameter* New() const { return New(NULL); }
1244
1245   NormalizeBBoxParameter* New(::google::protobuf::Arena* arena) const;
1246   void CopyFrom(const ::google::protobuf::Message& from);
1247   void MergeFrom(const ::google::protobuf::Message& from);
1248   void CopyFrom(const NormalizeBBoxParameter& from);
1249   void MergeFrom(const NormalizeBBoxParameter& from);
1250   void Clear();
1251   bool IsInitialized() const;
1252
1253   size_t ByteSizeLong() const;
1254   bool MergePartialFromCodedStream(
1255       ::google::protobuf::io::CodedInputStream* input);
1256   void SerializeWithCachedSizes(
1257       ::google::protobuf::io::CodedOutputStream* output) const;
1258   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1259       bool deterministic, ::google::protobuf::uint8* output) const;
1260   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1261     return InternalSerializeWithCachedSizesToArray(false, output);
1262   }
1263   int GetCachedSize() const { return _cached_size_; }
1264   private:
1265   void SharedCtor();
1266   void SharedDtor();
1267   void SetCachedSize(int size) const;
1268   void InternalSwap(NormalizeBBoxParameter* other);
1269   void UnsafeMergeFrom(const NormalizeBBoxParameter& from);
1270   private:
1271   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1272     return _internal_metadata_.arena();
1273   }
1274   inline void* MaybeArenaPtr() const {
1275     return _internal_metadata_.raw_arena_ptr();
1276   }
1277   public:
1278
1279   ::google::protobuf::Metadata GetMetadata() const;
1280
1281   // nested types ----------------------------------------------------
1282
1283   // accessors -------------------------------------------------------
1284
1285   // optional bool across_spatial = 1 [default = true];
1286   bool has_across_spatial() const;
1287   void clear_across_spatial();
1288   static const int kAcrossSpatialFieldNumber = 1;
1289   bool across_spatial() const;
1290   void set_across_spatial(bool value);
1291
1292   // optional .opencv_caffe.FillerParameter scale_filler = 2;
1293   bool has_scale_filler() const;
1294   void clear_scale_filler();
1295   static const int kScaleFillerFieldNumber = 2;
1296   const ::opencv_caffe::FillerParameter& scale_filler() const;
1297   ::opencv_caffe::FillerParameter* mutable_scale_filler();
1298   ::opencv_caffe::FillerParameter* release_scale_filler();
1299   void set_allocated_scale_filler(::opencv_caffe::FillerParameter* scale_filler);
1300
1301   // optional bool channel_shared = 3 [default = true];
1302   bool has_channel_shared() const;
1303   void clear_channel_shared();
1304   static const int kChannelSharedFieldNumber = 3;
1305   bool channel_shared() const;
1306   void set_channel_shared(bool value);
1307
1308   // optional float eps = 4 [default = 1e-10];
1309   bool has_eps() const;
1310   void clear_eps();
1311   static const int kEpsFieldNumber = 4;
1312   float eps() const;
1313   void set_eps(float value);
1314
1315   // @@protoc_insertion_point(class_scope:opencv_caffe.NormalizeBBoxParameter)
1316  private:
1317   inline void set_has_across_spatial();
1318   inline void clear_has_across_spatial();
1319   inline void set_has_scale_filler();
1320   inline void clear_has_scale_filler();
1321   inline void set_has_channel_shared();
1322   inline void clear_has_channel_shared();
1323   inline void set_has_eps();
1324   inline void clear_has_eps();
1325
1326   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1327   ::google::protobuf::internal::HasBits<1> _has_bits_;
1328   mutable int _cached_size_;
1329   ::opencv_caffe::FillerParameter* scale_filler_;
1330   bool across_spatial_;
1331   bool channel_shared_;
1332   float eps_;
1333   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1334   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1335   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1336   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1337
1338   void InitAsDefaultInstance();
1339 };
1340 extern ::google::protobuf::internal::ExplicitlyConstructed<NormalizeBBoxParameter> NormalizeBBoxParameter_default_instance_;
1341
1342 // -------------------------------------------------------------------
1343
1344 class PriorBoxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PriorBoxParameter) */ {
1345  public:
1346   PriorBoxParameter();
1347   virtual ~PriorBoxParameter();
1348
1349   PriorBoxParameter(const PriorBoxParameter& from);
1350
1351   inline PriorBoxParameter& operator=(const PriorBoxParameter& from) {
1352     CopyFrom(from);
1353     return *this;
1354   }
1355
1356   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1357     return _internal_metadata_.unknown_fields();
1358   }
1359
1360   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1361     return _internal_metadata_.mutable_unknown_fields();
1362   }
1363
1364   static const ::google::protobuf::Descriptor* descriptor();
1365   static const PriorBoxParameter& default_instance();
1366
1367   static const PriorBoxParameter* internal_default_instance();
1368
1369   void Swap(PriorBoxParameter* other);
1370
1371   // implements Message ----------------------------------------------
1372
1373   inline PriorBoxParameter* New() const { return New(NULL); }
1374
1375   PriorBoxParameter* New(::google::protobuf::Arena* arena) const;
1376   void CopyFrom(const ::google::protobuf::Message& from);
1377   void MergeFrom(const ::google::protobuf::Message& from);
1378   void CopyFrom(const PriorBoxParameter& from);
1379   void MergeFrom(const PriorBoxParameter& from);
1380   void Clear();
1381   bool IsInitialized() const;
1382
1383   size_t ByteSizeLong() const;
1384   bool MergePartialFromCodedStream(
1385       ::google::protobuf::io::CodedInputStream* input);
1386   void SerializeWithCachedSizes(
1387       ::google::protobuf::io::CodedOutputStream* output) const;
1388   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1389       bool deterministic, ::google::protobuf::uint8* output) const;
1390   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1391     return InternalSerializeWithCachedSizesToArray(false, output);
1392   }
1393   int GetCachedSize() const { return _cached_size_; }
1394   private:
1395   void SharedCtor();
1396   void SharedDtor();
1397   void SetCachedSize(int size) const;
1398   void InternalSwap(PriorBoxParameter* other);
1399   void UnsafeMergeFrom(const PriorBoxParameter& from);
1400   private:
1401   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1402     return _internal_metadata_.arena();
1403   }
1404   inline void* MaybeArenaPtr() const {
1405     return _internal_metadata_.raw_arena_ptr();
1406   }
1407   public:
1408
1409   ::google::protobuf::Metadata GetMetadata() const;
1410
1411   // nested types ----------------------------------------------------
1412
1413   typedef PriorBoxParameter_CodeType CodeType;
1414   static const CodeType CORNER =
1415     PriorBoxParameter_CodeType_CORNER;
1416   static const CodeType CENTER_SIZE =
1417     PriorBoxParameter_CodeType_CENTER_SIZE;
1418   static inline bool CodeType_IsValid(int value) {
1419     return PriorBoxParameter_CodeType_IsValid(value);
1420   }
1421   static const CodeType CodeType_MIN =
1422     PriorBoxParameter_CodeType_CodeType_MIN;
1423   static const CodeType CodeType_MAX =
1424     PriorBoxParameter_CodeType_CodeType_MAX;
1425   static const int CodeType_ARRAYSIZE =
1426     PriorBoxParameter_CodeType_CodeType_ARRAYSIZE;
1427   static inline const ::google::protobuf::EnumDescriptor*
1428   CodeType_descriptor() {
1429     return PriorBoxParameter_CodeType_descriptor();
1430   }
1431   static inline const ::std::string& CodeType_Name(CodeType value) {
1432     return PriorBoxParameter_CodeType_Name(value);
1433   }
1434   static inline bool CodeType_Parse(const ::std::string& name,
1435       CodeType* value) {
1436     return PriorBoxParameter_CodeType_Parse(name, value);
1437   }
1438
1439   // accessors -------------------------------------------------------
1440
1441   // optional float min_size = 1;
1442   bool has_min_size() const;
1443   void clear_min_size();
1444   static const int kMinSizeFieldNumber = 1;
1445   float min_size() const;
1446   void set_min_size(float value);
1447
1448   // optional float max_size = 2;
1449   bool has_max_size() const;
1450   void clear_max_size();
1451   static const int kMaxSizeFieldNumber = 2;
1452   float max_size() const;
1453   void set_max_size(float value);
1454
1455   // repeated float aspect_ratio = 3;
1456   int aspect_ratio_size() const;
1457   void clear_aspect_ratio();
1458   static const int kAspectRatioFieldNumber = 3;
1459   float aspect_ratio(int index) const;
1460   void set_aspect_ratio(int index, float value);
1461   void add_aspect_ratio(float value);
1462   const ::google::protobuf::RepeatedField< float >&
1463       aspect_ratio() const;
1464   ::google::protobuf::RepeatedField< float >*
1465       mutable_aspect_ratio();
1466
1467   // optional bool flip = 4 [default = true];
1468   bool has_flip() const;
1469   void clear_flip();
1470   static const int kFlipFieldNumber = 4;
1471   bool flip() const;
1472   void set_flip(bool value);
1473
1474   // optional bool clip = 5 [default = true];
1475   bool has_clip() const;
1476   void clear_clip();
1477   static const int kClipFieldNumber = 5;
1478   bool clip() const;
1479   void set_clip(bool value);
1480
1481   // repeated float variance = 6;
1482   int variance_size() const;
1483   void clear_variance();
1484   static const int kVarianceFieldNumber = 6;
1485   float variance(int index) const;
1486   void set_variance(int index, float value);
1487   void add_variance(float value);
1488   const ::google::protobuf::RepeatedField< float >&
1489       variance() const;
1490   ::google::protobuf::RepeatedField< float >*
1491       mutable_variance();
1492
1493   // optional uint32 img_size = 7;
1494   bool has_img_size() const;
1495   void clear_img_size();
1496   static const int kImgSizeFieldNumber = 7;
1497   ::google::protobuf::uint32 img_size() const;
1498   void set_img_size(::google::protobuf::uint32 value);
1499
1500   // optional uint32 img_h = 8;
1501   bool has_img_h() const;
1502   void clear_img_h();
1503   static const int kImgHFieldNumber = 8;
1504   ::google::protobuf::uint32 img_h() const;
1505   void set_img_h(::google::protobuf::uint32 value);
1506
1507   // optional uint32 img_w = 9;
1508   bool has_img_w() const;
1509   void clear_img_w();
1510   static const int kImgWFieldNumber = 9;
1511   ::google::protobuf::uint32 img_w() const;
1512   void set_img_w(::google::protobuf::uint32 value);
1513
1514   // optional float step = 10;
1515   bool has_step() const;
1516   void clear_step();
1517   static const int kStepFieldNumber = 10;
1518   float step() const;
1519   void set_step(float value);
1520
1521   // optional float step_h = 11;
1522   bool has_step_h() const;
1523   void clear_step_h();
1524   static const int kStepHFieldNumber = 11;
1525   float step_h() const;
1526   void set_step_h(float value);
1527
1528   // optional float step_w = 12;
1529   bool has_step_w() const;
1530   void clear_step_w();
1531   static const int kStepWFieldNumber = 12;
1532   float step_w() const;
1533   void set_step_w(float value);
1534
1535   // optional float offset = 13 [default = 0.5];
1536   bool has_offset() const;
1537   void clear_offset();
1538   static const int kOffsetFieldNumber = 13;
1539   float offset() const;
1540   void set_offset(float value);
1541
1542   // repeated float offset_h = 14;
1543   int offset_h_size() const;
1544   void clear_offset_h();
1545   static const int kOffsetHFieldNumber = 14;
1546   float offset_h(int index) const;
1547   void set_offset_h(int index, float value);
1548   void add_offset_h(float value);
1549   const ::google::protobuf::RepeatedField< float >&
1550       offset_h() const;
1551   ::google::protobuf::RepeatedField< float >*
1552       mutable_offset_h();
1553
1554   // repeated float offset_w = 15;
1555   int offset_w_size() const;
1556   void clear_offset_w();
1557   static const int kOffsetWFieldNumber = 15;
1558   float offset_w(int index) const;
1559   void set_offset_w(int index, float value);
1560   void add_offset_w(float value);
1561   const ::google::protobuf::RepeatedField< float >&
1562       offset_w() const;
1563   ::google::protobuf::RepeatedField< float >*
1564       mutable_offset_w();
1565
1566   // repeated float width = 16;
1567   int width_size() const;
1568   void clear_width();
1569   static const int kWidthFieldNumber = 16;
1570   float width(int index) const;
1571   void set_width(int index, float value);
1572   void add_width(float value);
1573   const ::google::protobuf::RepeatedField< float >&
1574       width() const;
1575   ::google::protobuf::RepeatedField< float >*
1576       mutable_width();
1577
1578   // repeated float height = 17;
1579   int height_size() const;
1580   void clear_height();
1581   static const int kHeightFieldNumber = 17;
1582   float height(int index) const;
1583   void set_height(int index, float value);
1584   void add_height(float value);
1585   const ::google::protobuf::RepeatedField< float >&
1586       height() const;
1587   ::google::protobuf::RepeatedField< float >*
1588       mutable_height();
1589
1590   // @@protoc_insertion_point(class_scope:opencv_caffe.PriorBoxParameter)
1591  private:
1592   inline void set_has_min_size();
1593   inline void clear_has_min_size();
1594   inline void set_has_max_size();
1595   inline void clear_has_max_size();
1596   inline void set_has_flip();
1597   inline void clear_has_flip();
1598   inline void set_has_clip();
1599   inline void clear_has_clip();
1600   inline void set_has_img_size();
1601   inline void clear_has_img_size();
1602   inline void set_has_img_h();
1603   inline void clear_has_img_h();
1604   inline void set_has_img_w();
1605   inline void clear_has_img_w();
1606   inline void set_has_step();
1607   inline void clear_has_step();
1608   inline void set_has_step_h();
1609   inline void clear_has_step_h();
1610   inline void set_has_step_w();
1611   inline void clear_has_step_w();
1612   inline void set_has_offset();
1613   inline void clear_has_offset();
1614
1615   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1616   ::google::protobuf::internal::HasBits<1> _has_bits_;
1617   mutable int _cached_size_;
1618   ::google::protobuf::RepeatedField< float > aspect_ratio_;
1619   ::google::protobuf::RepeatedField< float > variance_;
1620   ::google::protobuf::RepeatedField< float > offset_h_;
1621   ::google::protobuf::RepeatedField< float > offset_w_;
1622   ::google::protobuf::RepeatedField< float > width_;
1623   ::google::protobuf::RepeatedField< float > height_;
1624   float min_size_;
1625   float max_size_;
1626   ::google::protobuf::uint32 img_size_;
1627   ::google::protobuf::uint32 img_h_;
1628   ::google::protobuf::uint32 img_w_;
1629   float step_;
1630   float step_h_;
1631   float step_w_;
1632   bool flip_;
1633   bool clip_;
1634   float offset_;
1635   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1636   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1637   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1638   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1639
1640   void InitAsDefaultInstance();
1641 };
1642 extern ::google::protobuf::internal::ExplicitlyConstructed<PriorBoxParameter> PriorBoxParameter_default_instance_;
1643
1644 // -------------------------------------------------------------------
1645
1646 class DetectionOutputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DetectionOutputParameter) */ {
1647  public:
1648   DetectionOutputParameter();
1649   virtual ~DetectionOutputParameter();
1650
1651   DetectionOutputParameter(const DetectionOutputParameter& from);
1652
1653   inline DetectionOutputParameter& operator=(const DetectionOutputParameter& from) {
1654     CopyFrom(from);
1655     return *this;
1656   }
1657
1658   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1659     return _internal_metadata_.unknown_fields();
1660   }
1661
1662   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1663     return _internal_metadata_.mutable_unknown_fields();
1664   }
1665
1666   static const ::google::protobuf::Descriptor* descriptor();
1667   static const DetectionOutputParameter& default_instance();
1668
1669   static const DetectionOutputParameter* internal_default_instance();
1670
1671   void Swap(DetectionOutputParameter* other);
1672
1673   // implements Message ----------------------------------------------
1674
1675   inline DetectionOutputParameter* New() const { return New(NULL); }
1676
1677   DetectionOutputParameter* New(::google::protobuf::Arena* arena) const;
1678   void CopyFrom(const ::google::protobuf::Message& from);
1679   void MergeFrom(const ::google::protobuf::Message& from);
1680   void CopyFrom(const DetectionOutputParameter& from);
1681   void MergeFrom(const DetectionOutputParameter& from);
1682   void Clear();
1683   bool IsInitialized() const;
1684
1685   size_t ByteSizeLong() const;
1686   bool MergePartialFromCodedStream(
1687       ::google::protobuf::io::CodedInputStream* input);
1688   void SerializeWithCachedSizes(
1689       ::google::protobuf::io::CodedOutputStream* output) const;
1690   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1691       bool deterministic, ::google::protobuf::uint8* output) const;
1692   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1693     return InternalSerializeWithCachedSizesToArray(false, output);
1694   }
1695   int GetCachedSize() const { return _cached_size_; }
1696   private:
1697   void SharedCtor();
1698   void SharedDtor();
1699   void SetCachedSize(int size) const;
1700   void InternalSwap(DetectionOutputParameter* other);
1701   void UnsafeMergeFrom(const DetectionOutputParameter& from);
1702   private:
1703   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1704     return _internal_metadata_.arena();
1705   }
1706   inline void* MaybeArenaPtr() const {
1707     return _internal_metadata_.raw_arena_ptr();
1708   }
1709   public:
1710
1711   ::google::protobuf::Metadata GetMetadata() const;
1712
1713   // nested types ----------------------------------------------------
1714
1715   // accessors -------------------------------------------------------
1716
1717   // optional uint32 num_classes = 1;
1718   bool has_num_classes() const;
1719   void clear_num_classes();
1720   static const int kNumClassesFieldNumber = 1;
1721   ::google::protobuf::uint32 num_classes() const;
1722   void set_num_classes(::google::protobuf::uint32 value);
1723
1724   // optional bool share_location = 2 [default = true];
1725   bool has_share_location() const;
1726   void clear_share_location();
1727   static const int kShareLocationFieldNumber = 2;
1728   bool share_location() const;
1729   void set_share_location(bool value);
1730
1731   // optional int32 background_label_id = 3 [default = 0];
1732   bool has_background_label_id() const;
1733   void clear_background_label_id();
1734   static const int kBackgroundLabelIdFieldNumber = 3;
1735   ::google::protobuf::int32 background_label_id() const;
1736   void set_background_label_id(::google::protobuf::int32 value);
1737
1738   // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
1739   bool has_nms_param() const;
1740   void clear_nms_param();
1741   static const int kNmsParamFieldNumber = 4;
1742   const ::opencv_caffe::NonMaximumSuppressionParameter& nms_param() const;
1743   ::opencv_caffe::NonMaximumSuppressionParameter* mutable_nms_param();
1744   ::opencv_caffe::NonMaximumSuppressionParameter* release_nms_param();
1745   void set_allocated_nms_param(::opencv_caffe::NonMaximumSuppressionParameter* nms_param);
1746
1747   // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
1748   bool has_save_output_param() const;
1749   void clear_save_output_param();
1750   static const int kSaveOutputParamFieldNumber = 5;
1751   const ::opencv_caffe::SaveOutputParameter& save_output_param() const;
1752   ::opencv_caffe::SaveOutputParameter* mutable_save_output_param();
1753   ::opencv_caffe::SaveOutputParameter* release_save_output_param();
1754   void set_allocated_save_output_param(::opencv_caffe::SaveOutputParameter* save_output_param);
1755
1756   // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
1757   bool has_code_type() const;
1758   void clear_code_type();
1759   static const int kCodeTypeFieldNumber = 6;
1760   ::opencv_caffe::PriorBoxParameter_CodeType code_type() const;
1761   void set_code_type(::opencv_caffe::PriorBoxParameter_CodeType value);
1762
1763   // optional bool variance_encoded_in_target = 8 [default = false];
1764   bool has_variance_encoded_in_target() const;
1765   void clear_variance_encoded_in_target();
1766   static const int kVarianceEncodedInTargetFieldNumber = 8;
1767   bool variance_encoded_in_target() const;
1768   void set_variance_encoded_in_target(bool value);
1769
1770   // optional int32 keep_top_k = 7 [default = -1];
1771   bool has_keep_top_k() const;
1772   void clear_keep_top_k();
1773   static const int kKeepTopKFieldNumber = 7;
1774   ::google::protobuf::int32 keep_top_k() const;
1775   void set_keep_top_k(::google::protobuf::int32 value);
1776
1777   // optional float confidence_threshold = 9;
1778   bool has_confidence_threshold() const;
1779   void clear_confidence_threshold();
1780   static const int kConfidenceThresholdFieldNumber = 9;
1781   float confidence_threshold() const;
1782   void set_confidence_threshold(float value);
1783
1784   // @@protoc_insertion_point(class_scope:opencv_caffe.DetectionOutputParameter)
1785  private:
1786   inline void set_has_num_classes();
1787   inline void clear_has_num_classes();
1788   inline void set_has_share_location();
1789   inline void clear_has_share_location();
1790   inline void set_has_background_label_id();
1791   inline void clear_has_background_label_id();
1792   inline void set_has_nms_param();
1793   inline void clear_has_nms_param();
1794   inline void set_has_save_output_param();
1795   inline void clear_has_save_output_param();
1796   inline void set_has_code_type();
1797   inline void clear_has_code_type();
1798   inline void set_has_variance_encoded_in_target();
1799   inline void clear_has_variance_encoded_in_target();
1800   inline void set_has_keep_top_k();
1801   inline void clear_has_keep_top_k();
1802   inline void set_has_confidence_threshold();
1803   inline void clear_has_confidence_threshold();
1804
1805   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1806   ::google::protobuf::internal::HasBits<1> _has_bits_;
1807   mutable int _cached_size_;
1808   ::opencv_caffe::NonMaximumSuppressionParameter* nms_param_;
1809   ::opencv_caffe::SaveOutputParameter* save_output_param_;
1810   ::google::protobuf::uint32 num_classes_;
1811   ::google::protobuf::int32 background_label_id_;
1812   bool variance_encoded_in_target_;
1813   float confidence_threshold_;
1814   ::google::protobuf::int32 keep_top_k_;
1815   bool share_location_;
1816   int code_type_;
1817   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1818   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1819   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1820   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1821
1822   void InitAsDefaultInstance();
1823 };
1824 extern ::google::protobuf::internal::ExplicitlyConstructed<DetectionOutputParameter> DetectionOutputParameter_default_instance_;
1825
1826 // -------------------------------------------------------------------
1827
1828 class Datum : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.Datum) */ {
1829  public:
1830   Datum();
1831   virtual ~Datum();
1832
1833   Datum(const Datum& from);
1834
1835   inline Datum& operator=(const Datum& from) {
1836     CopyFrom(from);
1837     return *this;
1838   }
1839
1840   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
1841     return _internal_metadata_.unknown_fields();
1842   }
1843
1844   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
1845     return _internal_metadata_.mutable_unknown_fields();
1846   }
1847
1848   static const ::google::protobuf::Descriptor* descriptor();
1849   static const Datum& default_instance();
1850
1851   static const Datum* internal_default_instance();
1852
1853   void Swap(Datum* other);
1854
1855   // implements Message ----------------------------------------------
1856
1857   inline Datum* New() const { return New(NULL); }
1858
1859   Datum* New(::google::protobuf::Arena* arena) const;
1860   void CopyFrom(const ::google::protobuf::Message& from);
1861   void MergeFrom(const ::google::protobuf::Message& from);
1862   void CopyFrom(const Datum& from);
1863   void MergeFrom(const Datum& from);
1864   void Clear();
1865   bool IsInitialized() const;
1866
1867   size_t ByteSizeLong() const;
1868   bool MergePartialFromCodedStream(
1869       ::google::protobuf::io::CodedInputStream* input);
1870   void SerializeWithCachedSizes(
1871       ::google::protobuf::io::CodedOutputStream* output) const;
1872   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
1873       bool deterministic, ::google::protobuf::uint8* output) const;
1874   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
1875     return InternalSerializeWithCachedSizesToArray(false, output);
1876   }
1877   int GetCachedSize() const { return _cached_size_; }
1878   private:
1879   void SharedCtor();
1880   void SharedDtor();
1881   void SetCachedSize(int size) const;
1882   void InternalSwap(Datum* other);
1883   void UnsafeMergeFrom(const Datum& from);
1884   private:
1885   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
1886     return _internal_metadata_.arena();
1887   }
1888   inline void* MaybeArenaPtr() const {
1889     return _internal_metadata_.raw_arena_ptr();
1890   }
1891   public:
1892
1893   ::google::protobuf::Metadata GetMetadata() const;
1894
1895   // nested types ----------------------------------------------------
1896
1897   // accessors -------------------------------------------------------
1898
1899   // optional int32 channels = 1;
1900   bool has_channels() const;
1901   void clear_channels();
1902   static const int kChannelsFieldNumber = 1;
1903   ::google::protobuf::int32 channels() const;
1904   void set_channels(::google::protobuf::int32 value);
1905
1906   // optional int32 height = 2;
1907   bool has_height() const;
1908   void clear_height();
1909   static const int kHeightFieldNumber = 2;
1910   ::google::protobuf::int32 height() const;
1911   void set_height(::google::protobuf::int32 value);
1912
1913   // optional int32 width = 3;
1914   bool has_width() const;
1915   void clear_width();
1916   static const int kWidthFieldNumber = 3;
1917   ::google::protobuf::int32 width() const;
1918   void set_width(::google::protobuf::int32 value);
1919
1920   // optional bytes data = 4;
1921   bool has_data() const;
1922   void clear_data();
1923   static const int kDataFieldNumber = 4;
1924   const ::std::string& data() const;
1925   void set_data(const ::std::string& value);
1926   void set_data(const char* value);
1927   void set_data(const void* value, size_t size);
1928   ::std::string* mutable_data();
1929   ::std::string* release_data();
1930   void set_allocated_data(::std::string* data);
1931
1932   // optional int32 label = 5;
1933   bool has_label() const;
1934   void clear_label();
1935   static const int kLabelFieldNumber = 5;
1936   ::google::protobuf::int32 label() const;
1937   void set_label(::google::protobuf::int32 value);
1938
1939   // repeated float float_data = 6;
1940   int float_data_size() const;
1941   void clear_float_data();
1942   static const int kFloatDataFieldNumber = 6;
1943   float float_data(int index) const;
1944   void set_float_data(int index, float value);
1945   void add_float_data(float value);
1946   const ::google::protobuf::RepeatedField< float >&
1947       float_data() const;
1948   ::google::protobuf::RepeatedField< float >*
1949       mutable_float_data();
1950
1951   // optional bool encoded = 7 [default = false];
1952   bool has_encoded() const;
1953   void clear_encoded();
1954   static const int kEncodedFieldNumber = 7;
1955   bool encoded() const;
1956   void set_encoded(bool value);
1957
1958   // @@protoc_insertion_point(class_scope:opencv_caffe.Datum)
1959  private:
1960   inline void set_has_channels();
1961   inline void clear_has_channels();
1962   inline void set_has_height();
1963   inline void clear_has_height();
1964   inline void set_has_width();
1965   inline void clear_has_width();
1966   inline void set_has_data();
1967   inline void clear_has_data();
1968   inline void set_has_label();
1969   inline void clear_has_label();
1970   inline void set_has_encoded();
1971   inline void clear_has_encoded();
1972
1973   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
1974   ::google::protobuf::internal::HasBits<1> _has_bits_;
1975   mutable int _cached_size_;
1976   ::google::protobuf::RepeatedField< float > float_data_;
1977   ::google::protobuf::internal::ArenaStringPtr data_;
1978   ::google::protobuf::int32 channels_;
1979   ::google::protobuf::int32 height_;
1980   ::google::protobuf::int32 width_;
1981   ::google::protobuf::int32 label_;
1982   bool encoded_;
1983   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
1984   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
1985   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
1986   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
1987
1988   void InitAsDefaultInstance();
1989 };
1990 extern ::google::protobuf::internal::ExplicitlyConstructed<Datum> Datum_default_instance_;
1991
1992 // -------------------------------------------------------------------
1993
1994 class FillerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.FillerParameter) */ {
1995  public:
1996   FillerParameter();
1997   virtual ~FillerParameter();
1998
1999   FillerParameter(const FillerParameter& from);
2000
2001   inline FillerParameter& operator=(const FillerParameter& from) {
2002     CopyFrom(from);
2003     return *this;
2004   }
2005
2006   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
2007     return _internal_metadata_.unknown_fields();
2008   }
2009
2010   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
2011     return _internal_metadata_.mutable_unknown_fields();
2012   }
2013
2014   static const ::google::protobuf::Descriptor* descriptor();
2015   static const FillerParameter& default_instance();
2016
2017   static const FillerParameter* internal_default_instance();
2018
2019   void Swap(FillerParameter* other);
2020
2021   // implements Message ----------------------------------------------
2022
2023   inline FillerParameter* New() const { return New(NULL); }
2024
2025   FillerParameter* New(::google::protobuf::Arena* arena) const;
2026   void CopyFrom(const ::google::protobuf::Message& from);
2027   void MergeFrom(const ::google::protobuf::Message& from);
2028   void CopyFrom(const FillerParameter& from);
2029   void MergeFrom(const FillerParameter& from);
2030   void Clear();
2031   bool IsInitialized() const;
2032
2033   size_t ByteSizeLong() const;
2034   bool MergePartialFromCodedStream(
2035       ::google::protobuf::io::CodedInputStream* input);
2036   void SerializeWithCachedSizes(
2037       ::google::protobuf::io::CodedOutputStream* output) const;
2038   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
2039       bool deterministic, ::google::protobuf::uint8* output) const;
2040   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
2041     return InternalSerializeWithCachedSizesToArray(false, output);
2042   }
2043   int GetCachedSize() const { return _cached_size_; }
2044   private:
2045   void SharedCtor();
2046   void SharedDtor();
2047   void SetCachedSize(int size) const;
2048   void InternalSwap(FillerParameter* other);
2049   void UnsafeMergeFrom(const FillerParameter& from);
2050   private:
2051   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
2052     return _internal_metadata_.arena();
2053   }
2054   inline void* MaybeArenaPtr() const {
2055     return _internal_metadata_.raw_arena_ptr();
2056   }
2057   public:
2058
2059   ::google::protobuf::Metadata GetMetadata() const;
2060
2061   // nested types ----------------------------------------------------
2062
2063   typedef FillerParameter_VarianceNorm VarianceNorm;
2064   static const VarianceNorm FAN_IN =
2065     FillerParameter_VarianceNorm_FAN_IN;
2066   static const VarianceNorm FAN_OUT =
2067     FillerParameter_VarianceNorm_FAN_OUT;
2068   static const VarianceNorm AVERAGE =
2069     FillerParameter_VarianceNorm_AVERAGE;
2070   static inline bool VarianceNorm_IsValid(int value) {
2071     return FillerParameter_VarianceNorm_IsValid(value);
2072   }
2073   static const VarianceNorm VarianceNorm_MIN =
2074     FillerParameter_VarianceNorm_VarianceNorm_MIN;
2075   static const VarianceNorm VarianceNorm_MAX =
2076     FillerParameter_VarianceNorm_VarianceNorm_MAX;
2077   static const int VarianceNorm_ARRAYSIZE =
2078     FillerParameter_VarianceNorm_VarianceNorm_ARRAYSIZE;
2079   static inline const ::google::protobuf::EnumDescriptor*
2080   VarianceNorm_descriptor() {
2081     return FillerParameter_VarianceNorm_descriptor();
2082   }
2083   static inline const ::std::string& VarianceNorm_Name(VarianceNorm value) {
2084     return FillerParameter_VarianceNorm_Name(value);
2085   }
2086   static inline bool VarianceNorm_Parse(const ::std::string& name,
2087       VarianceNorm* value) {
2088     return FillerParameter_VarianceNorm_Parse(name, value);
2089   }
2090
2091   // accessors -------------------------------------------------------
2092
2093   // optional string type = 1 [default = "constant"];
2094   bool has_type() const;
2095   void clear_type();
2096   static const int kTypeFieldNumber = 1;
2097   const ::std::string& type() const;
2098   void set_type(const ::std::string& value);
2099   void set_type(const char* value);
2100   void set_type(const char* value, size_t size);
2101   ::std::string* mutable_type();
2102   ::std::string* release_type();
2103   void set_allocated_type(::std::string* type);
2104
2105   // optional float value = 2 [default = 0];
2106   bool has_value() const;
2107   void clear_value();
2108   static const int kValueFieldNumber = 2;
2109   float value() const;
2110   void set_value(float value);
2111
2112   // optional float min = 3 [default = 0];
2113   bool has_min() const;
2114   void clear_min();
2115   static const int kMinFieldNumber = 3;
2116   float min() const;
2117   void set_min(float value);
2118
2119   // optional float max = 4 [default = 1];
2120   bool has_max() const;
2121   void clear_max();
2122   static const int kMaxFieldNumber = 4;
2123   float max() const;
2124   void set_max(float value);
2125
2126   // optional float mean = 5 [default = 0];
2127   bool has_mean() const;
2128   void clear_mean();
2129   static const int kMeanFieldNumber = 5;
2130   float mean() const;
2131   void set_mean(float value);
2132
2133   // optional float std = 6 [default = 1];
2134   bool has_std() const;
2135   void clear_std();
2136   static const int kStdFieldNumber = 6;
2137   float std() const;
2138   void set_std(float value);
2139
2140   // optional int32 sparse = 7 [default = -1];
2141   bool has_sparse() const;
2142   void clear_sparse();
2143   static const int kSparseFieldNumber = 7;
2144   ::google::protobuf::int32 sparse() const;
2145   void set_sparse(::google::protobuf::int32 value);
2146
2147   // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
2148   bool has_variance_norm() const;
2149   void clear_variance_norm();
2150   static const int kVarianceNormFieldNumber = 8;
2151   ::opencv_caffe::FillerParameter_VarianceNorm variance_norm() const;
2152   void set_variance_norm(::opencv_caffe::FillerParameter_VarianceNorm value);
2153
2154   // @@protoc_insertion_point(class_scope:opencv_caffe.FillerParameter)
2155  private:
2156   inline void set_has_type();
2157   inline void clear_has_type();
2158   inline void set_has_value();
2159   inline void clear_has_value();
2160   inline void set_has_min();
2161   inline void clear_has_min();
2162   inline void set_has_max();
2163   inline void clear_has_max();
2164   inline void set_has_mean();
2165   inline void clear_has_mean();
2166   inline void set_has_std();
2167   inline void clear_has_std();
2168   inline void set_has_sparse();
2169   inline void clear_has_sparse();
2170   inline void set_has_variance_norm();
2171   inline void clear_has_variance_norm();
2172
2173   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
2174   ::google::protobuf::internal::HasBits<1> _has_bits_;
2175   mutable int _cached_size_;
2176   static ::std::string* _default_type_;
2177   ::google::protobuf::internal::ArenaStringPtr type_;
2178   float value_;
2179   float min_;
2180   float mean_;
2181   int variance_norm_;
2182   ::google::protobuf::int32 sparse_;
2183   float max_;
2184   float std_;
2185   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
2186   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
2187   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
2188   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
2189
2190   void InitAsDefaultInstance();
2191 };
2192 extern ::google::protobuf::internal::ExplicitlyConstructed<FillerParameter> FillerParameter_default_instance_;
2193
2194 // -------------------------------------------------------------------
2195
2196 class NetParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NetParameter) */ {
2197  public:
2198   NetParameter();
2199   virtual ~NetParameter();
2200
2201   NetParameter(const NetParameter& from);
2202
2203   inline NetParameter& operator=(const NetParameter& from) {
2204     CopyFrom(from);
2205     return *this;
2206   }
2207
2208   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
2209     return _internal_metadata_.unknown_fields();
2210   }
2211
2212   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
2213     return _internal_metadata_.mutable_unknown_fields();
2214   }
2215
2216   static const ::google::protobuf::Descriptor* descriptor();
2217   static const NetParameter& default_instance();
2218
2219   static const NetParameter* internal_default_instance();
2220
2221   void Swap(NetParameter* other);
2222
2223   // implements Message ----------------------------------------------
2224
2225   inline NetParameter* New() const { return New(NULL); }
2226
2227   NetParameter* New(::google::protobuf::Arena* arena) const;
2228   void CopyFrom(const ::google::protobuf::Message& from);
2229   void MergeFrom(const ::google::protobuf::Message& from);
2230   void CopyFrom(const NetParameter& from);
2231   void MergeFrom(const NetParameter& from);
2232   void Clear();
2233   bool IsInitialized() const;
2234
2235   size_t ByteSizeLong() const;
2236   bool MergePartialFromCodedStream(
2237       ::google::protobuf::io::CodedInputStream* input);
2238   void SerializeWithCachedSizes(
2239       ::google::protobuf::io::CodedOutputStream* output) const;
2240   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
2241       bool deterministic, ::google::protobuf::uint8* output) const;
2242   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
2243     return InternalSerializeWithCachedSizesToArray(false, output);
2244   }
2245   int GetCachedSize() const { return _cached_size_; }
2246   private:
2247   void SharedCtor();
2248   void SharedDtor();
2249   void SetCachedSize(int size) const;
2250   void InternalSwap(NetParameter* other);
2251   void UnsafeMergeFrom(const NetParameter& from);
2252   private:
2253   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
2254     return _internal_metadata_.arena();
2255   }
2256   inline void* MaybeArenaPtr() const {
2257     return _internal_metadata_.raw_arena_ptr();
2258   }
2259   public:
2260
2261   ::google::protobuf::Metadata GetMetadata() const;
2262
2263   // nested types ----------------------------------------------------
2264
2265   // accessors -------------------------------------------------------
2266
2267   // optional string name = 1;
2268   bool has_name() const;
2269   void clear_name();
2270   static const int kNameFieldNumber = 1;
2271   const ::std::string& name() const;
2272   void set_name(const ::std::string& value);
2273   void set_name(const char* value);
2274   void set_name(const char* value, size_t size);
2275   ::std::string* mutable_name();
2276   ::std::string* release_name();
2277   void set_allocated_name(::std::string* name);
2278
2279   // repeated string input = 3;
2280   int input_size() const;
2281   void clear_input();
2282   static const int kInputFieldNumber = 3;
2283   const ::std::string& input(int index) const;
2284   ::std::string* mutable_input(int index);
2285   void set_input(int index, const ::std::string& value);
2286   void set_input(int index, const char* value);
2287   void set_input(int index, const char* value, size_t size);
2288   ::std::string* add_input();
2289   void add_input(const ::std::string& value);
2290   void add_input(const char* value);
2291   void add_input(const char* value, size_t size);
2292   const ::google::protobuf::RepeatedPtrField< ::std::string>& input() const;
2293   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_input();
2294
2295   // repeated .opencv_caffe.BlobShape input_shape = 8;
2296   int input_shape_size() const;
2297   void clear_input_shape();
2298   static const int kInputShapeFieldNumber = 8;
2299   const ::opencv_caffe::BlobShape& input_shape(int index) const;
2300   ::opencv_caffe::BlobShape* mutable_input_shape(int index);
2301   ::opencv_caffe::BlobShape* add_input_shape();
2302   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
2303       mutable_input_shape();
2304   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
2305       input_shape() const;
2306
2307   // repeated int32 input_dim = 4;
2308   int input_dim_size() const;
2309   void clear_input_dim();
2310   static const int kInputDimFieldNumber = 4;
2311   ::google::protobuf::int32 input_dim(int index) const;
2312   void set_input_dim(int index, ::google::protobuf::int32 value);
2313   void add_input_dim(::google::protobuf::int32 value);
2314   const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2315       input_dim() const;
2316   ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2317       mutable_input_dim();
2318
2319   // optional bool force_backward = 5 [default = false];
2320   bool has_force_backward() const;
2321   void clear_force_backward();
2322   static const int kForceBackwardFieldNumber = 5;
2323   bool force_backward() const;
2324   void set_force_backward(bool value);
2325
2326   // optional .opencv_caffe.NetState state = 6;
2327   bool has_state() const;
2328   void clear_state();
2329   static const int kStateFieldNumber = 6;
2330   const ::opencv_caffe::NetState& state() const;
2331   ::opencv_caffe::NetState* mutable_state();
2332   ::opencv_caffe::NetState* release_state();
2333   void set_allocated_state(::opencv_caffe::NetState* state);
2334
2335   // optional bool debug_info = 7 [default = false];
2336   bool has_debug_info() const;
2337   void clear_debug_info();
2338   static const int kDebugInfoFieldNumber = 7;
2339   bool debug_info() const;
2340   void set_debug_info(bool value);
2341
2342   // repeated .opencv_caffe.LayerParameter layer = 100;
2343   int layer_size() const;
2344   void clear_layer();
2345   static const int kLayerFieldNumber = 100;
2346   const ::opencv_caffe::LayerParameter& layer(int index) const;
2347   ::opencv_caffe::LayerParameter* mutable_layer(int index);
2348   ::opencv_caffe::LayerParameter* add_layer();
2349   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >*
2350       mutable_layer();
2351   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >&
2352       layer() const;
2353
2354   // repeated .opencv_caffe.V1LayerParameter layers = 2;
2355   int layers_size() const;
2356   void clear_layers();
2357   static const int kLayersFieldNumber = 2;
2358   const ::opencv_caffe::V1LayerParameter& layers(int index) const;
2359   ::opencv_caffe::V1LayerParameter* mutable_layers(int index);
2360   ::opencv_caffe::V1LayerParameter* add_layers();
2361   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >*
2362       mutable_layers();
2363   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >&
2364       layers() const;
2365
2366   // @@protoc_insertion_point(class_scope:opencv_caffe.NetParameter)
2367  private:
2368   inline void set_has_name();
2369   inline void clear_has_name();
2370   inline void set_has_force_backward();
2371   inline void clear_has_force_backward();
2372   inline void set_has_state();
2373   inline void clear_has_state();
2374   inline void set_has_debug_info();
2375   inline void clear_has_debug_info();
2376
2377   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
2378   ::google::protobuf::internal::HasBits<1> _has_bits_;
2379   mutable int _cached_size_;
2380   ::google::protobuf::RepeatedPtrField< ::std::string> input_;
2381   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape > input_shape_;
2382   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > input_dim_;
2383   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter > layer_;
2384   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter > layers_;
2385   ::google::protobuf::internal::ArenaStringPtr name_;
2386   ::opencv_caffe::NetState* state_;
2387   bool force_backward_;
2388   bool debug_info_;
2389   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
2390   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
2391   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
2392   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
2393
2394   void InitAsDefaultInstance();
2395 };
2396 extern ::google::protobuf::internal::ExplicitlyConstructed<NetParameter> NetParameter_default_instance_;
2397
2398 // -------------------------------------------------------------------
2399
2400 class SolverParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SolverParameter) */ {
2401  public:
2402   SolverParameter();
2403   virtual ~SolverParameter();
2404
2405   SolverParameter(const SolverParameter& from);
2406
2407   inline SolverParameter& operator=(const SolverParameter& from) {
2408     CopyFrom(from);
2409     return *this;
2410   }
2411
2412   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
2413     return _internal_metadata_.unknown_fields();
2414   }
2415
2416   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
2417     return _internal_metadata_.mutable_unknown_fields();
2418   }
2419
2420   static const ::google::protobuf::Descriptor* descriptor();
2421   static const SolverParameter& default_instance();
2422
2423   static const SolverParameter* internal_default_instance();
2424
2425   void Swap(SolverParameter* other);
2426
2427   // implements Message ----------------------------------------------
2428
2429   inline SolverParameter* New() const { return New(NULL); }
2430
2431   SolverParameter* New(::google::protobuf::Arena* arena) const;
2432   void CopyFrom(const ::google::protobuf::Message& from);
2433   void MergeFrom(const ::google::protobuf::Message& from);
2434   void CopyFrom(const SolverParameter& from);
2435   void MergeFrom(const SolverParameter& from);
2436   void Clear();
2437   bool IsInitialized() const;
2438
2439   size_t ByteSizeLong() const;
2440   bool MergePartialFromCodedStream(
2441       ::google::protobuf::io::CodedInputStream* input);
2442   void SerializeWithCachedSizes(
2443       ::google::protobuf::io::CodedOutputStream* output) const;
2444   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
2445       bool deterministic, ::google::protobuf::uint8* output) const;
2446   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
2447     return InternalSerializeWithCachedSizesToArray(false, output);
2448   }
2449   int GetCachedSize() const { return _cached_size_; }
2450   private:
2451   void SharedCtor();
2452   void SharedDtor();
2453   void SetCachedSize(int size) const;
2454   void InternalSwap(SolverParameter* other);
2455   void UnsafeMergeFrom(const SolverParameter& from);
2456   private:
2457   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
2458     return _internal_metadata_.arena();
2459   }
2460   inline void* MaybeArenaPtr() const {
2461     return _internal_metadata_.raw_arena_ptr();
2462   }
2463   public:
2464
2465   ::google::protobuf::Metadata GetMetadata() const;
2466
2467   // nested types ----------------------------------------------------
2468
2469   typedef SolverParameter_SnapshotFormat SnapshotFormat;
2470   static const SnapshotFormat HDF5 =
2471     SolverParameter_SnapshotFormat_HDF5;
2472   static const SnapshotFormat BINARYPROTO =
2473     SolverParameter_SnapshotFormat_BINARYPROTO;
2474   static inline bool SnapshotFormat_IsValid(int value) {
2475     return SolverParameter_SnapshotFormat_IsValid(value);
2476   }
2477   static const SnapshotFormat SnapshotFormat_MIN =
2478     SolverParameter_SnapshotFormat_SnapshotFormat_MIN;
2479   static const SnapshotFormat SnapshotFormat_MAX =
2480     SolverParameter_SnapshotFormat_SnapshotFormat_MAX;
2481   static const int SnapshotFormat_ARRAYSIZE =
2482     SolverParameter_SnapshotFormat_SnapshotFormat_ARRAYSIZE;
2483   static inline const ::google::protobuf::EnumDescriptor*
2484   SnapshotFormat_descriptor() {
2485     return SolverParameter_SnapshotFormat_descriptor();
2486   }
2487   static inline const ::std::string& SnapshotFormat_Name(SnapshotFormat value) {
2488     return SolverParameter_SnapshotFormat_Name(value);
2489   }
2490   static inline bool SnapshotFormat_Parse(const ::std::string& name,
2491       SnapshotFormat* value) {
2492     return SolverParameter_SnapshotFormat_Parse(name, value);
2493   }
2494
2495   typedef SolverParameter_SolverMode SolverMode;
2496   static const SolverMode CPU =
2497     SolverParameter_SolverMode_CPU;
2498   static const SolverMode GPU =
2499     SolverParameter_SolverMode_GPU;
2500   static inline bool SolverMode_IsValid(int value) {
2501     return SolverParameter_SolverMode_IsValid(value);
2502   }
2503   static const SolverMode SolverMode_MIN =
2504     SolverParameter_SolverMode_SolverMode_MIN;
2505   static const SolverMode SolverMode_MAX =
2506     SolverParameter_SolverMode_SolverMode_MAX;
2507   static const int SolverMode_ARRAYSIZE =
2508     SolverParameter_SolverMode_SolverMode_ARRAYSIZE;
2509   static inline const ::google::protobuf::EnumDescriptor*
2510   SolverMode_descriptor() {
2511     return SolverParameter_SolverMode_descriptor();
2512   }
2513   static inline const ::std::string& SolverMode_Name(SolverMode value) {
2514     return SolverParameter_SolverMode_Name(value);
2515   }
2516   static inline bool SolverMode_Parse(const ::std::string& name,
2517       SolverMode* value) {
2518     return SolverParameter_SolverMode_Parse(name, value);
2519   }
2520
2521   typedef SolverParameter_SolverType SolverType;
2522   static const SolverType SGD =
2523     SolverParameter_SolverType_SGD;
2524   static const SolverType NESTEROV =
2525     SolverParameter_SolverType_NESTEROV;
2526   static const SolverType ADAGRAD =
2527     SolverParameter_SolverType_ADAGRAD;
2528   static const SolverType RMSPROP =
2529     SolverParameter_SolverType_RMSPROP;
2530   static const SolverType ADADELTA =
2531     SolverParameter_SolverType_ADADELTA;
2532   static const SolverType ADAM =
2533     SolverParameter_SolverType_ADAM;
2534   static inline bool SolverType_IsValid(int value) {
2535     return SolverParameter_SolverType_IsValid(value);
2536   }
2537   static const SolverType SolverType_MIN =
2538     SolverParameter_SolverType_SolverType_MIN;
2539   static const SolverType SolverType_MAX =
2540     SolverParameter_SolverType_SolverType_MAX;
2541   static const int SolverType_ARRAYSIZE =
2542     SolverParameter_SolverType_SolverType_ARRAYSIZE;
2543   static inline const ::google::protobuf::EnumDescriptor*
2544   SolverType_descriptor() {
2545     return SolverParameter_SolverType_descriptor();
2546   }
2547   static inline const ::std::string& SolverType_Name(SolverType value) {
2548     return SolverParameter_SolverType_Name(value);
2549   }
2550   static inline bool SolverType_Parse(const ::std::string& name,
2551       SolverType* value) {
2552     return SolverParameter_SolverType_Parse(name, value);
2553   }
2554
2555   // accessors -------------------------------------------------------
2556
2557   // optional string net = 24;
2558   bool has_net() const;
2559   void clear_net();
2560   static const int kNetFieldNumber = 24;
2561   const ::std::string& net() const;
2562   void set_net(const ::std::string& value);
2563   void set_net(const char* value);
2564   void set_net(const char* value, size_t size);
2565   ::std::string* mutable_net();
2566   ::std::string* release_net();
2567   void set_allocated_net(::std::string* net);
2568
2569   // optional .opencv_caffe.NetParameter net_param = 25;
2570   bool has_net_param() const;
2571   void clear_net_param();
2572   static const int kNetParamFieldNumber = 25;
2573   const ::opencv_caffe::NetParameter& net_param() const;
2574   ::opencv_caffe::NetParameter* mutable_net_param();
2575   ::opencv_caffe::NetParameter* release_net_param();
2576   void set_allocated_net_param(::opencv_caffe::NetParameter* net_param);
2577
2578   // optional string train_net = 1;
2579   bool has_train_net() const;
2580   void clear_train_net();
2581   static const int kTrainNetFieldNumber = 1;
2582   const ::std::string& train_net() const;
2583   void set_train_net(const ::std::string& value);
2584   void set_train_net(const char* value);
2585   void set_train_net(const char* value, size_t size);
2586   ::std::string* mutable_train_net();
2587   ::std::string* release_train_net();
2588   void set_allocated_train_net(::std::string* train_net);
2589
2590   // repeated string test_net = 2;
2591   int test_net_size() const;
2592   void clear_test_net();
2593   static const int kTestNetFieldNumber = 2;
2594   const ::std::string& test_net(int index) const;
2595   ::std::string* mutable_test_net(int index);
2596   void set_test_net(int index, const ::std::string& value);
2597   void set_test_net(int index, const char* value);
2598   void set_test_net(int index, const char* value, size_t size);
2599   ::std::string* add_test_net();
2600   void add_test_net(const ::std::string& value);
2601   void add_test_net(const char* value);
2602   void add_test_net(const char* value, size_t size);
2603   const ::google::protobuf::RepeatedPtrField< ::std::string>& test_net() const;
2604   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_test_net();
2605
2606   // optional .opencv_caffe.NetParameter train_net_param = 21;
2607   bool has_train_net_param() const;
2608   void clear_train_net_param();
2609   static const int kTrainNetParamFieldNumber = 21;
2610   const ::opencv_caffe::NetParameter& train_net_param() const;
2611   ::opencv_caffe::NetParameter* mutable_train_net_param();
2612   ::opencv_caffe::NetParameter* release_train_net_param();
2613   void set_allocated_train_net_param(::opencv_caffe::NetParameter* train_net_param);
2614
2615   // repeated .opencv_caffe.NetParameter test_net_param = 22;
2616   int test_net_param_size() const;
2617   void clear_test_net_param();
2618   static const int kTestNetParamFieldNumber = 22;
2619   const ::opencv_caffe::NetParameter& test_net_param(int index) const;
2620   ::opencv_caffe::NetParameter* mutable_test_net_param(int index);
2621   ::opencv_caffe::NetParameter* add_test_net_param();
2622   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >*
2623       mutable_test_net_param();
2624   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >&
2625       test_net_param() const;
2626
2627   // optional .opencv_caffe.NetState train_state = 26;
2628   bool has_train_state() const;
2629   void clear_train_state();
2630   static const int kTrainStateFieldNumber = 26;
2631   const ::opencv_caffe::NetState& train_state() const;
2632   ::opencv_caffe::NetState* mutable_train_state();
2633   ::opencv_caffe::NetState* release_train_state();
2634   void set_allocated_train_state(::opencv_caffe::NetState* train_state);
2635
2636   // repeated .opencv_caffe.NetState test_state = 27;
2637   int test_state_size() const;
2638   void clear_test_state();
2639   static const int kTestStateFieldNumber = 27;
2640   const ::opencv_caffe::NetState& test_state(int index) const;
2641   ::opencv_caffe::NetState* mutable_test_state(int index);
2642   ::opencv_caffe::NetState* add_test_state();
2643   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >*
2644       mutable_test_state();
2645   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >&
2646       test_state() const;
2647
2648   // repeated int32 test_iter = 3;
2649   int test_iter_size() const;
2650   void clear_test_iter();
2651   static const int kTestIterFieldNumber = 3;
2652   ::google::protobuf::int32 test_iter(int index) const;
2653   void set_test_iter(int index, ::google::protobuf::int32 value);
2654   void add_test_iter(::google::protobuf::int32 value);
2655   const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2656       test_iter() const;
2657   ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2658       mutable_test_iter();
2659
2660   // optional int32 test_interval = 4 [default = 0];
2661   bool has_test_interval() const;
2662   void clear_test_interval();
2663   static const int kTestIntervalFieldNumber = 4;
2664   ::google::protobuf::int32 test_interval() const;
2665   void set_test_interval(::google::protobuf::int32 value);
2666
2667   // optional bool test_compute_loss = 19 [default = false];
2668   bool has_test_compute_loss() const;
2669   void clear_test_compute_loss();
2670   static const int kTestComputeLossFieldNumber = 19;
2671   bool test_compute_loss() const;
2672   void set_test_compute_loss(bool value);
2673
2674   // optional bool test_initialization = 32 [default = true];
2675   bool has_test_initialization() const;
2676   void clear_test_initialization();
2677   static const int kTestInitializationFieldNumber = 32;
2678   bool test_initialization() const;
2679   void set_test_initialization(bool value);
2680
2681   // optional float base_lr = 5;
2682   bool has_base_lr() const;
2683   void clear_base_lr();
2684   static const int kBaseLrFieldNumber = 5;
2685   float base_lr() const;
2686   void set_base_lr(float value);
2687
2688   // optional int32 display = 6;
2689   bool has_display() const;
2690   void clear_display();
2691   static const int kDisplayFieldNumber = 6;
2692   ::google::protobuf::int32 display() const;
2693   void set_display(::google::protobuf::int32 value);
2694
2695   // optional int32 average_loss = 33 [default = 1];
2696   bool has_average_loss() const;
2697   void clear_average_loss();
2698   static const int kAverageLossFieldNumber = 33;
2699   ::google::protobuf::int32 average_loss() const;
2700   void set_average_loss(::google::protobuf::int32 value);
2701
2702   // optional int32 max_iter = 7;
2703   bool has_max_iter() const;
2704   void clear_max_iter();
2705   static const int kMaxIterFieldNumber = 7;
2706   ::google::protobuf::int32 max_iter() const;
2707   void set_max_iter(::google::protobuf::int32 value);
2708
2709   // optional int32 iter_size = 36 [default = 1];
2710   bool has_iter_size() const;
2711   void clear_iter_size();
2712   static const int kIterSizeFieldNumber = 36;
2713   ::google::protobuf::int32 iter_size() const;
2714   void set_iter_size(::google::protobuf::int32 value);
2715
2716   // optional string lr_policy = 8;
2717   bool has_lr_policy() const;
2718   void clear_lr_policy();
2719   static const int kLrPolicyFieldNumber = 8;
2720   const ::std::string& lr_policy() const;
2721   void set_lr_policy(const ::std::string& value);
2722   void set_lr_policy(const char* value);
2723   void set_lr_policy(const char* value, size_t size);
2724   ::std::string* mutable_lr_policy();
2725   ::std::string* release_lr_policy();
2726   void set_allocated_lr_policy(::std::string* lr_policy);
2727
2728   // optional float gamma = 9;
2729   bool has_gamma() const;
2730   void clear_gamma();
2731   static const int kGammaFieldNumber = 9;
2732   float gamma() const;
2733   void set_gamma(float value);
2734
2735   // optional float power = 10;
2736   bool has_power() const;
2737   void clear_power();
2738   static const int kPowerFieldNumber = 10;
2739   float power() const;
2740   void set_power(float value);
2741
2742   // optional float momentum = 11;
2743   bool has_momentum() const;
2744   void clear_momentum();
2745   static const int kMomentumFieldNumber = 11;
2746   float momentum() const;
2747   void set_momentum(float value);
2748
2749   // optional float weight_decay = 12;
2750   bool has_weight_decay() const;
2751   void clear_weight_decay();
2752   static const int kWeightDecayFieldNumber = 12;
2753   float weight_decay() const;
2754   void set_weight_decay(float value);
2755
2756   // optional string regularization_type = 29 [default = "L2"];
2757   bool has_regularization_type() const;
2758   void clear_regularization_type();
2759   static const int kRegularizationTypeFieldNumber = 29;
2760   const ::std::string& regularization_type() const;
2761   void set_regularization_type(const ::std::string& value);
2762   void set_regularization_type(const char* value);
2763   void set_regularization_type(const char* value, size_t size);
2764   ::std::string* mutable_regularization_type();
2765   ::std::string* release_regularization_type();
2766   void set_allocated_regularization_type(::std::string* regularization_type);
2767
2768   // optional int32 stepsize = 13;
2769   bool has_stepsize() const;
2770   void clear_stepsize();
2771   static const int kStepsizeFieldNumber = 13;
2772   ::google::protobuf::int32 stepsize() const;
2773   void set_stepsize(::google::protobuf::int32 value);
2774
2775   // repeated int32 stepvalue = 34;
2776   int stepvalue_size() const;
2777   void clear_stepvalue();
2778   static const int kStepvalueFieldNumber = 34;
2779   ::google::protobuf::int32 stepvalue(int index) const;
2780   void set_stepvalue(int index, ::google::protobuf::int32 value);
2781   void add_stepvalue(::google::protobuf::int32 value);
2782   const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
2783       stepvalue() const;
2784   ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
2785       mutable_stepvalue();
2786
2787   // optional float clip_gradients = 35 [default = -1];
2788   bool has_clip_gradients() const;
2789   void clear_clip_gradients();
2790   static const int kClipGradientsFieldNumber = 35;
2791   float clip_gradients() const;
2792   void set_clip_gradients(float value);
2793
2794   // optional int32 snapshot = 14 [default = 0];
2795   bool has_snapshot() const;
2796   void clear_snapshot();
2797   static const int kSnapshotFieldNumber = 14;
2798   ::google::protobuf::int32 snapshot() const;
2799   void set_snapshot(::google::protobuf::int32 value);
2800
2801   // optional string snapshot_prefix = 15;
2802   bool has_snapshot_prefix() const;
2803   void clear_snapshot_prefix();
2804   static const int kSnapshotPrefixFieldNumber = 15;
2805   const ::std::string& snapshot_prefix() const;
2806   void set_snapshot_prefix(const ::std::string& value);
2807   void set_snapshot_prefix(const char* value);
2808   void set_snapshot_prefix(const char* value, size_t size);
2809   ::std::string* mutable_snapshot_prefix();
2810   ::std::string* release_snapshot_prefix();
2811   void set_allocated_snapshot_prefix(::std::string* snapshot_prefix);
2812
2813   // optional bool snapshot_diff = 16 [default = false];
2814   bool has_snapshot_diff() const;
2815   void clear_snapshot_diff();
2816   static const int kSnapshotDiffFieldNumber = 16;
2817   bool snapshot_diff() const;
2818   void set_snapshot_diff(bool value);
2819
2820   // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
2821   bool has_snapshot_format() const;
2822   void clear_snapshot_format();
2823   static const int kSnapshotFormatFieldNumber = 37;
2824   ::opencv_caffe::SolverParameter_SnapshotFormat snapshot_format() const;
2825   void set_snapshot_format(::opencv_caffe::SolverParameter_SnapshotFormat value);
2826
2827   // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
2828   bool has_solver_mode() const;
2829   void clear_solver_mode();
2830   static const int kSolverModeFieldNumber = 17;
2831   ::opencv_caffe::SolverParameter_SolverMode solver_mode() const;
2832   void set_solver_mode(::opencv_caffe::SolverParameter_SolverMode value);
2833
2834   // optional int32 device_id = 18 [default = 0];
2835   bool has_device_id() const;
2836   void clear_device_id();
2837   static const int kDeviceIdFieldNumber = 18;
2838   ::google::protobuf::int32 device_id() const;
2839   void set_device_id(::google::protobuf::int32 value);
2840
2841   // optional int64 random_seed = 20 [default = -1];
2842   bool has_random_seed() const;
2843   void clear_random_seed();
2844   static const int kRandomSeedFieldNumber = 20;
2845   ::google::protobuf::int64 random_seed() const;
2846   void set_random_seed(::google::protobuf::int64 value);
2847
2848   // optional string type = 40 [default = "SGD"];
2849   bool has_type() const;
2850   void clear_type();
2851   static const int kTypeFieldNumber = 40;
2852   const ::std::string& type() const;
2853   void set_type(const ::std::string& value);
2854   void set_type(const char* value);
2855   void set_type(const char* value, size_t size);
2856   ::std::string* mutable_type();
2857   ::std::string* release_type();
2858   void set_allocated_type(::std::string* type);
2859
2860   // optional float delta = 31 [default = 1e-08];
2861   bool has_delta() const;
2862   void clear_delta();
2863   static const int kDeltaFieldNumber = 31;
2864   float delta() const;
2865   void set_delta(float value);
2866
2867   // optional float momentum2 = 39 [default = 0.999];
2868   bool has_momentum2() const;
2869   void clear_momentum2();
2870   static const int kMomentum2FieldNumber = 39;
2871   float momentum2() const;
2872   void set_momentum2(float value);
2873
2874   // optional float rms_decay = 38 [default = 0.99];
2875   bool has_rms_decay() const;
2876   void clear_rms_decay();
2877   static const int kRmsDecayFieldNumber = 38;
2878   float rms_decay() const;
2879   void set_rms_decay(float value);
2880
2881   // optional bool debug_info = 23 [default = false];
2882   bool has_debug_info() const;
2883   void clear_debug_info();
2884   static const int kDebugInfoFieldNumber = 23;
2885   bool debug_info() const;
2886   void set_debug_info(bool value);
2887
2888   // optional bool snapshot_after_train = 28 [default = true];
2889   bool has_snapshot_after_train() const;
2890   void clear_snapshot_after_train();
2891   static const int kSnapshotAfterTrainFieldNumber = 28;
2892   bool snapshot_after_train() const;
2893   void set_snapshot_after_train(bool value);
2894
2895   // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
2896   bool has_solver_type() const;
2897   void clear_solver_type();
2898   static const int kSolverTypeFieldNumber = 30;
2899   ::opencv_caffe::SolverParameter_SolverType solver_type() const;
2900   void set_solver_type(::opencv_caffe::SolverParameter_SolverType value);
2901
2902   // @@protoc_insertion_point(class_scope:opencv_caffe.SolverParameter)
2903  private:
2904   inline void set_has_net();
2905   inline void clear_has_net();
2906   inline void set_has_net_param();
2907   inline void clear_has_net_param();
2908   inline void set_has_train_net();
2909   inline void clear_has_train_net();
2910   inline void set_has_train_net_param();
2911   inline void clear_has_train_net_param();
2912   inline void set_has_train_state();
2913   inline void clear_has_train_state();
2914   inline void set_has_test_interval();
2915   inline void clear_has_test_interval();
2916   inline void set_has_test_compute_loss();
2917   inline void clear_has_test_compute_loss();
2918   inline void set_has_test_initialization();
2919   inline void clear_has_test_initialization();
2920   inline void set_has_base_lr();
2921   inline void clear_has_base_lr();
2922   inline void set_has_display();
2923   inline void clear_has_display();
2924   inline void set_has_average_loss();
2925   inline void clear_has_average_loss();
2926   inline void set_has_max_iter();
2927   inline void clear_has_max_iter();
2928   inline void set_has_iter_size();
2929   inline void clear_has_iter_size();
2930   inline void set_has_lr_policy();
2931   inline void clear_has_lr_policy();
2932   inline void set_has_gamma();
2933   inline void clear_has_gamma();
2934   inline void set_has_power();
2935   inline void clear_has_power();
2936   inline void set_has_momentum();
2937   inline void clear_has_momentum();
2938   inline void set_has_weight_decay();
2939   inline void clear_has_weight_decay();
2940   inline void set_has_regularization_type();
2941   inline void clear_has_regularization_type();
2942   inline void set_has_stepsize();
2943   inline void clear_has_stepsize();
2944   inline void set_has_clip_gradients();
2945   inline void clear_has_clip_gradients();
2946   inline void set_has_snapshot();
2947   inline void clear_has_snapshot();
2948   inline void set_has_snapshot_prefix();
2949   inline void clear_has_snapshot_prefix();
2950   inline void set_has_snapshot_diff();
2951   inline void clear_has_snapshot_diff();
2952   inline void set_has_snapshot_format();
2953   inline void clear_has_snapshot_format();
2954   inline void set_has_solver_mode();
2955   inline void clear_has_solver_mode();
2956   inline void set_has_device_id();
2957   inline void clear_has_device_id();
2958   inline void set_has_random_seed();
2959   inline void clear_has_random_seed();
2960   inline void set_has_type();
2961   inline void clear_has_type();
2962   inline void set_has_delta();
2963   inline void clear_has_delta();
2964   inline void set_has_momentum2();
2965   inline void clear_has_momentum2();
2966   inline void set_has_rms_decay();
2967   inline void clear_has_rms_decay();
2968   inline void set_has_debug_info();
2969   inline void clear_has_debug_info();
2970   inline void set_has_snapshot_after_train();
2971   inline void clear_has_snapshot_after_train();
2972   inline void set_has_solver_type();
2973   inline void clear_has_solver_type();
2974
2975   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
2976   ::google::protobuf::internal::HasBits<2> _has_bits_;
2977   ::google::protobuf::RepeatedPtrField< ::std::string> test_net_;
2978   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter > test_net_param_;
2979   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState > test_state_;
2980   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > test_iter_;
2981   ::google::protobuf::RepeatedField< ::google::protobuf::int32 > stepvalue_;
2982   ::google::protobuf::internal::ArenaStringPtr net_;
2983   ::google::protobuf::internal::ArenaStringPtr train_net_;
2984   ::google::protobuf::internal::ArenaStringPtr lr_policy_;
2985   static ::std::string* _default_regularization_type_;
2986   ::google::protobuf::internal::ArenaStringPtr regularization_type_;
2987   ::google::protobuf::internal::ArenaStringPtr snapshot_prefix_;
2988   static ::std::string* _default_type_;
2989   ::google::protobuf::internal::ArenaStringPtr type_;
2990   ::opencv_caffe::NetParameter* net_param_;
2991   ::opencv_caffe::NetParameter* train_net_param_;
2992   ::opencv_caffe::NetState* train_state_;
2993   ::google::protobuf::int32 test_interval_;
2994   float base_lr_;
2995   ::google::protobuf::int32 display_;
2996   ::google::protobuf::int32 max_iter_;
2997   float gamma_;
2998   float power_;
2999   float momentum_;
3000   float weight_decay_;
3001   ::google::protobuf::int32 stepsize_;
3002   bool test_compute_loss_;
3003   bool snapshot_diff_;
3004   bool debug_info_;
3005   ::google::protobuf::int32 snapshot_;
3006   ::google::protobuf::int32 device_id_;
3007   int solver_type_;
3008   float rms_decay_;
3009   ::google::protobuf::int32 average_loss_;
3010   ::google::protobuf::int32 iter_size_;
3011   bool test_initialization_;
3012   bool snapshot_after_train_;
3013   float clip_gradients_;
3014   int snapshot_format_;
3015   int solver_mode_;
3016   ::google::protobuf::int64 random_seed_;
3017   float delta_;
3018   float momentum2_;
3019   mutable int _cached_size_;
3020   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3021   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3022   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3023   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3024
3025   void InitAsDefaultInstance();
3026 };
3027 extern ::google::protobuf::internal::ExplicitlyConstructed<SolverParameter> SolverParameter_default_instance_;
3028
3029 // -------------------------------------------------------------------
3030
3031 class SolverState : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SolverState) */ {
3032  public:
3033   SolverState();
3034   virtual ~SolverState();
3035
3036   SolverState(const SolverState& from);
3037
3038   inline SolverState& operator=(const SolverState& from) {
3039     CopyFrom(from);
3040     return *this;
3041   }
3042
3043   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3044     return _internal_metadata_.unknown_fields();
3045   }
3046
3047   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3048     return _internal_metadata_.mutable_unknown_fields();
3049   }
3050
3051   static const ::google::protobuf::Descriptor* descriptor();
3052   static const SolverState& default_instance();
3053
3054   static const SolverState* internal_default_instance();
3055
3056   void Swap(SolverState* other);
3057
3058   // implements Message ----------------------------------------------
3059
3060   inline SolverState* New() const { return New(NULL); }
3061
3062   SolverState* New(::google::protobuf::Arena* arena) const;
3063   void CopyFrom(const ::google::protobuf::Message& from);
3064   void MergeFrom(const ::google::protobuf::Message& from);
3065   void CopyFrom(const SolverState& from);
3066   void MergeFrom(const SolverState& from);
3067   void Clear();
3068   bool IsInitialized() const;
3069
3070   size_t ByteSizeLong() const;
3071   bool MergePartialFromCodedStream(
3072       ::google::protobuf::io::CodedInputStream* input);
3073   void SerializeWithCachedSizes(
3074       ::google::protobuf::io::CodedOutputStream* output) const;
3075   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3076       bool deterministic, ::google::protobuf::uint8* output) const;
3077   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3078     return InternalSerializeWithCachedSizesToArray(false, output);
3079   }
3080   int GetCachedSize() const { return _cached_size_; }
3081   private:
3082   void SharedCtor();
3083   void SharedDtor();
3084   void SetCachedSize(int size) const;
3085   void InternalSwap(SolverState* other);
3086   void UnsafeMergeFrom(const SolverState& from);
3087   private:
3088   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3089     return _internal_metadata_.arena();
3090   }
3091   inline void* MaybeArenaPtr() const {
3092     return _internal_metadata_.raw_arena_ptr();
3093   }
3094   public:
3095
3096   ::google::protobuf::Metadata GetMetadata() const;
3097
3098   // nested types ----------------------------------------------------
3099
3100   // accessors -------------------------------------------------------
3101
3102   // optional int32 iter = 1;
3103   bool has_iter() const;
3104   void clear_iter();
3105   static const int kIterFieldNumber = 1;
3106   ::google::protobuf::int32 iter() const;
3107   void set_iter(::google::protobuf::int32 value);
3108
3109   // optional string learned_net = 2;
3110   bool has_learned_net() const;
3111   void clear_learned_net();
3112   static const int kLearnedNetFieldNumber = 2;
3113   const ::std::string& learned_net() const;
3114   void set_learned_net(const ::std::string& value);
3115   void set_learned_net(const char* value);
3116   void set_learned_net(const char* value, size_t size);
3117   ::std::string* mutable_learned_net();
3118   ::std::string* release_learned_net();
3119   void set_allocated_learned_net(::std::string* learned_net);
3120
3121   // repeated .opencv_caffe.BlobProto history = 3;
3122   int history_size() const;
3123   void clear_history();
3124   static const int kHistoryFieldNumber = 3;
3125   const ::opencv_caffe::BlobProto& history(int index) const;
3126   ::opencv_caffe::BlobProto* mutable_history(int index);
3127   ::opencv_caffe::BlobProto* add_history();
3128   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
3129       mutable_history();
3130   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
3131       history() const;
3132
3133   // optional int32 current_step = 4 [default = 0];
3134   bool has_current_step() const;
3135   void clear_current_step();
3136   static const int kCurrentStepFieldNumber = 4;
3137   ::google::protobuf::int32 current_step() const;
3138   void set_current_step(::google::protobuf::int32 value);
3139
3140   // @@protoc_insertion_point(class_scope:opencv_caffe.SolverState)
3141  private:
3142   inline void set_has_iter();
3143   inline void clear_has_iter();
3144   inline void set_has_learned_net();
3145   inline void clear_has_learned_net();
3146   inline void set_has_current_step();
3147   inline void clear_has_current_step();
3148
3149   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3150   ::google::protobuf::internal::HasBits<1> _has_bits_;
3151   mutable int _cached_size_;
3152   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > history_;
3153   ::google::protobuf::internal::ArenaStringPtr learned_net_;
3154   ::google::protobuf::int32 iter_;
3155   ::google::protobuf::int32 current_step_;
3156   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3157   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3158   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3159   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3160
3161   void InitAsDefaultInstance();
3162 };
3163 extern ::google::protobuf::internal::ExplicitlyConstructed<SolverState> SolverState_default_instance_;
3164
3165 // -------------------------------------------------------------------
3166
3167 class NetState : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NetState) */ {
3168  public:
3169   NetState();
3170   virtual ~NetState();
3171
3172   NetState(const NetState& from);
3173
3174   inline NetState& operator=(const NetState& from) {
3175     CopyFrom(from);
3176     return *this;
3177   }
3178
3179   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3180     return _internal_metadata_.unknown_fields();
3181   }
3182
3183   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3184     return _internal_metadata_.mutable_unknown_fields();
3185   }
3186
3187   static const ::google::protobuf::Descriptor* descriptor();
3188   static const NetState& default_instance();
3189
3190   static const NetState* internal_default_instance();
3191
3192   void Swap(NetState* other);
3193
3194   // implements Message ----------------------------------------------
3195
3196   inline NetState* New() const { return New(NULL); }
3197
3198   NetState* New(::google::protobuf::Arena* arena) const;
3199   void CopyFrom(const ::google::protobuf::Message& from);
3200   void MergeFrom(const ::google::protobuf::Message& from);
3201   void CopyFrom(const NetState& from);
3202   void MergeFrom(const NetState& from);
3203   void Clear();
3204   bool IsInitialized() const;
3205
3206   size_t ByteSizeLong() const;
3207   bool MergePartialFromCodedStream(
3208       ::google::protobuf::io::CodedInputStream* input);
3209   void SerializeWithCachedSizes(
3210       ::google::protobuf::io::CodedOutputStream* output) const;
3211   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3212       bool deterministic, ::google::protobuf::uint8* output) const;
3213   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3214     return InternalSerializeWithCachedSizesToArray(false, output);
3215   }
3216   int GetCachedSize() const { return _cached_size_; }
3217   private:
3218   void SharedCtor();
3219   void SharedDtor();
3220   void SetCachedSize(int size) const;
3221   void InternalSwap(NetState* other);
3222   void UnsafeMergeFrom(const NetState& from);
3223   private:
3224   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3225     return _internal_metadata_.arena();
3226   }
3227   inline void* MaybeArenaPtr() const {
3228     return _internal_metadata_.raw_arena_ptr();
3229   }
3230   public:
3231
3232   ::google::protobuf::Metadata GetMetadata() const;
3233
3234   // nested types ----------------------------------------------------
3235
3236   // accessors -------------------------------------------------------
3237
3238   // optional .opencv_caffe.Phase phase = 1 [default = TEST];
3239   bool has_phase() const;
3240   void clear_phase();
3241   static const int kPhaseFieldNumber = 1;
3242   ::opencv_caffe::Phase phase() const;
3243   void set_phase(::opencv_caffe::Phase value);
3244
3245   // optional int32 level = 2 [default = 0];
3246   bool has_level() const;
3247   void clear_level();
3248   static const int kLevelFieldNumber = 2;
3249   ::google::protobuf::int32 level() const;
3250   void set_level(::google::protobuf::int32 value);
3251
3252   // repeated string stage = 3;
3253   int stage_size() const;
3254   void clear_stage();
3255   static const int kStageFieldNumber = 3;
3256   const ::std::string& stage(int index) const;
3257   ::std::string* mutable_stage(int index);
3258   void set_stage(int index, const ::std::string& value);
3259   void set_stage(int index, const char* value);
3260   void set_stage(int index, const char* value, size_t size);
3261   ::std::string* add_stage();
3262   void add_stage(const ::std::string& value);
3263   void add_stage(const char* value);
3264   void add_stage(const char* value, size_t size);
3265   const ::google::protobuf::RepeatedPtrField< ::std::string>& stage() const;
3266   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_stage();
3267
3268   // @@protoc_insertion_point(class_scope:opencv_caffe.NetState)
3269  private:
3270   inline void set_has_phase();
3271   inline void clear_has_phase();
3272   inline void set_has_level();
3273   inline void clear_has_level();
3274
3275   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3276   ::google::protobuf::internal::HasBits<1> _has_bits_;
3277   mutable int _cached_size_;
3278   ::google::protobuf::RepeatedPtrField< ::std::string> stage_;
3279   ::google::protobuf::int32 level_;
3280   int phase_;
3281   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3282   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3283   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3284   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3285
3286   void InitAsDefaultInstance();
3287 };
3288 extern ::google::protobuf::internal::ExplicitlyConstructed<NetState> NetState_default_instance_;
3289
3290 // -------------------------------------------------------------------
3291
3292 class NetStateRule : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NetStateRule) */ {
3293  public:
3294   NetStateRule();
3295   virtual ~NetStateRule();
3296
3297   NetStateRule(const NetStateRule& from);
3298
3299   inline NetStateRule& operator=(const NetStateRule& from) {
3300     CopyFrom(from);
3301     return *this;
3302   }
3303
3304   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3305     return _internal_metadata_.unknown_fields();
3306   }
3307
3308   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3309     return _internal_metadata_.mutable_unknown_fields();
3310   }
3311
3312   static const ::google::protobuf::Descriptor* descriptor();
3313   static const NetStateRule& default_instance();
3314
3315   static const NetStateRule* internal_default_instance();
3316
3317   void Swap(NetStateRule* other);
3318
3319   // implements Message ----------------------------------------------
3320
3321   inline NetStateRule* New() const { return New(NULL); }
3322
3323   NetStateRule* New(::google::protobuf::Arena* arena) const;
3324   void CopyFrom(const ::google::protobuf::Message& from);
3325   void MergeFrom(const ::google::protobuf::Message& from);
3326   void CopyFrom(const NetStateRule& from);
3327   void MergeFrom(const NetStateRule& from);
3328   void Clear();
3329   bool IsInitialized() const;
3330
3331   size_t ByteSizeLong() const;
3332   bool MergePartialFromCodedStream(
3333       ::google::protobuf::io::CodedInputStream* input);
3334   void SerializeWithCachedSizes(
3335       ::google::protobuf::io::CodedOutputStream* output) const;
3336   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3337       bool deterministic, ::google::protobuf::uint8* output) const;
3338   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3339     return InternalSerializeWithCachedSizesToArray(false, output);
3340   }
3341   int GetCachedSize() const { return _cached_size_; }
3342   private:
3343   void SharedCtor();
3344   void SharedDtor();
3345   void SetCachedSize(int size) const;
3346   void InternalSwap(NetStateRule* other);
3347   void UnsafeMergeFrom(const NetStateRule& from);
3348   private:
3349   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3350     return _internal_metadata_.arena();
3351   }
3352   inline void* MaybeArenaPtr() const {
3353     return _internal_metadata_.raw_arena_ptr();
3354   }
3355   public:
3356
3357   ::google::protobuf::Metadata GetMetadata() const;
3358
3359   // nested types ----------------------------------------------------
3360
3361   // accessors -------------------------------------------------------
3362
3363   // optional .opencv_caffe.Phase phase = 1;
3364   bool has_phase() const;
3365   void clear_phase();
3366   static const int kPhaseFieldNumber = 1;
3367   ::opencv_caffe::Phase phase() const;
3368   void set_phase(::opencv_caffe::Phase value);
3369
3370   // optional int32 min_level = 2;
3371   bool has_min_level() const;
3372   void clear_min_level();
3373   static const int kMinLevelFieldNumber = 2;
3374   ::google::protobuf::int32 min_level() const;
3375   void set_min_level(::google::protobuf::int32 value);
3376
3377   // optional int32 max_level = 3;
3378   bool has_max_level() const;
3379   void clear_max_level();
3380   static const int kMaxLevelFieldNumber = 3;
3381   ::google::protobuf::int32 max_level() const;
3382   void set_max_level(::google::protobuf::int32 value);
3383
3384   // repeated string stage = 4;
3385   int stage_size() const;
3386   void clear_stage();
3387   static const int kStageFieldNumber = 4;
3388   const ::std::string& stage(int index) const;
3389   ::std::string* mutable_stage(int index);
3390   void set_stage(int index, const ::std::string& value);
3391   void set_stage(int index, const char* value);
3392   void set_stage(int index, const char* value, size_t size);
3393   ::std::string* add_stage();
3394   void add_stage(const ::std::string& value);
3395   void add_stage(const char* value);
3396   void add_stage(const char* value, size_t size);
3397   const ::google::protobuf::RepeatedPtrField< ::std::string>& stage() const;
3398   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_stage();
3399
3400   // repeated string not_stage = 5;
3401   int not_stage_size() const;
3402   void clear_not_stage();
3403   static const int kNotStageFieldNumber = 5;
3404   const ::std::string& not_stage(int index) const;
3405   ::std::string* mutable_not_stage(int index);
3406   void set_not_stage(int index, const ::std::string& value);
3407   void set_not_stage(int index, const char* value);
3408   void set_not_stage(int index, const char* value, size_t size);
3409   ::std::string* add_not_stage();
3410   void add_not_stage(const ::std::string& value);
3411   void add_not_stage(const char* value);
3412   void add_not_stage(const char* value, size_t size);
3413   const ::google::protobuf::RepeatedPtrField< ::std::string>& not_stage() const;
3414   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_not_stage();
3415
3416   // @@protoc_insertion_point(class_scope:opencv_caffe.NetStateRule)
3417  private:
3418   inline void set_has_phase();
3419   inline void clear_has_phase();
3420   inline void set_has_min_level();
3421   inline void clear_has_min_level();
3422   inline void set_has_max_level();
3423   inline void clear_has_max_level();
3424
3425   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3426   ::google::protobuf::internal::HasBits<1> _has_bits_;
3427   mutable int _cached_size_;
3428   ::google::protobuf::RepeatedPtrField< ::std::string> stage_;
3429   ::google::protobuf::RepeatedPtrField< ::std::string> not_stage_;
3430   int phase_;
3431   ::google::protobuf::int32 min_level_;
3432   ::google::protobuf::int32 max_level_;
3433   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3434   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3435   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3436   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3437
3438   void InitAsDefaultInstance();
3439 };
3440 extern ::google::protobuf::internal::ExplicitlyConstructed<NetStateRule> NetStateRule_default_instance_;
3441
3442 // -------------------------------------------------------------------
3443
3444 class ParamSpec : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ParamSpec) */ {
3445  public:
3446   ParamSpec();
3447   virtual ~ParamSpec();
3448
3449   ParamSpec(const ParamSpec& from);
3450
3451   inline ParamSpec& operator=(const ParamSpec& from) {
3452     CopyFrom(from);
3453     return *this;
3454   }
3455
3456   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3457     return _internal_metadata_.unknown_fields();
3458   }
3459
3460   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3461     return _internal_metadata_.mutable_unknown_fields();
3462   }
3463
3464   static const ::google::protobuf::Descriptor* descriptor();
3465   static const ParamSpec& default_instance();
3466
3467   static const ParamSpec* internal_default_instance();
3468
3469   void Swap(ParamSpec* other);
3470
3471   // implements Message ----------------------------------------------
3472
3473   inline ParamSpec* New() const { return New(NULL); }
3474
3475   ParamSpec* New(::google::protobuf::Arena* arena) const;
3476   void CopyFrom(const ::google::protobuf::Message& from);
3477   void MergeFrom(const ::google::protobuf::Message& from);
3478   void CopyFrom(const ParamSpec& from);
3479   void MergeFrom(const ParamSpec& from);
3480   void Clear();
3481   bool IsInitialized() const;
3482
3483   size_t ByteSizeLong() const;
3484   bool MergePartialFromCodedStream(
3485       ::google::protobuf::io::CodedInputStream* input);
3486   void SerializeWithCachedSizes(
3487       ::google::protobuf::io::CodedOutputStream* output) const;
3488   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3489       bool deterministic, ::google::protobuf::uint8* output) const;
3490   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3491     return InternalSerializeWithCachedSizesToArray(false, output);
3492   }
3493   int GetCachedSize() const { return _cached_size_; }
3494   private:
3495   void SharedCtor();
3496   void SharedDtor();
3497   void SetCachedSize(int size) const;
3498   void InternalSwap(ParamSpec* other);
3499   void UnsafeMergeFrom(const ParamSpec& from);
3500   private:
3501   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3502     return _internal_metadata_.arena();
3503   }
3504   inline void* MaybeArenaPtr() const {
3505     return _internal_metadata_.raw_arena_ptr();
3506   }
3507   public:
3508
3509   ::google::protobuf::Metadata GetMetadata() const;
3510
3511   // nested types ----------------------------------------------------
3512
3513   typedef ParamSpec_DimCheckMode DimCheckMode;
3514   static const DimCheckMode STRICT =
3515     ParamSpec_DimCheckMode_STRICT;
3516   static const DimCheckMode PERMISSIVE =
3517     ParamSpec_DimCheckMode_PERMISSIVE;
3518   static inline bool DimCheckMode_IsValid(int value) {
3519     return ParamSpec_DimCheckMode_IsValid(value);
3520   }
3521   static const DimCheckMode DimCheckMode_MIN =
3522     ParamSpec_DimCheckMode_DimCheckMode_MIN;
3523   static const DimCheckMode DimCheckMode_MAX =
3524     ParamSpec_DimCheckMode_DimCheckMode_MAX;
3525   static const int DimCheckMode_ARRAYSIZE =
3526     ParamSpec_DimCheckMode_DimCheckMode_ARRAYSIZE;
3527   static inline const ::google::protobuf::EnumDescriptor*
3528   DimCheckMode_descriptor() {
3529     return ParamSpec_DimCheckMode_descriptor();
3530   }
3531   static inline const ::std::string& DimCheckMode_Name(DimCheckMode value) {
3532     return ParamSpec_DimCheckMode_Name(value);
3533   }
3534   static inline bool DimCheckMode_Parse(const ::std::string& name,
3535       DimCheckMode* value) {
3536     return ParamSpec_DimCheckMode_Parse(name, value);
3537   }
3538
3539   // accessors -------------------------------------------------------
3540
3541   // optional string name = 1;
3542   bool has_name() const;
3543   void clear_name();
3544   static const int kNameFieldNumber = 1;
3545   const ::std::string& name() const;
3546   void set_name(const ::std::string& value);
3547   void set_name(const char* value);
3548   void set_name(const char* value, size_t size);
3549   ::std::string* mutable_name();
3550   ::std::string* release_name();
3551   void set_allocated_name(::std::string* name);
3552
3553   // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
3554   bool has_share_mode() const;
3555   void clear_share_mode();
3556   static const int kShareModeFieldNumber = 2;
3557   ::opencv_caffe::ParamSpec_DimCheckMode share_mode() const;
3558   void set_share_mode(::opencv_caffe::ParamSpec_DimCheckMode value);
3559
3560   // optional float lr_mult = 3 [default = 1];
3561   bool has_lr_mult() const;
3562   void clear_lr_mult();
3563   static const int kLrMultFieldNumber = 3;
3564   float lr_mult() const;
3565   void set_lr_mult(float value);
3566
3567   // optional float decay_mult = 4 [default = 1];
3568   bool has_decay_mult() const;
3569   void clear_decay_mult();
3570   static const int kDecayMultFieldNumber = 4;
3571   float decay_mult() const;
3572   void set_decay_mult(float value);
3573
3574   // @@protoc_insertion_point(class_scope:opencv_caffe.ParamSpec)
3575  private:
3576   inline void set_has_name();
3577   inline void clear_has_name();
3578   inline void set_has_share_mode();
3579   inline void clear_has_share_mode();
3580   inline void set_has_lr_mult();
3581   inline void clear_has_lr_mult();
3582   inline void set_has_decay_mult();
3583   inline void clear_has_decay_mult();
3584
3585   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
3586   ::google::protobuf::internal::HasBits<1> _has_bits_;
3587   mutable int _cached_size_;
3588   ::google::protobuf::internal::ArenaStringPtr name_;
3589   int share_mode_;
3590   float lr_mult_;
3591   float decay_mult_;
3592   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
3593   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
3594   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
3595   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
3596
3597   void InitAsDefaultInstance();
3598 };
3599 extern ::google::protobuf::internal::ExplicitlyConstructed<ParamSpec> ParamSpec_default_instance_;
3600
3601 // -------------------------------------------------------------------
3602
3603 class LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LayerParameter) */ {
3604  public:
3605   LayerParameter();
3606   virtual ~LayerParameter();
3607
3608   LayerParameter(const LayerParameter& from);
3609
3610   inline LayerParameter& operator=(const LayerParameter& from) {
3611     CopyFrom(from);
3612     return *this;
3613   }
3614
3615   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
3616     return _internal_metadata_.unknown_fields();
3617   }
3618
3619   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
3620     return _internal_metadata_.mutable_unknown_fields();
3621   }
3622
3623   static const ::google::protobuf::Descriptor* descriptor();
3624   static const LayerParameter& default_instance();
3625
3626   static const LayerParameter* internal_default_instance();
3627
3628   void Swap(LayerParameter* other);
3629
3630   // implements Message ----------------------------------------------
3631
3632   inline LayerParameter* New() const { return New(NULL); }
3633
3634   LayerParameter* New(::google::protobuf::Arena* arena) const;
3635   void CopyFrom(const ::google::protobuf::Message& from);
3636   void MergeFrom(const ::google::protobuf::Message& from);
3637   void CopyFrom(const LayerParameter& from);
3638   void MergeFrom(const LayerParameter& from);
3639   void Clear();
3640   bool IsInitialized() const;
3641
3642   size_t ByteSizeLong() const;
3643   bool MergePartialFromCodedStream(
3644       ::google::protobuf::io::CodedInputStream* input);
3645   void SerializeWithCachedSizes(
3646       ::google::protobuf::io::CodedOutputStream* output) const;
3647   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
3648       bool deterministic, ::google::protobuf::uint8* output) const;
3649   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
3650     return InternalSerializeWithCachedSizesToArray(false, output);
3651   }
3652   int GetCachedSize() const { return _cached_size_; }
3653   private:
3654   void SharedCtor();
3655   void SharedDtor();
3656   void SetCachedSize(int size) const;
3657   void InternalSwap(LayerParameter* other);
3658   void UnsafeMergeFrom(const LayerParameter& from);
3659   private:
3660   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
3661     return _internal_metadata_.arena();
3662   }
3663   inline void* MaybeArenaPtr() const {
3664     return _internal_metadata_.raw_arena_ptr();
3665   }
3666   public:
3667
3668   ::google::protobuf::Metadata GetMetadata() const;
3669
3670   // nested types ----------------------------------------------------
3671
3672   // accessors -------------------------------------------------------
3673
3674   // optional string name = 1;
3675   bool has_name() const;
3676   void clear_name();
3677   static const int kNameFieldNumber = 1;
3678   const ::std::string& name() const;
3679   void set_name(const ::std::string& value);
3680   void set_name(const char* value);
3681   void set_name(const char* value, size_t size);
3682   ::std::string* mutable_name();
3683   ::std::string* release_name();
3684   void set_allocated_name(::std::string* name);
3685
3686   // optional string type = 2;
3687   bool has_type() const;
3688   void clear_type();
3689   static const int kTypeFieldNumber = 2;
3690   const ::std::string& type() const;
3691   void set_type(const ::std::string& value);
3692   void set_type(const char* value);
3693   void set_type(const char* value, size_t size);
3694   ::std::string* mutable_type();
3695   ::std::string* release_type();
3696   void set_allocated_type(::std::string* type);
3697
3698   // repeated string bottom = 3;
3699   int bottom_size() const;
3700   void clear_bottom();
3701   static const int kBottomFieldNumber = 3;
3702   const ::std::string& bottom(int index) const;
3703   ::std::string* mutable_bottom(int index);
3704   void set_bottom(int index, const ::std::string& value);
3705   void set_bottom(int index, const char* value);
3706   void set_bottom(int index, const char* value, size_t size);
3707   ::std::string* add_bottom();
3708   void add_bottom(const ::std::string& value);
3709   void add_bottom(const char* value);
3710   void add_bottom(const char* value, size_t size);
3711   const ::google::protobuf::RepeatedPtrField< ::std::string>& bottom() const;
3712   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_bottom();
3713
3714   // repeated string top = 4;
3715   int top_size() const;
3716   void clear_top();
3717   static const int kTopFieldNumber = 4;
3718   const ::std::string& top(int index) const;
3719   ::std::string* mutable_top(int index);
3720   void set_top(int index, const ::std::string& value);
3721   void set_top(int index, const char* value);
3722   void set_top(int index, const char* value, size_t size);
3723   ::std::string* add_top();
3724   void add_top(const ::std::string& value);
3725   void add_top(const char* value);
3726   void add_top(const char* value, size_t size);
3727   const ::google::protobuf::RepeatedPtrField< ::std::string>& top() const;
3728   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_top();
3729
3730   // optional .opencv_caffe.Phase phase = 10;
3731   bool has_phase() const;
3732   void clear_phase();
3733   static const int kPhaseFieldNumber = 10;
3734   ::opencv_caffe::Phase phase() const;
3735   void set_phase(::opencv_caffe::Phase value);
3736
3737   // repeated float loss_weight = 5;
3738   int loss_weight_size() const;
3739   void clear_loss_weight();
3740   static const int kLossWeightFieldNumber = 5;
3741   float loss_weight(int index) const;
3742   void set_loss_weight(int index, float value);
3743   void add_loss_weight(float value);
3744   const ::google::protobuf::RepeatedField< float >&
3745       loss_weight() const;
3746   ::google::protobuf::RepeatedField< float >*
3747       mutable_loss_weight();
3748
3749   // repeated .opencv_caffe.ParamSpec param = 6;
3750   int param_size() const;
3751   void clear_param();
3752   static const int kParamFieldNumber = 6;
3753   const ::opencv_caffe::ParamSpec& param(int index) const;
3754   ::opencv_caffe::ParamSpec* mutable_param(int index);
3755   ::opencv_caffe::ParamSpec* add_param();
3756   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >*
3757       mutable_param();
3758   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >&
3759       param() const;
3760
3761   // repeated .opencv_caffe.BlobProto blobs = 7;
3762   int blobs_size() const;
3763   void clear_blobs();
3764   static const int kBlobsFieldNumber = 7;
3765   const ::opencv_caffe::BlobProto& blobs(int index) const;
3766   ::opencv_caffe::BlobProto* mutable_blobs(int index);
3767   ::opencv_caffe::BlobProto* add_blobs();
3768   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
3769       mutable_blobs();
3770   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
3771       blobs() const;
3772
3773   // repeated bool propagate_down = 11;
3774   int propagate_down_size() const;
3775   void clear_propagate_down();
3776   static const int kPropagateDownFieldNumber = 11;
3777   bool propagate_down(int index) const;
3778   void set_propagate_down(int index, bool value);
3779   void add_propagate_down(bool value);
3780   const ::google::protobuf::RepeatedField< bool >&
3781       propagate_down() const;
3782   ::google::protobuf::RepeatedField< bool >*
3783       mutable_propagate_down();
3784
3785   // repeated .opencv_caffe.NetStateRule include = 8;
3786   int include_size() const;
3787   void clear_include();
3788   static const int kIncludeFieldNumber = 8;
3789   const ::opencv_caffe::NetStateRule& include(int index) const;
3790   ::opencv_caffe::NetStateRule* mutable_include(int index);
3791   ::opencv_caffe::NetStateRule* add_include();
3792   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
3793       mutable_include();
3794   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
3795       include() const;
3796
3797   // repeated .opencv_caffe.NetStateRule exclude = 9;
3798   int exclude_size() const;
3799   void clear_exclude();
3800   static const int kExcludeFieldNumber = 9;
3801   const ::opencv_caffe::NetStateRule& exclude(int index) const;
3802   ::opencv_caffe::NetStateRule* mutable_exclude(int index);
3803   ::opencv_caffe::NetStateRule* add_exclude();
3804   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
3805       mutable_exclude();
3806   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
3807       exclude() const;
3808
3809   // optional .opencv_caffe.TransformationParameter transform_param = 100;
3810   bool has_transform_param() const;
3811   void clear_transform_param();
3812   static const int kTransformParamFieldNumber = 100;
3813   const ::opencv_caffe::TransformationParameter& transform_param() const;
3814   ::opencv_caffe::TransformationParameter* mutable_transform_param();
3815   ::opencv_caffe::TransformationParameter* release_transform_param();
3816   void set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param);
3817
3818   // optional .opencv_caffe.LossParameter loss_param = 101;
3819   bool has_loss_param() const;
3820   void clear_loss_param();
3821   static const int kLossParamFieldNumber = 101;
3822   const ::opencv_caffe::LossParameter& loss_param() const;
3823   ::opencv_caffe::LossParameter* mutable_loss_param();
3824   ::opencv_caffe::LossParameter* release_loss_param();
3825   void set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param);
3826
3827   // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
3828   bool has_accuracy_param() const;
3829   void clear_accuracy_param();
3830   static const int kAccuracyParamFieldNumber = 102;
3831   const ::opencv_caffe::AccuracyParameter& accuracy_param() const;
3832   ::opencv_caffe::AccuracyParameter* mutable_accuracy_param();
3833   ::opencv_caffe::AccuracyParameter* release_accuracy_param();
3834   void set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param);
3835
3836   // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
3837   bool has_argmax_param() const;
3838   void clear_argmax_param();
3839   static const int kArgmaxParamFieldNumber = 103;
3840   const ::opencv_caffe::ArgMaxParameter& argmax_param() const;
3841   ::opencv_caffe::ArgMaxParameter* mutable_argmax_param();
3842   ::opencv_caffe::ArgMaxParameter* release_argmax_param();
3843   void set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param);
3844
3845   // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
3846   bool has_batch_norm_param() const;
3847   void clear_batch_norm_param();
3848   static const int kBatchNormParamFieldNumber = 139;
3849   const ::opencv_caffe::BatchNormParameter& batch_norm_param() const;
3850   ::opencv_caffe::BatchNormParameter* mutable_batch_norm_param();
3851   ::opencv_caffe::BatchNormParameter* release_batch_norm_param();
3852   void set_allocated_batch_norm_param(::opencv_caffe::BatchNormParameter* batch_norm_param);
3853
3854   // optional .opencv_caffe.BiasParameter bias_param = 141;
3855   bool has_bias_param() const;
3856   void clear_bias_param();
3857   static const int kBiasParamFieldNumber = 141;
3858   const ::opencv_caffe::BiasParameter& bias_param() const;
3859   ::opencv_caffe::BiasParameter* mutable_bias_param();
3860   ::opencv_caffe::BiasParameter* release_bias_param();
3861   void set_allocated_bias_param(::opencv_caffe::BiasParameter* bias_param);
3862
3863   // optional .opencv_caffe.ConcatParameter concat_param = 104;
3864   bool has_concat_param() const;
3865   void clear_concat_param();
3866   static const int kConcatParamFieldNumber = 104;
3867   const ::opencv_caffe::ConcatParameter& concat_param() const;
3868   ::opencv_caffe::ConcatParameter* mutable_concat_param();
3869   ::opencv_caffe::ConcatParameter* release_concat_param();
3870   void set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param);
3871
3872   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
3873   bool has_contrastive_loss_param() const;
3874   void clear_contrastive_loss_param();
3875   static const int kContrastiveLossParamFieldNumber = 105;
3876   const ::opencv_caffe::ContrastiveLossParameter& contrastive_loss_param() const;
3877   ::opencv_caffe::ContrastiveLossParameter* mutable_contrastive_loss_param();
3878   ::opencv_caffe::ContrastiveLossParameter* release_contrastive_loss_param();
3879   void set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param);
3880
3881   // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
3882   bool has_convolution_param() const;
3883   void clear_convolution_param();
3884   static const int kConvolutionParamFieldNumber = 106;
3885   const ::opencv_caffe::ConvolutionParameter& convolution_param() const;
3886   ::opencv_caffe::ConvolutionParameter* mutable_convolution_param();
3887   ::opencv_caffe::ConvolutionParameter* release_convolution_param();
3888   void set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param);
3889
3890   // optional .opencv_caffe.CropParameter crop_param = 144;
3891   bool has_crop_param() const;
3892   void clear_crop_param();
3893   static const int kCropParamFieldNumber = 144;
3894   const ::opencv_caffe::CropParameter& crop_param() const;
3895   ::opencv_caffe::CropParameter* mutable_crop_param();
3896   ::opencv_caffe::CropParameter* release_crop_param();
3897   void set_allocated_crop_param(::opencv_caffe::CropParameter* crop_param);
3898
3899   // optional .opencv_caffe.DataParameter data_param = 107;
3900   bool has_data_param() const;
3901   void clear_data_param();
3902   static const int kDataParamFieldNumber = 107;
3903   const ::opencv_caffe::DataParameter& data_param() const;
3904   ::opencv_caffe::DataParameter* mutable_data_param();
3905   ::opencv_caffe::DataParameter* release_data_param();
3906   void set_allocated_data_param(::opencv_caffe::DataParameter* data_param);
3907
3908   // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
3909   bool has_detection_output_param() const;
3910   void clear_detection_output_param();
3911   static const int kDetectionOutputParamFieldNumber = 147;
3912   const ::opencv_caffe::DetectionOutputParameter& detection_output_param() const;
3913   ::opencv_caffe::DetectionOutputParameter* mutable_detection_output_param();
3914   ::opencv_caffe::DetectionOutputParameter* release_detection_output_param();
3915   void set_allocated_detection_output_param(::opencv_caffe::DetectionOutputParameter* detection_output_param);
3916
3917   // optional .opencv_caffe.DropoutParameter dropout_param = 108;
3918   bool has_dropout_param() const;
3919   void clear_dropout_param();
3920   static const int kDropoutParamFieldNumber = 108;
3921   const ::opencv_caffe::DropoutParameter& dropout_param() const;
3922   ::opencv_caffe::DropoutParameter* mutable_dropout_param();
3923   ::opencv_caffe::DropoutParameter* release_dropout_param();
3924   void set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param);
3925
3926   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
3927   bool has_dummy_data_param() const;
3928   void clear_dummy_data_param();
3929   static const int kDummyDataParamFieldNumber = 109;
3930   const ::opencv_caffe::DummyDataParameter& dummy_data_param() const;
3931   ::opencv_caffe::DummyDataParameter* mutable_dummy_data_param();
3932   ::opencv_caffe::DummyDataParameter* release_dummy_data_param();
3933   void set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param);
3934
3935   // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
3936   bool has_eltwise_param() const;
3937   void clear_eltwise_param();
3938   static const int kEltwiseParamFieldNumber = 110;
3939   const ::opencv_caffe::EltwiseParameter& eltwise_param() const;
3940   ::opencv_caffe::EltwiseParameter* mutable_eltwise_param();
3941   ::opencv_caffe::EltwiseParameter* release_eltwise_param();
3942   void set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param);
3943
3944   // optional .opencv_caffe.ELUParameter elu_param = 140;
3945   bool has_elu_param() const;
3946   void clear_elu_param();
3947   static const int kEluParamFieldNumber = 140;
3948   const ::opencv_caffe::ELUParameter& elu_param() const;
3949   ::opencv_caffe::ELUParameter* mutable_elu_param();
3950   ::opencv_caffe::ELUParameter* release_elu_param();
3951   void set_allocated_elu_param(::opencv_caffe::ELUParameter* elu_param);
3952
3953   // optional .opencv_caffe.EmbedParameter embed_param = 137;
3954   bool has_embed_param() const;
3955   void clear_embed_param();
3956   static const int kEmbedParamFieldNumber = 137;
3957   const ::opencv_caffe::EmbedParameter& embed_param() const;
3958   ::opencv_caffe::EmbedParameter* mutable_embed_param();
3959   ::opencv_caffe::EmbedParameter* release_embed_param();
3960   void set_allocated_embed_param(::opencv_caffe::EmbedParameter* embed_param);
3961
3962   // optional .opencv_caffe.ExpParameter exp_param = 111;
3963   bool has_exp_param() const;
3964   void clear_exp_param();
3965   static const int kExpParamFieldNumber = 111;
3966   const ::opencv_caffe::ExpParameter& exp_param() const;
3967   ::opencv_caffe::ExpParameter* mutable_exp_param();
3968   ::opencv_caffe::ExpParameter* release_exp_param();
3969   void set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param);
3970
3971   // optional .opencv_caffe.FlattenParameter flatten_param = 135;
3972   bool has_flatten_param() const;
3973   void clear_flatten_param();
3974   static const int kFlattenParamFieldNumber = 135;
3975   const ::opencv_caffe::FlattenParameter& flatten_param() const;
3976   ::opencv_caffe::FlattenParameter* mutable_flatten_param();
3977   ::opencv_caffe::FlattenParameter* release_flatten_param();
3978   void set_allocated_flatten_param(::opencv_caffe::FlattenParameter* flatten_param);
3979
3980   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
3981   bool has_hdf5_data_param() const;
3982   void clear_hdf5_data_param();
3983   static const int kHdf5DataParamFieldNumber = 112;
3984   const ::opencv_caffe::HDF5DataParameter& hdf5_data_param() const;
3985   ::opencv_caffe::HDF5DataParameter* mutable_hdf5_data_param();
3986   ::opencv_caffe::HDF5DataParameter* release_hdf5_data_param();
3987   void set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param);
3988
3989   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
3990   bool has_hdf5_output_param() const;
3991   void clear_hdf5_output_param();
3992   static const int kHdf5OutputParamFieldNumber = 113;
3993   const ::opencv_caffe::HDF5OutputParameter& hdf5_output_param() const;
3994   ::opencv_caffe::HDF5OutputParameter* mutable_hdf5_output_param();
3995   ::opencv_caffe::HDF5OutputParameter* release_hdf5_output_param();
3996   void set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param);
3997
3998   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
3999   bool has_hinge_loss_param() const;
4000   void clear_hinge_loss_param();
4001   static const int kHingeLossParamFieldNumber = 114;
4002   const ::opencv_caffe::HingeLossParameter& hinge_loss_param() const;
4003   ::opencv_caffe::HingeLossParameter* mutable_hinge_loss_param();
4004   ::opencv_caffe::HingeLossParameter* release_hinge_loss_param();
4005   void set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param);
4006
4007   // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
4008   bool has_image_data_param() const;
4009   void clear_image_data_param();
4010   static const int kImageDataParamFieldNumber = 115;
4011   const ::opencv_caffe::ImageDataParameter& image_data_param() const;
4012   ::opencv_caffe::ImageDataParameter* mutable_image_data_param();
4013   ::opencv_caffe::ImageDataParameter* release_image_data_param();
4014   void set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param);
4015
4016   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
4017   bool has_infogain_loss_param() const;
4018   void clear_infogain_loss_param();
4019   static const int kInfogainLossParamFieldNumber = 116;
4020   const ::opencv_caffe::InfogainLossParameter& infogain_loss_param() const;
4021   ::opencv_caffe::InfogainLossParameter* mutable_infogain_loss_param();
4022   ::opencv_caffe::InfogainLossParameter* release_infogain_loss_param();
4023   void set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param);
4024
4025   // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
4026   bool has_inner_product_param() const;
4027   void clear_inner_product_param();
4028   static const int kInnerProductParamFieldNumber = 117;
4029   const ::opencv_caffe::InnerProductParameter& inner_product_param() const;
4030   ::opencv_caffe::InnerProductParameter* mutable_inner_product_param();
4031   ::opencv_caffe::InnerProductParameter* release_inner_product_param();
4032   void set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param);
4033
4034   // optional .opencv_caffe.InputParameter input_param = 143;
4035   bool has_input_param() const;
4036   void clear_input_param();
4037   static const int kInputParamFieldNumber = 143;
4038   const ::opencv_caffe::InputParameter& input_param() const;
4039   ::opencv_caffe::InputParameter* mutable_input_param();
4040   ::opencv_caffe::InputParameter* release_input_param();
4041   void set_allocated_input_param(::opencv_caffe::InputParameter* input_param);
4042
4043   // optional .opencv_caffe.LogParameter log_param = 134;
4044   bool has_log_param() const;
4045   void clear_log_param();
4046   static const int kLogParamFieldNumber = 134;
4047   const ::opencv_caffe::LogParameter& log_param() const;
4048   ::opencv_caffe::LogParameter* mutable_log_param();
4049   ::opencv_caffe::LogParameter* release_log_param();
4050   void set_allocated_log_param(::opencv_caffe::LogParameter* log_param);
4051
4052   // optional .opencv_caffe.LRNParameter lrn_param = 118;
4053   bool has_lrn_param() const;
4054   void clear_lrn_param();
4055   static const int kLrnParamFieldNumber = 118;
4056   const ::opencv_caffe::LRNParameter& lrn_param() const;
4057   ::opencv_caffe::LRNParameter* mutable_lrn_param();
4058   ::opencv_caffe::LRNParameter* release_lrn_param();
4059   void set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param);
4060
4061   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
4062   bool has_memory_data_param() const;
4063   void clear_memory_data_param();
4064   static const int kMemoryDataParamFieldNumber = 119;
4065   const ::opencv_caffe::MemoryDataParameter& memory_data_param() const;
4066   ::opencv_caffe::MemoryDataParameter* mutable_memory_data_param();
4067   ::opencv_caffe::MemoryDataParameter* release_memory_data_param();
4068   void set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param);
4069
4070   // optional .opencv_caffe.MVNParameter mvn_param = 120;
4071   bool has_mvn_param() const;
4072   void clear_mvn_param();
4073   static const int kMvnParamFieldNumber = 120;
4074   const ::opencv_caffe::MVNParameter& mvn_param() const;
4075   ::opencv_caffe::MVNParameter* mutable_mvn_param();
4076   ::opencv_caffe::MVNParameter* release_mvn_param();
4077   void set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param);
4078
4079   // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
4080   bool has_norm_param() const;
4081   void clear_norm_param();
4082   static const int kNormParamFieldNumber = 149;
4083   const ::opencv_caffe::NormalizeBBoxParameter& norm_param() const;
4084   ::opencv_caffe::NormalizeBBoxParameter* mutable_norm_param();
4085   ::opencv_caffe::NormalizeBBoxParameter* release_norm_param();
4086   void set_allocated_norm_param(::opencv_caffe::NormalizeBBoxParameter* norm_param);
4087
4088   // optional .opencv_caffe.PermuteParameter permute_param = 148;
4089   bool has_permute_param() const;
4090   void clear_permute_param();
4091   static const int kPermuteParamFieldNumber = 148;
4092   const ::opencv_caffe::PermuteParameter& permute_param() const;
4093   ::opencv_caffe::PermuteParameter* mutable_permute_param();
4094   ::opencv_caffe::PermuteParameter* release_permute_param();
4095   void set_allocated_permute_param(::opencv_caffe::PermuteParameter* permute_param);
4096
4097   // optional .opencv_caffe.ParameterParameter parameter_param = 145;
4098   bool has_parameter_param() const;
4099   void clear_parameter_param();
4100   static const int kParameterParamFieldNumber = 145;
4101   const ::opencv_caffe::ParameterParameter& parameter_param() const;
4102   ::opencv_caffe::ParameterParameter* mutable_parameter_param();
4103   ::opencv_caffe::ParameterParameter* release_parameter_param();
4104   void set_allocated_parameter_param(::opencv_caffe::ParameterParameter* parameter_param);
4105
4106   // optional .opencv_caffe.PoolingParameter pooling_param = 121;
4107   bool has_pooling_param() const;
4108   void clear_pooling_param();
4109   static const int kPoolingParamFieldNumber = 121;
4110   const ::opencv_caffe::PoolingParameter& pooling_param() const;
4111   ::opencv_caffe::PoolingParameter* mutable_pooling_param();
4112   ::opencv_caffe::PoolingParameter* release_pooling_param();
4113   void set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param);
4114
4115   // optional .opencv_caffe.PowerParameter power_param = 122;
4116   bool has_power_param() const;
4117   void clear_power_param();
4118   static const int kPowerParamFieldNumber = 122;
4119   const ::opencv_caffe::PowerParameter& power_param() const;
4120   ::opencv_caffe::PowerParameter* mutable_power_param();
4121   ::opencv_caffe::PowerParameter* release_power_param();
4122   void set_allocated_power_param(::opencv_caffe::PowerParameter* power_param);
4123
4124   // optional .opencv_caffe.PReLUParameter prelu_param = 131;
4125   bool has_prelu_param() const;
4126   void clear_prelu_param();
4127   static const int kPreluParamFieldNumber = 131;
4128   const ::opencv_caffe::PReLUParameter& prelu_param() const;
4129   ::opencv_caffe::PReLUParameter* mutable_prelu_param();
4130   ::opencv_caffe::PReLUParameter* release_prelu_param();
4131   void set_allocated_prelu_param(::opencv_caffe::PReLUParameter* prelu_param);
4132
4133   // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
4134   bool has_prior_box_param() const;
4135   void clear_prior_box_param();
4136   static const int kPriorBoxParamFieldNumber = 150;
4137   const ::opencv_caffe::PriorBoxParameter& prior_box_param() const;
4138   ::opencv_caffe::PriorBoxParameter* mutable_prior_box_param();
4139   ::opencv_caffe::PriorBoxParameter* release_prior_box_param();
4140   void set_allocated_prior_box_param(::opencv_caffe::PriorBoxParameter* prior_box_param);
4141
4142   // optional .opencv_caffe.ProposalParameter proposal_param = 201;
4143   bool has_proposal_param() const;
4144   void clear_proposal_param();
4145   static const int kProposalParamFieldNumber = 201;
4146   const ::opencv_caffe::ProposalParameter& proposal_param() const;
4147   ::opencv_caffe::ProposalParameter* mutable_proposal_param();
4148   ::opencv_caffe::ProposalParameter* release_proposal_param();
4149   void set_allocated_proposal_param(::opencv_caffe::ProposalParameter* proposal_param);
4150
4151   // optional .opencv_caffe.PythonParameter python_param = 130;
4152   bool has_python_param() const;
4153   void clear_python_param();
4154   static const int kPythonParamFieldNumber = 130;
4155   const ::opencv_caffe::PythonParameter& python_param() const;
4156   ::opencv_caffe::PythonParameter* mutable_python_param();
4157   ::opencv_caffe::PythonParameter* release_python_param();
4158   void set_allocated_python_param(::opencv_caffe::PythonParameter* python_param);
4159
4160   // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
4161   bool has_recurrent_param() const;
4162   void clear_recurrent_param();
4163   static const int kRecurrentParamFieldNumber = 146;
4164   const ::opencv_caffe::RecurrentParameter& recurrent_param() const;
4165   ::opencv_caffe::RecurrentParameter* mutable_recurrent_param();
4166   ::opencv_caffe::RecurrentParameter* release_recurrent_param();
4167   void set_allocated_recurrent_param(::opencv_caffe::RecurrentParameter* recurrent_param);
4168
4169   // optional .opencv_caffe.ReductionParameter reduction_param = 136;
4170   bool has_reduction_param() const;
4171   void clear_reduction_param();
4172   static const int kReductionParamFieldNumber = 136;
4173   const ::opencv_caffe::ReductionParameter& reduction_param() const;
4174   ::opencv_caffe::ReductionParameter* mutable_reduction_param();
4175   ::opencv_caffe::ReductionParameter* release_reduction_param();
4176   void set_allocated_reduction_param(::opencv_caffe::ReductionParameter* reduction_param);
4177
4178   // optional .opencv_caffe.ReLUParameter relu_param = 123;
4179   bool has_relu_param() const;
4180   void clear_relu_param();
4181   static const int kReluParamFieldNumber = 123;
4182   const ::opencv_caffe::ReLUParameter& relu_param() const;
4183   ::opencv_caffe::ReLUParameter* mutable_relu_param();
4184   ::opencv_caffe::ReLUParameter* release_relu_param();
4185   void set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param);
4186
4187   // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
4188   bool has_reshape_param() const;
4189   void clear_reshape_param();
4190   static const int kReshapeParamFieldNumber = 133;
4191   const ::opencv_caffe::ReshapeParameter& reshape_param() const;
4192   ::opencv_caffe::ReshapeParameter* mutable_reshape_param();
4193   ::opencv_caffe::ReshapeParameter* release_reshape_param();
4194   void set_allocated_reshape_param(::opencv_caffe::ReshapeParameter* reshape_param);
4195
4196   // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
4197   bool has_roi_pooling_param() const;
4198   void clear_roi_pooling_param();
4199   static const int kRoiPoolingParamFieldNumber = 8266711;
4200   const ::opencv_caffe::ROIPoolingParameter& roi_pooling_param() const;
4201   ::opencv_caffe::ROIPoolingParameter* mutable_roi_pooling_param();
4202   ::opencv_caffe::ROIPoolingParameter* release_roi_pooling_param();
4203   void set_allocated_roi_pooling_param(::opencv_caffe::ROIPoolingParameter* roi_pooling_param);
4204
4205   // optional .opencv_caffe.ScaleParameter scale_param = 142;
4206   bool has_scale_param() const;
4207   void clear_scale_param();
4208   static const int kScaleParamFieldNumber = 142;
4209   const ::opencv_caffe::ScaleParameter& scale_param() const;
4210   ::opencv_caffe::ScaleParameter* mutable_scale_param();
4211   ::opencv_caffe::ScaleParameter* release_scale_param();
4212   void set_allocated_scale_param(::opencv_caffe::ScaleParameter* scale_param);
4213
4214   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
4215   bool has_sigmoid_param() const;
4216   void clear_sigmoid_param();
4217   static const int kSigmoidParamFieldNumber = 124;
4218   const ::opencv_caffe::SigmoidParameter& sigmoid_param() const;
4219   ::opencv_caffe::SigmoidParameter* mutable_sigmoid_param();
4220   ::opencv_caffe::SigmoidParameter* release_sigmoid_param();
4221   void set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param);
4222
4223   // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
4224   bool has_softmax_param() const;
4225   void clear_softmax_param();
4226   static const int kSoftmaxParamFieldNumber = 125;
4227   const ::opencv_caffe::SoftmaxParameter& softmax_param() const;
4228   ::opencv_caffe::SoftmaxParameter* mutable_softmax_param();
4229   ::opencv_caffe::SoftmaxParameter* release_softmax_param();
4230   void set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param);
4231
4232   // optional .opencv_caffe.SPPParameter spp_param = 132;
4233   bool has_spp_param() const;
4234   void clear_spp_param();
4235   static const int kSppParamFieldNumber = 132;
4236   const ::opencv_caffe::SPPParameter& spp_param() const;
4237   ::opencv_caffe::SPPParameter* mutable_spp_param();
4238   ::opencv_caffe::SPPParameter* release_spp_param();
4239   void set_allocated_spp_param(::opencv_caffe::SPPParameter* spp_param);
4240
4241   // optional .opencv_caffe.SliceParameter slice_param = 126;
4242   bool has_slice_param() const;
4243   void clear_slice_param();
4244   static const int kSliceParamFieldNumber = 126;
4245   const ::opencv_caffe::SliceParameter& slice_param() const;
4246   ::opencv_caffe::SliceParameter* mutable_slice_param();
4247   ::opencv_caffe::SliceParameter* release_slice_param();
4248   void set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param);
4249
4250   // optional .opencv_caffe.TanHParameter tanh_param = 127;
4251   bool has_tanh_param() const;
4252   void clear_tanh_param();
4253   static const int kTanhParamFieldNumber = 127;
4254   const ::opencv_caffe::TanHParameter& tanh_param() const;
4255   ::opencv_caffe::TanHParameter* mutable_tanh_param();
4256   ::opencv_caffe::TanHParameter* release_tanh_param();
4257   void set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param);
4258
4259   // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
4260   bool has_threshold_param() const;
4261   void clear_threshold_param();
4262   static const int kThresholdParamFieldNumber = 128;
4263   const ::opencv_caffe::ThresholdParameter& threshold_param() const;
4264   ::opencv_caffe::ThresholdParameter* mutable_threshold_param();
4265   ::opencv_caffe::ThresholdParameter* release_threshold_param();
4266   void set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param);
4267
4268   // optional .opencv_caffe.TileParameter tile_param = 138;
4269   bool has_tile_param() const;
4270   void clear_tile_param();
4271   static const int kTileParamFieldNumber = 138;
4272   const ::opencv_caffe::TileParameter& tile_param() const;
4273   ::opencv_caffe::TileParameter* mutable_tile_param();
4274   ::opencv_caffe::TileParameter* release_tile_param();
4275   void set_allocated_tile_param(::opencv_caffe::TileParameter* tile_param);
4276
4277   // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
4278   bool has_window_data_param() const;
4279   void clear_window_data_param();
4280   static const int kWindowDataParamFieldNumber = 129;
4281   const ::opencv_caffe::WindowDataParameter& window_data_param() const;
4282   ::opencv_caffe::WindowDataParameter* mutable_window_data_param();
4283   ::opencv_caffe::WindowDataParameter* release_window_data_param();
4284   void set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param);
4285
4286   // @@protoc_insertion_point(class_scope:opencv_caffe.LayerParameter)
4287  private:
4288   inline void set_has_name();
4289   inline void clear_has_name();
4290   inline void set_has_type();
4291   inline void clear_has_type();
4292   inline void set_has_phase();
4293   inline void clear_has_phase();
4294   inline void set_has_transform_param();
4295   inline void clear_has_transform_param();
4296   inline void set_has_loss_param();
4297   inline void clear_has_loss_param();
4298   inline void set_has_accuracy_param();
4299   inline void clear_has_accuracy_param();
4300   inline void set_has_argmax_param();
4301   inline void clear_has_argmax_param();
4302   inline void set_has_batch_norm_param();
4303   inline void clear_has_batch_norm_param();
4304   inline void set_has_bias_param();
4305   inline void clear_has_bias_param();
4306   inline void set_has_concat_param();
4307   inline void clear_has_concat_param();
4308   inline void set_has_contrastive_loss_param();
4309   inline void clear_has_contrastive_loss_param();
4310   inline void set_has_convolution_param();
4311   inline void clear_has_convolution_param();
4312   inline void set_has_crop_param();
4313   inline void clear_has_crop_param();
4314   inline void set_has_data_param();
4315   inline void clear_has_data_param();
4316   inline void set_has_detection_output_param();
4317   inline void clear_has_detection_output_param();
4318   inline void set_has_dropout_param();
4319   inline void clear_has_dropout_param();
4320   inline void set_has_dummy_data_param();
4321   inline void clear_has_dummy_data_param();
4322   inline void set_has_eltwise_param();
4323   inline void clear_has_eltwise_param();
4324   inline void set_has_elu_param();
4325   inline void clear_has_elu_param();
4326   inline void set_has_embed_param();
4327   inline void clear_has_embed_param();
4328   inline void set_has_exp_param();
4329   inline void clear_has_exp_param();
4330   inline void set_has_flatten_param();
4331   inline void clear_has_flatten_param();
4332   inline void set_has_hdf5_data_param();
4333   inline void clear_has_hdf5_data_param();
4334   inline void set_has_hdf5_output_param();
4335   inline void clear_has_hdf5_output_param();
4336   inline void set_has_hinge_loss_param();
4337   inline void clear_has_hinge_loss_param();
4338   inline void set_has_image_data_param();
4339   inline void clear_has_image_data_param();
4340   inline void set_has_infogain_loss_param();
4341   inline void clear_has_infogain_loss_param();
4342   inline void set_has_inner_product_param();
4343   inline void clear_has_inner_product_param();
4344   inline void set_has_input_param();
4345   inline void clear_has_input_param();
4346   inline void set_has_log_param();
4347   inline void clear_has_log_param();
4348   inline void set_has_lrn_param();
4349   inline void clear_has_lrn_param();
4350   inline void set_has_memory_data_param();
4351   inline void clear_has_memory_data_param();
4352   inline void set_has_mvn_param();
4353   inline void clear_has_mvn_param();
4354   inline void set_has_norm_param();
4355   inline void clear_has_norm_param();
4356   inline void set_has_permute_param();
4357   inline void clear_has_permute_param();
4358   inline void set_has_parameter_param();
4359   inline void clear_has_parameter_param();
4360   inline void set_has_pooling_param();
4361   inline void clear_has_pooling_param();
4362   inline void set_has_power_param();
4363   inline void clear_has_power_param();
4364   inline void set_has_prelu_param();
4365   inline void clear_has_prelu_param();
4366   inline void set_has_prior_box_param();
4367   inline void clear_has_prior_box_param();
4368   inline void set_has_proposal_param();
4369   inline void clear_has_proposal_param();
4370   inline void set_has_python_param();
4371   inline void clear_has_python_param();
4372   inline void set_has_recurrent_param();
4373   inline void clear_has_recurrent_param();
4374   inline void set_has_reduction_param();
4375   inline void clear_has_reduction_param();
4376   inline void set_has_relu_param();
4377   inline void clear_has_relu_param();
4378   inline void set_has_reshape_param();
4379   inline void clear_has_reshape_param();
4380   inline void set_has_roi_pooling_param();
4381   inline void clear_has_roi_pooling_param();
4382   inline void set_has_scale_param();
4383   inline void clear_has_scale_param();
4384   inline void set_has_sigmoid_param();
4385   inline void clear_has_sigmoid_param();
4386   inline void set_has_softmax_param();
4387   inline void clear_has_softmax_param();
4388   inline void set_has_spp_param();
4389   inline void clear_has_spp_param();
4390   inline void set_has_slice_param();
4391   inline void clear_has_slice_param();
4392   inline void set_has_tanh_param();
4393   inline void clear_has_tanh_param();
4394   inline void set_has_threshold_param();
4395   inline void clear_has_threshold_param();
4396   inline void set_has_tile_param();
4397   inline void clear_has_tile_param();
4398   inline void set_has_window_data_param();
4399   inline void clear_has_window_data_param();
4400
4401   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4402   ::google::protobuf::internal::HasBits<2> _has_bits_;
4403   ::google::protobuf::RepeatedPtrField< ::std::string> bottom_;
4404   ::google::protobuf::RepeatedPtrField< ::std::string> top_;
4405   ::google::protobuf::RepeatedField< float > loss_weight_;
4406   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec > param_;
4407   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
4408   ::google::protobuf::RepeatedField< bool > propagate_down_;
4409   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > include_;
4410   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > exclude_;
4411   ::google::protobuf::internal::ArenaStringPtr name_;
4412   ::google::protobuf::internal::ArenaStringPtr type_;
4413   ::opencv_caffe::TransformationParameter* transform_param_;
4414   ::opencv_caffe::LossParameter* loss_param_;
4415   ::opencv_caffe::AccuracyParameter* accuracy_param_;
4416   ::opencv_caffe::ArgMaxParameter* argmax_param_;
4417   ::opencv_caffe::BatchNormParameter* batch_norm_param_;
4418   ::opencv_caffe::BiasParameter* bias_param_;
4419   ::opencv_caffe::ConcatParameter* concat_param_;
4420   ::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param_;
4421   ::opencv_caffe::ConvolutionParameter* convolution_param_;
4422   ::opencv_caffe::CropParameter* crop_param_;
4423   ::opencv_caffe::DataParameter* data_param_;
4424   ::opencv_caffe::DetectionOutputParameter* detection_output_param_;
4425   ::opencv_caffe::DropoutParameter* dropout_param_;
4426   ::opencv_caffe::DummyDataParameter* dummy_data_param_;
4427   ::opencv_caffe::EltwiseParameter* eltwise_param_;
4428   ::opencv_caffe::ELUParameter* elu_param_;
4429   ::opencv_caffe::EmbedParameter* embed_param_;
4430   ::opencv_caffe::ExpParameter* exp_param_;
4431   ::opencv_caffe::FlattenParameter* flatten_param_;
4432   ::opencv_caffe::HDF5DataParameter* hdf5_data_param_;
4433   ::opencv_caffe::HDF5OutputParameter* hdf5_output_param_;
4434   ::opencv_caffe::HingeLossParameter* hinge_loss_param_;
4435   ::opencv_caffe::ImageDataParameter* image_data_param_;
4436   ::opencv_caffe::InfogainLossParameter* infogain_loss_param_;
4437   ::opencv_caffe::InnerProductParameter* inner_product_param_;
4438   ::opencv_caffe::InputParameter* input_param_;
4439   ::opencv_caffe::LogParameter* log_param_;
4440   ::opencv_caffe::LRNParameter* lrn_param_;
4441   ::opencv_caffe::MemoryDataParameter* memory_data_param_;
4442   ::opencv_caffe::MVNParameter* mvn_param_;
4443   ::opencv_caffe::NormalizeBBoxParameter* norm_param_;
4444   ::opencv_caffe::PermuteParameter* permute_param_;
4445   ::opencv_caffe::ParameterParameter* parameter_param_;
4446   ::opencv_caffe::PoolingParameter* pooling_param_;
4447   ::opencv_caffe::PowerParameter* power_param_;
4448   ::opencv_caffe::PReLUParameter* prelu_param_;
4449   ::opencv_caffe::PriorBoxParameter* prior_box_param_;
4450   ::opencv_caffe::ProposalParameter* proposal_param_;
4451   ::opencv_caffe::PythonParameter* python_param_;
4452   ::opencv_caffe::RecurrentParameter* recurrent_param_;
4453   ::opencv_caffe::ReductionParameter* reduction_param_;
4454   ::opencv_caffe::ReLUParameter* relu_param_;
4455   ::opencv_caffe::ReshapeParameter* reshape_param_;
4456   ::opencv_caffe::ROIPoolingParameter* roi_pooling_param_;
4457   ::opencv_caffe::ScaleParameter* scale_param_;
4458   ::opencv_caffe::SigmoidParameter* sigmoid_param_;
4459   ::opencv_caffe::SoftmaxParameter* softmax_param_;
4460   ::opencv_caffe::SPPParameter* spp_param_;
4461   ::opencv_caffe::SliceParameter* slice_param_;
4462   ::opencv_caffe::TanHParameter* tanh_param_;
4463   ::opencv_caffe::ThresholdParameter* threshold_param_;
4464   ::opencv_caffe::TileParameter* tile_param_;
4465   ::opencv_caffe::WindowDataParameter* window_data_param_;
4466   int phase_;
4467   mutable int _cached_size_;
4468   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4469   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4470   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4471   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4472
4473   void InitAsDefaultInstance();
4474 };
4475 extern ::google::protobuf::internal::ExplicitlyConstructed<LayerParameter> LayerParameter_default_instance_;
4476
4477 // -------------------------------------------------------------------
4478
4479 class TransformationParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.TransformationParameter) */ {
4480  public:
4481   TransformationParameter();
4482   virtual ~TransformationParameter();
4483
4484   TransformationParameter(const TransformationParameter& from);
4485
4486   inline TransformationParameter& operator=(const TransformationParameter& from) {
4487     CopyFrom(from);
4488     return *this;
4489   }
4490
4491   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4492     return _internal_metadata_.unknown_fields();
4493   }
4494
4495   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4496     return _internal_metadata_.mutable_unknown_fields();
4497   }
4498
4499   static const ::google::protobuf::Descriptor* descriptor();
4500   static const TransformationParameter& default_instance();
4501
4502   static const TransformationParameter* internal_default_instance();
4503
4504   void Swap(TransformationParameter* other);
4505
4506   // implements Message ----------------------------------------------
4507
4508   inline TransformationParameter* New() const { return New(NULL); }
4509
4510   TransformationParameter* New(::google::protobuf::Arena* arena) const;
4511   void CopyFrom(const ::google::protobuf::Message& from);
4512   void MergeFrom(const ::google::protobuf::Message& from);
4513   void CopyFrom(const TransformationParameter& from);
4514   void MergeFrom(const TransformationParameter& from);
4515   void Clear();
4516   bool IsInitialized() const;
4517
4518   size_t ByteSizeLong() const;
4519   bool MergePartialFromCodedStream(
4520       ::google::protobuf::io::CodedInputStream* input);
4521   void SerializeWithCachedSizes(
4522       ::google::protobuf::io::CodedOutputStream* output) const;
4523   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4524       bool deterministic, ::google::protobuf::uint8* output) const;
4525   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4526     return InternalSerializeWithCachedSizesToArray(false, output);
4527   }
4528   int GetCachedSize() const { return _cached_size_; }
4529   private:
4530   void SharedCtor();
4531   void SharedDtor();
4532   void SetCachedSize(int size) const;
4533   void InternalSwap(TransformationParameter* other);
4534   void UnsafeMergeFrom(const TransformationParameter& from);
4535   private:
4536   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4537     return _internal_metadata_.arena();
4538   }
4539   inline void* MaybeArenaPtr() const {
4540     return _internal_metadata_.raw_arena_ptr();
4541   }
4542   public:
4543
4544   ::google::protobuf::Metadata GetMetadata() const;
4545
4546   // nested types ----------------------------------------------------
4547
4548   // accessors -------------------------------------------------------
4549
4550   // optional float scale = 1 [default = 1];
4551   bool has_scale() const;
4552   void clear_scale();
4553   static const int kScaleFieldNumber = 1;
4554   float scale() const;
4555   void set_scale(float value);
4556
4557   // optional bool mirror = 2 [default = false];
4558   bool has_mirror() const;
4559   void clear_mirror();
4560   static const int kMirrorFieldNumber = 2;
4561   bool mirror() const;
4562   void set_mirror(bool value);
4563
4564   // optional uint32 crop_size = 3 [default = 0];
4565   bool has_crop_size() const;
4566   void clear_crop_size();
4567   static const int kCropSizeFieldNumber = 3;
4568   ::google::protobuf::uint32 crop_size() const;
4569   void set_crop_size(::google::protobuf::uint32 value);
4570
4571   // optional string mean_file = 4;
4572   bool has_mean_file() const;
4573   void clear_mean_file();
4574   static const int kMeanFileFieldNumber = 4;
4575   const ::std::string& mean_file() const;
4576   void set_mean_file(const ::std::string& value);
4577   void set_mean_file(const char* value);
4578   void set_mean_file(const char* value, size_t size);
4579   ::std::string* mutable_mean_file();
4580   ::std::string* release_mean_file();
4581   void set_allocated_mean_file(::std::string* mean_file);
4582
4583   // repeated float mean_value = 5;
4584   int mean_value_size() const;
4585   void clear_mean_value();
4586   static const int kMeanValueFieldNumber = 5;
4587   float mean_value(int index) const;
4588   void set_mean_value(int index, float value);
4589   void add_mean_value(float value);
4590   const ::google::protobuf::RepeatedField< float >&
4591       mean_value() const;
4592   ::google::protobuf::RepeatedField< float >*
4593       mutable_mean_value();
4594
4595   // optional bool force_color = 6 [default = false];
4596   bool has_force_color() const;
4597   void clear_force_color();
4598   static const int kForceColorFieldNumber = 6;
4599   bool force_color() const;
4600   void set_force_color(bool value);
4601
4602   // optional bool force_gray = 7 [default = false];
4603   bool has_force_gray() const;
4604   void clear_force_gray();
4605   static const int kForceGrayFieldNumber = 7;
4606   bool force_gray() const;
4607   void set_force_gray(bool value);
4608
4609   // @@protoc_insertion_point(class_scope:opencv_caffe.TransformationParameter)
4610  private:
4611   inline void set_has_scale();
4612   inline void clear_has_scale();
4613   inline void set_has_mirror();
4614   inline void clear_has_mirror();
4615   inline void set_has_crop_size();
4616   inline void clear_has_crop_size();
4617   inline void set_has_mean_file();
4618   inline void clear_has_mean_file();
4619   inline void set_has_force_color();
4620   inline void clear_has_force_color();
4621   inline void set_has_force_gray();
4622   inline void clear_has_force_gray();
4623
4624   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4625   ::google::protobuf::internal::HasBits<1> _has_bits_;
4626   mutable int _cached_size_;
4627   ::google::protobuf::RepeatedField< float > mean_value_;
4628   ::google::protobuf::internal::ArenaStringPtr mean_file_;
4629   ::google::protobuf::uint32 crop_size_;
4630   bool mirror_;
4631   bool force_color_;
4632   bool force_gray_;
4633   float scale_;
4634   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4635   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4636   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4637   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4638
4639   void InitAsDefaultInstance();
4640 };
4641 extern ::google::protobuf::internal::ExplicitlyConstructed<TransformationParameter> TransformationParameter_default_instance_;
4642
4643 // -------------------------------------------------------------------
4644
4645 class LossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LossParameter) */ {
4646  public:
4647   LossParameter();
4648   virtual ~LossParameter();
4649
4650   LossParameter(const LossParameter& from);
4651
4652   inline LossParameter& operator=(const LossParameter& from) {
4653     CopyFrom(from);
4654     return *this;
4655   }
4656
4657   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4658     return _internal_metadata_.unknown_fields();
4659   }
4660
4661   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4662     return _internal_metadata_.mutable_unknown_fields();
4663   }
4664
4665   static const ::google::protobuf::Descriptor* descriptor();
4666   static const LossParameter& default_instance();
4667
4668   static const LossParameter* internal_default_instance();
4669
4670   void Swap(LossParameter* other);
4671
4672   // implements Message ----------------------------------------------
4673
4674   inline LossParameter* New() const { return New(NULL); }
4675
4676   LossParameter* New(::google::protobuf::Arena* arena) const;
4677   void CopyFrom(const ::google::protobuf::Message& from);
4678   void MergeFrom(const ::google::protobuf::Message& from);
4679   void CopyFrom(const LossParameter& from);
4680   void MergeFrom(const LossParameter& from);
4681   void Clear();
4682   bool IsInitialized() const;
4683
4684   size_t ByteSizeLong() const;
4685   bool MergePartialFromCodedStream(
4686       ::google::protobuf::io::CodedInputStream* input);
4687   void SerializeWithCachedSizes(
4688       ::google::protobuf::io::CodedOutputStream* output) const;
4689   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4690       bool deterministic, ::google::protobuf::uint8* output) const;
4691   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4692     return InternalSerializeWithCachedSizesToArray(false, output);
4693   }
4694   int GetCachedSize() const { return _cached_size_; }
4695   private:
4696   void SharedCtor();
4697   void SharedDtor();
4698   void SetCachedSize(int size) const;
4699   void InternalSwap(LossParameter* other);
4700   void UnsafeMergeFrom(const LossParameter& from);
4701   private:
4702   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4703     return _internal_metadata_.arena();
4704   }
4705   inline void* MaybeArenaPtr() const {
4706     return _internal_metadata_.raw_arena_ptr();
4707   }
4708   public:
4709
4710   ::google::protobuf::Metadata GetMetadata() const;
4711
4712   // nested types ----------------------------------------------------
4713
4714   typedef LossParameter_NormalizationMode NormalizationMode;
4715   static const NormalizationMode FULL =
4716     LossParameter_NormalizationMode_FULL;
4717   static const NormalizationMode VALID =
4718     LossParameter_NormalizationMode_VALID;
4719   static const NormalizationMode BATCH_SIZE =
4720     LossParameter_NormalizationMode_BATCH_SIZE;
4721   static const NormalizationMode NONE =
4722     LossParameter_NormalizationMode_NONE;
4723   static inline bool NormalizationMode_IsValid(int value) {
4724     return LossParameter_NormalizationMode_IsValid(value);
4725   }
4726   static const NormalizationMode NormalizationMode_MIN =
4727     LossParameter_NormalizationMode_NormalizationMode_MIN;
4728   static const NormalizationMode NormalizationMode_MAX =
4729     LossParameter_NormalizationMode_NormalizationMode_MAX;
4730   static const int NormalizationMode_ARRAYSIZE =
4731     LossParameter_NormalizationMode_NormalizationMode_ARRAYSIZE;
4732   static inline const ::google::protobuf::EnumDescriptor*
4733   NormalizationMode_descriptor() {
4734     return LossParameter_NormalizationMode_descriptor();
4735   }
4736   static inline const ::std::string& NormalizationMode_Name(NormalizationMode value) {
4737     return LossParameter_NormalizationMode_Name(value);
4738   }
4739   static inline bool NormalizationMode_Parse(const ::std::string& name,
4740       NormalizationMode* value) {
4741     return LossParameter_NormalizationMode_Parse(name, value);
4742   }
4743
4744   // accessors -------------------------------------------------------
4745
4746   // optional int32 ignore_label = 1;
4747   bool has_ignore_label() const;
4748   void clear_ignore_label();
4749   static const int kIgnoreLabelFieldNumber = 1;
4750   ::google::protobuf::int32 ignore_label() const;
4751   void set_ignore_label(::google::protobuf::int32 value);
4752
4753   // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
4754   bool has_normalization() const;
4755   void clear_normalization();
4756   static const int kNormalizationFieldNumber = 3;
4757   ::opencv_caffe::LossParameter_NormalizationMode normalization() const;
4758   void set_normalization(::opencv_caffe::LossParameter_NormalizationMode value);
4759
4760   // optional bool normalize = 2;
4761   bool has_normalize() const;
4762   void clear_normalize();
4763   static const int kNormalizeFieldNumber = 2;
4764   bool normalize() const;
4765   void set_normalize(bool value);
4766
4767   // @@protoc_insertion_point(class_scope:opencv_caffe.LossParameter)
4768  private:
4769   inline void set_has_ignore_label();
4770   inline void clear_has_ignore_label();
4771   inline void set_has_normalization();
4772   inline void clear_has_normalization();
4773   inline void set_has_normalize();
4774   inline void clear_has_normalize();
4775
4776   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4777   ::google::protobuf::internal::HasBits<1> _has_bits_;
4778   mutable int _cached_size_;
4779   ::google::protobuf::int32 ignore_label_;
4780   bool normalize_;
4781   int normalization_;
4782   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4783   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4784   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4785   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4786
4787   void InitAsDefaultInstance();
4788 };
4789 extern ::google::protobuf::internal::ExplicitlyConstructed<LossParameter> LossParameter_default_instance_;
4790
4791 // -------------------------------------------------------------------
4792
4793 class AccuracyParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.AccuracyParameter) */ {
4794  public:
4795   AccuracyParameter();
4796   virtual ~AccuracyParameter();
4797
4798   AccuracyParameter(const AccuracyParameter& from);
4799
4800   inline AccuracyParameter& operator=(const AccuracyParameter& from) {
4801     CopyFrom(from);
4802     return *this;
4803   }
4804
4805   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4806     return _internal_metadata_.unknown_fields();
4807   }
4808
4809   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4810     return _internal_metadata_.mutable_unknown_fields();
4811   }
4812
4813   static const ::google::protobuf::Descriptor* descriptor();
4814   static const AccuracyParameter& default_instance();
4815
4816   static const AccuracyParameter* internal_default_instance();
4817
4818   void Swap(AccuracyParameter* other);
4819
4820   // implements Message ----------------------------------------------
4821
4822   inline AccuracyParameter* New() const { return New(NULL); }
4823
4824   AccuracyParameter* New(::google::protobuf::Arena* arena) const;
4825   void CopyFrom(const ::google::protobuf::Message& from);
4826   void MergeFrom(const ::google::protobuf::Message& from);
4827   void CopyFrom(const AccuracyParameter& from);
4828   void MergeFrom(const AccuracyParameter& from);
4829   void Clear();
4830   bool IsInitialized() const;
4831
4832   size_t ByteSizeLong() const;
4833   bool MergePartialFromCodedStream(
4834       ::google::protobuf::io::CodedInputStream* input);
4835   void SerializeWithCachedSizes(
4836       ::google::protobuf::io::CodedOutputStream* output) const;
4837   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4838       bool deterministic, ::google::protobuf::uint8* output) const;
4839   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4840     return InternalSerializeWithCachedSizesToArray(false, output);
4841   }
4842   int GetCachedSize() const { return _cached_size_; }
4843   private:
4844   void SharedCtor();
4845   void SharedDtor();
4846   void SetCachedSize(int size) const;
4847   void InternalSwap(AccuracyParameter* other);
4848   void UnsafeMergeFrom(const AccuracyParameter& from);
4849   private:
4850   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4851     return _internal_metadata_.arena();
4852   }
4853   inline void* MaybeArenaPtr() const {
4854     return _internal_metadata_.raw_arena_ptr();
4855   }
4856   public:
4857
4858   ::google::protobuf::Metadata GetMetadata() const;
4859
4860   // nested types ----------------------------------------------------
4861
4862   // accessors -------------------------------------------------------
4863
4864   // optional uint32 top_k = 1 [default = 1];
4865   bool has_top_k() const;
4866   void clear_top_k();
4867   static const int kTopKFieldNumber = 1;
4868   ::google::protobuf::uint32 top_k() const;
4869   void set_top_k(::google::protobuf::uint32 value);
4870
4871   // optional int32 axis = 2 [default = 1];
4872   bool has_axis() const;
4873   void clear_axis();
4874   static const int kAxisFieldNumber = 2;
4875   ::google::protobuf::int32 axis() const;
4876   void set_axis(::google::protobuf::int32 value);
4877
4878   // optional int32 ignore_label = 3;
4879   bool has_ignore_label() const;
4880   void clear_ignore_label();
4881   static const int kIgnoreLabelFieldNumber = 3;
4882   ::google::protobuf::int32 ignore_label() const;
4883   void set_ignore_label(::google::protobuf::int32 value);
4884
4885   // @@protoc_insertion_point(class_scope:opencv_caffe.AccuracyParameter)
4886  private:
4887   inline void set_has_top_k();
4888   inline void clear_has_top_k();
4889   inline void set_has_axis();
4890   inline void clear_has_axis();
4891   inline void set_has_ignore_label();
4892   inline void clear_has_ignore_label();
4893
4894   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
4895   ::google::protobuf::internal::HasBits<1> _has_bits_;
4896   mutable int _cached_size_;
4897   ::google::protobuf::int32 ignore_label_;
4898   ::google::protobuf::uint32 top_k_;
4899   ::google::protobuf::int32 axis_;
4900   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
4901   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
4902   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
4903   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
4904
4905   void InitAsDefaultInstance();
4906 };
4907 extern ::google::protobuf::internal::ExplicitlyConstructed<AccuracyParameter> AccuracyParameter_default_instance_;
4908
4909 // -------------------------------------------------------------------
4910
4911 class ArgMaxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ArgMaxParameter) */ {
4912  public:
4913   ArgMaxParameter();
4914   virtual ~ArgMaxParameter();
4915
4916   ArgMaxParameter(const ArgMaxParameter& from);
4917
4918   inline ArgMaxParameter& operator=(const ArgMaxParameter& from) {
4919     CopyFrom(from);
4920     return *this;
4921   }
4922
4923   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
4924     return _internal_metadata_.unknown_fields();
4925   }
4926
4927   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
4928     return _internal_metadata_.mutable_unknown_fields();
4929   }
4930
4931   static const ::google::protobuf::Descriptor* descriptor();
4932   static const ArgMaxParameter& default_instance();
4933
4934   static const ArgMaxParameter* internal_default_instance();
4935
4936   void Swap(ArgMaxParameter* other);
4937
4938   // implements Message ----------------------------------------------
4939
4940   inline ArgMaxParameter* New() const { return New(NULL); }
4941
4942   ArgMaxParameter* New(::google::protobuf::Arena* arena) const;
4943   void CopyFrom(const ::google::protobuf::Message& from);
4944   void MergeFrom(const ::google::protobuf::Message& from);
4945   void CopyFrom(const ArgMaxParameter& from);
4946   void MergeFrom(const ArgMaxParameter& from);
4947   void Clear();
4948   bool IsInitialized() const;
4949
4950   size_t ByteSizeLong() const;
4951   bool MergePartialFromCodedStream(
4952       ::google::protobuf::io::CodedInputStream* input);
4953   void SerializeWithCachedSizes(
4954       ::google::protobuf::io::CodedOutputStream* output) const;
4955   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
4956       bool deterministic, ::google::protobuf::uint8* output) const;
4957   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
4958     return InternalSerializeWithCachedSizesToArray(false, output);
4959   }
4960   int GetCachedSize() const { return _cached_size_; }
4961   private:
4962   void SharedCtor();
4963   void SharedDtor();
4964   void SetCachedSize(int size) const;
4965   void InternalSwap(ArgMaxParameter* other);
4966   void UnsafeMergeFrom(const ArgMaxParameter& from);
4967   private:
4968   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
4969     return _internal_metadata_.arena();
4970   }
4971   inline void* MaybeArenaPtr() const {
4972     return _internal_metadata_.raw_arena_ptr();
4973   }
4974   public:
4975
4976   ::google::protobuf::Metadata GetMetadata() const;
4977
4978   // nested types ----------------------------------------------------
4979
4980   // accessors -------------------------------------------------------
4981
4982   // optional bool out_max_val = 1 [default = false];
4983   bool has_out_max_val() const;
4984   void clear_out_max_val();
4985   static const int kOutMaxValFieldNumber = 1;
4986   bool out_max_val() const;
4987   void set_out_max_val(bool value);
4988
4989   // optional uint32 top_k = 2 [default = 1];
4990   bool has_top_k() const;
4991   void clear_top_k();
4992   static const int kTopKFieldNumber = 2;
4993   ::google::protobuf::uint32 top_k() const;
4994   void set_top_k(::google::protobuf::uint32 value);
4995
4996   // optional int32 axis = 3;
4997   bool has_axis() const;
4998   void clear_axis();
4999   static const int kAxisFieldNumber = 3;
5000   ::google::protobuf::int32 axis() const;
5001   void set_axis(::google::protobuf::int32 value);
5002
5003   // @@protoc_insertion_point(class_scope:opencv_caffe.ArgMaxParameter)
5004  private:
5005   inline void set_has_out_max_val();
5006   inline void clear_has_out_max_val();
5007   inline void set_has_top_k();
5008   inline void clear_has_top_k();
5009   inline void set_has_axis();
5010   inline void clear_has_axis();
5011
5012   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5013   ::google::protobuf::internal::HasBits<1> _has_bits_;
5014   mutable int _cached_size_;
5015   bool out_max_val_;
5016   ::google::protobuf::int32 axis_;
5017   ::google::protobuf::uint32 top_k_;
5018   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5019   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5020   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5021   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5022
5023   void InitAsDefaultInstance();
5024 };
5025 extern ::google::protobuf::internal::ExplicitlyConstructed<ArgMaxParameter> ArgMaxParameter_default_instance_;
5026
5027 // -------------------------------------------------------------------
5028
5029 class ConcatParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ConcatParameter) */ {
5030  public:
5031   ConcatParameter();
5032   virtual ~ConcatParameter();
5033
5034   ConcatParameter(const ConcatParameter& from);
5035
5036   inline ConcatParameter& operator=(const ConcatParameter& from) {
5037     CopyFrom(from);
5038     return *this;
5039   }
5040
5041   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5042     return _internal_metadata_.unknown_fields();
5043   }
5044
5045   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5046     return _internal_metadata_.mutable_unknown_fields();
5047   }
5048
5049   static const ::google::protobuf::Descriptor* descriptor();
5050   static const ConcatParameter& default_instance();
5051
5052   static const ConcatParameter* internal_default_instance();
5053
5054   void Swap(ConcatParameter* other);
5055
5056   // implements Message ----------------------------------------------
5057
5058   inline ConcatParameter* New() const { return New(NULL); }
5059
5060   ConcatParameter* New(::google::protobuf::Arena* arena) const;
5061   void CopyFrom(const ::google::protobuf::Message& from);
5062   void MergeFrom(const ::google::protobuf::Message& from);
5063   void CopyFrom(const ConcatParameter& from);
5064   void MergeFrom(const ConcatParameter& from);
5065   void Clear();
5066   bool IsInitialized() const;
5067
5068   size_t ByteSizeLong() const;
5069   bool MergePartialFromCodedStream(
5070       ::google::protobuf::io::CodedInputStream* input);
5071   void SerializeWithCachedSizes(
5072       ::google::protobuf::io::CodedOutputStream* output) const;
5073   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5074       bool deterministic, ::google::protobuf::uint8* output) const;
5075   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5076     return InternalSerializeWithCachedSizesToArray(false, output);
5077   }
5078   int GetCachedSize() const { return _cached_size_; }
5079   private:
5080   void SharedCtor();
5081   void SharedDtor();
5082   void SetCachedSize(int size) const;
5083   void InternalSwap(ConcatParameter* other);
5084   void UnsafeMergeFrom(const ConcatParameter& from);
5085   private:
5086   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5087     return _internal_metadata_.arena();
5088   }
5089   inline void* MaybeArenaPtr() const {
5090     return _internal_metadata_.raw_arena_ptr();
5091   }
5092   public:
5093
5094   ::google::protobuf::Metadata GetMetadata() const;
5095
5096   // nested types ----------------------------------------------------
5097
5098   // accessors -------------------------------------------------------
5099
5100   // optional int32 axis = 2 [default = 1];
5101   bool has_axis() const;
5102   void clear_axis();
5103   static const int kAxisFieldNumber = 2;
5104   ::google::protobuf::int32 axis() const;
5105   void set_axis(::google::protobuf::int32 value);
5106
5107   // optional uint32 concat_dim = 1 [default = 1];
5108   bool has_concat_dim() const;
5109   void clear_concat_dim();
5110   static const int kConcatDimFieldNumber = 1;
5111   ::google::protobuf::uint32 concat_dim() const;
5112   void set_concat_dim(::google::protobuf::uint32 value);
5113
5114   // @@protoc_insertion_point(class_scope:opencv_caffe.ConcatParameter)
5115  private:
5116   inline void set_has_axis();
5117   inline void clear_has_axis();
5118   inline void set_has_concat_dim();
5119   inline void clear_has_concat_dim();
5120
5121   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5122   ::google::protobuf::internal::HasBits<1> _has_bits_;
5123   mutable int _cached_size_;
5124   ::google::protobuf::int32 axis_;
5125   ::google::protobuf::uint32 concat_dim_;
5126   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5127   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5128   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5129   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5130
5131   void InitAsDefaultInstance();
5132 };
5133 extern ::google::protobuf::internal::ExplicitlyConstructed<ConcatParameter> ConcatParameter_default_instance_;
5134
5135 // -------------------------------------------------------------------
5136
5137 class BatchNormParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BatchNormParameter) */ {
5138  public:
5139   BatchNormParameter();
5140   virtual ~BatchNormParameter();
5141
5142   BatchNormParameter(const BatchNormParameter& from);
5143
5144   inline BatchNormParameter& operator=(const BatchNormParameter& from) {
5145     CopyFrom(from);
5146     return *this;
5147   }
5148
5149   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5150     return _internal_metadata_.unknown_fields();
5151   }
5152
5153   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5154     return _internal_metadata_.mutable_unknown_fields();
5155   }
5156
5157   static const ::google::protobuf::Descriptor* descriptor();
5158   static const BatchNormParameter& default_instance();
5159
5160   static const BatchNormParameter* internal_default_instance();
5161
5162   void Swap(BatchNormParameter* other);
5163
5164   // implements Message ----------------------------------------------
5165
5166   inline BatchNormParameter* New() const { return New(NULL); }
5167
5168   BatchNormParameter* New(::google::protobuf::Arena* arena) const;
5169   void CopyFrom(const ::google::protobuf::Message& from);
5170   void MergeFrom(const ::google::protobuf::Message& from);
5171   void CopyFrom(const BatchNormParameter& from);
5172   void MergeFrom(const BatchNormParameter& from);
5173   void Clear();
5174   bool IsInitialized() const;
5175
5176   size_t ByteSizeLong() const;
5177   bool MergePartialFromCodedStream(
5178       ::google::protobuf::io::CodedInputStream* input);
5179   void SerializeWithCachedSizes(
5180       ::google::protobuf::io::CodedOutputStream* output) const;
5181   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5182       bool deterministic, ::google::protobuf::uint8* output) const;
5183   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5184     return InternalSerializeWithCachedSizesToArray(false, output);
5185   }
5186   int GetCachedSize() const { return _cached_size_; }
5187   private:
5188   void SharedCtor();
5189   void SharedDtor();
5190   void SetCachedSize(int size) const;
5191   void InternalSwap(BatchNormParameter* other);
5192   void UnsafeMergeFrom(const BatchNormParameter& from);
5193   private:
5194   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5195     return _internal_metadata_.arena();
5196   }
5197   inline void* MaybeArenaPtr() const {
5198     return _internal_metadata_.raw_arena_ptr();
5199   }
5200   public:
5201
5202   ::google::protobuf::Metadata GetMetadata() const;
5203
5204   // nested types ----------------------------------------------------
5205
5206   // accessors -------------------------------------------------------
5207
5208   // optional bool use_global_stats = 1;
5209   bool has_use_global_stats() const;
5210   void clear_use_global_stats();
5211   static const int kUseGlobalStatsFieldNumber = 1;
5212   bool use_global_stats() const;
5213   void set_use_global_stats(bool value);
5214
5215   // optional float moving_average_fraction = 2 [default = 0.999];
5216   bool has_moving_average_fraction() const;
5217   void clear_moving_average_fraction();
5218   static const int kMovingAverageFractionFieldNumber = 2;
5219   float moving_average_fraction() const;
5220   void set_moving_average_fraction(float value);
5221
5222   // optional float eps = 3 [default = 1e-05];
5223   bool has_eps() const;
5224   void clear_eps();
5225   static const int kEpsFieldNumber = 3;
5226   float eps() const;
5227   void set_eps(float value);
5228
5229   // @@protoc_insertion_point(class_scope:opencv_caffe.BatchNormParameter)
5230  private:
5231   inline void set_has_use_global_stats();
5232   inline void clear_has_use_global_stats();
5233   inline void set_has_moving_average_fraction();
5234   inline void clear_has_moving_average_fraction();
5235   inline void set_has_eps();
5236   inline void clear_has_eps();
5237
5238   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5239   ::google::protobuf::internal::HasBits<1> _has_bits_;
5240   mutable int _cached_size_;
5241   bool use_global_stats_;
5242   float moving_average_fraction_;
5243   float eps_;
5244   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5245   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5246   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5247   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5248
5249   void InitAsDefaultInstance();
5250 };
5251 extern ::google::protobuf::internal::ExplicitlyConstructed<BatchNormParameter> BatchNormParameter_default_instance_;
5252
5253 // -------------------------------------------------------------------
5254
5255 class BiasParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.BiasParameter) */ {
5256  public:
5257   BiasParameter();
5258   virtual ~BiasParameter();
5259
5260   BiasParameter(const BiasParameter& from);
5261
5262   inline BiasParameter& operator=(const BiasParameter& from) {
5263     CopyFrom(from);
5264     return *this;
5265   }
5266
5267   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5268     return _internal_metadata_.unknown_fields();
5269   }
5270
5271   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5272     return _internal_metadata_.mutable_unknown_fields();
5273   }
5274
5275   static const ::google::protobuf::Descriptor* descriptor();
5276   static const BiasParameter& default_instance();
5277
5278   static const BiasParameter* internal_default_instance();
5279
5280   void Swap(BiasParameter* other);
5281
5282   // implements Message ----------------------------------------------
5283
5284   inline BiasParameter* New() const { return New(NULL); }
5285
5286   BiasParameter* New(::google::protobuf::Arena* arena) const;
5287   void CopyFrom(const ::google::protobuf::Message& from);
5288   void MergeFrom(const ::google::protobuf::Message& from);
5289   void CopyFrom(const BiasParameter& from);
5290   void MergeFrom(const BiasParameter& from);
5291   void Clear();
5292   bool IsInitialized() const;
5293
5294   size_t ByteSizeLong() const;
5295   bool MergePartialFromCodedStream(
5296       ::google::protobuf::io::CodedInputStream* input);
5297   void SerializeWithCachedSizes(
5298       ::google::protobuf::io::CodedOutputStream* output) const;
5299   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5300       bool deterministic, ::google::protobuf::uint8* output) const;
5301   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5302     return InternalSerializeWithCachedSizesToArray(false, output);
5303   }
5304   int GetCachedSize() const { return _cached_size_; }
5305   private:
5306   void SharedCtor();
5307   void SharedDtor();
5308   void SetCachedSize(int size) const;
5309   void InternalSwap(BiasParameter* other);
5310   void UnsafeMergeFrom(const BiasParameter& from);
5311   private:
5312   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5313     return _internal_metadata_.arena();
5314   }
5315   inline void* MaybeArenaPtr() const {
5316     return _internal_metadata_.raw_arena_ptr();
5317   }
5318   public:
5319
5320   ::google::protobuf::Metadata GetMetadata() const;
5321
5322   // nested types ----------------------------------------------------
5323
5324   // accessors -------------------------------------------------------
5325
5326   // optional int32 axis = 1 [default = 1];
5327   bool has_axis() const;
5328   void clear_axis();
5329   static const int kAxisFieldNumber = 1;
5330   ::google::protobuf::int32 axis() const;
5331   void set_axis(::google::protobuf::int32 value);
5332
5333   // optional int32 num_axes = 2 [default = 1];
5334   bool has_num_axes() const;
5335   void clear_num_axes();
5336   static const int kNumAxesFieldNumber = 2;
5337   ::google::protobuf::int32 num_axes() const;
5338   void set_num_axes(::google::protobuf::int32 value);
5339
5340   // optional .opencv_caffe.FillerParameter filler = 3;
5341   bool has_filler() const;
5342   void clear_filler();
5343   static const int kFillerFieldNumber = 3;
5344   const ::opencv_caffe::FillerParameter& filler() const;
5345   ::opencv_caffe::FillerParameter* mutable_filler();
5346   ::opencv_caffe::FillerParameter* release_filler();
5347   void set_allocated_filler(::opencv_caffe::FillerParameter* filler);
5348
5349   // @@protoc_insertion_point(class_scope:opencv_caffe.BiasParameter)
5350  private:
5351   inline void set_has_axis();
5352   inline void clear_has_axis();
5353   inline void set_has_num_axes();
5354   inline void clear_has_num_axes();
5355   inline void set_has_filler();
5356   inline void clear_has_filler();
5357
5358   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5359   ::google::protobuf::internal::HasBits<1> _has_bits_;
5360   mutable int _cached_size_;
5361   ::opencv_caffe::FillerParameter* filler_;
5362   ::google::protobuf::int32 axis_;
5363   ::google::protobuf::int32 num_axes_;
5364   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5365   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5366   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5367   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5368
5369   void InitAsDefaultInstance();
5370 };
5371 extern ::google::protobuf::internal::ExplicitlyConstructed<BiasParameter> BiasParameter_default_instance_;
5372
5373 // -------------------------------------------------------------------
5374
5375 class ContrastiveLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ContrastiveLossParameter) */ {
5376  public:
5377   ContrastiveLossParameter();
5378   virtual ~ContrastiveLossParameter();
5379
5380   ContrastiveLossParameter(const ContrastiveLossParameter& from);
5381
5382   inline ContrastiveLossParameter& operator=(const ContrastiveLossParameter& from) {
5383     CopyFrom(from);
5384     return *this;
5385   }
5386
5387   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5388     return _internal_metadata_.unknown_fields();
5389   }
5390
5391   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5392     return _internal_metadata_.mutable_unknown_fields();
5393   }
5394
5395   static const ::google::protobuf::Descriptor* descriptor();
5396   static const ContrastiveLossParameter& default_instance();
5397
5398   static const ContrastiveLossParameter* internal_default_instance();
5399
5400   void Swap(ContrastiveLossParameter* other);
5401
5402   // implements Message ----------------------------------------------
5403
5404   inline ContrastiveLossParameter* New() const { return New(NULL); }
5405
5406   ContrastiveLossParameter* New(::google::protobuf::Arena* arena) const;
5407   void CopyFrom(const ::google::protobuf::Message& from);
5408   void MergeFrom(const ::google::protobuf::Message& from);
5409   void CopyFrom(const ContrastiveLossParameter& from);
5410   void MergeFrom(const ContrastiveLossParameter& from);
5411   void Clear();
5412   bool IsInitialized() const;
5413
5414   size_t ByteSizeLong() const;
5415   bool MergePartialFromCodedStream(
5416       ::google::protobuf::io::CodedInputStream* input);
5417   void SerializeWithCachedSizes(
5418       ::google::protobuf::io::CodedOutputStream* output) const;
5419   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5420       bool deterministic, ::google::protobuf::uint8* output) const;
5421   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5422     return InternalSerializeWithCachedSizesToArray(false, output);
5423   }
5424   int GetCachedSize() const { return _cached_size_; }
5425   private:
5426   void SharedCtor();
5427   void SharedDtor();
5428   void SetCachedSize(int size) const;
5429   void InternalSwap(ContrastiveLossParameter* other);
5430   void UnsafeMergeFrom(const ContrastiveLossParameter& from);
5431   private:
5432   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5433     return _internal_metadata_.arena();
5434   }
5435   inline void* MaybeArenaPtr() const {
5436     return _internal_metadata_.raw_arena_ptr();
5437   }
5438   public:
5439
5440   ::google::protobuf::Metadata GetMetadata() const;
5441
5442   // nested types ----------------------------------------------------
5443
5444   // accessors -------------------------------------------------------
5445
5446   // optional float margin = 1 [default = 1];
5447   bool has_margin() const;
5448   void clear_margin();
5449   static const int kMarginFieldNumber = 1;
5450   float margin() const;
5451   void set_margin(float value);
5452
5453   // optional bool legacy_version = 2 [default = false];
5454   bool has_legacy_version() const;
5455   void clear_legacy_version();
5456   static const int kLegacyVersionFieldNumber = 2;
5457   bool legacy_version() const;
5458   void set_legacy_version(bool value);
5459
5460   // @@protoc_insertion_point(class_scope:opencv_caffe.ContrastiveLossParameter)
5461  private:
5462   inline void set_has_margin();
5463   inline void clear_has_margin();
5464   inline void set_has_legacy_version();
5465   inline void clear_has_legacy_version();
5466
5467   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5468   ::google::protobuf::internal::HasBits<1> _has_bits_;
5469   mutable int _cached_size_;
5470   bool legacy_version_;
5471   float margin_;
5472   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5473   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5474   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5475   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5476
5477   void InitAsDefaultInstance();
5478 };
5479 extern ::google::protobuf::internal::ExplicitlyConstructed<ContrastiveLossParameter> ContrastiveLossParameter_default_instance_;
5480
5481 // -------------------------------------------------------------------
5482
5483 class ConvolutionParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ConvolutionParameter) */ {
5484  public:
5485   ConvolutionParameter();
5486   virtual ~ConvolutionParameter();
5487
5488   ConvolutionParameter(const ConvolutionParameter& from);
5489
5490   inline ConvolutionParameter& operator=(const ConvolutionParameter& from) {
5491     CopyFrom(from);
5492     return *this;
5493   }
5494
5495   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5496     return _internal_metadata_.unknown_fields();
5497   }
5498
5499   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5500     return _internal_metadata_.mutable_unknown_fields();
5501   }
5502
5503   static const ::google::protobuf::Descriptor* descriptor();
5504   static const ConvolutionParameter& default_instance();
5505
5506   static const ConvolutionParameter* internal_default_instance();
5507
5508   void Swap(ConvolutionParameter* other);
5509
5510   // implements Message ----------------------------------------------
5511
5512   inline ConvolutionParameter* New() const { return New(NULL); }
5513
5514   ConvolutionParameter* New(::google::protobuf::Arena* arena) const;
5515   void CopyFrom(const ::google::protobuf::Message& from);
5516   void MergeFrom(const ::google::protobuf::Message& from);
5517   void CopyFrom(const ConvolutionParameter& from);
5518   void MergeFrom(const ConvolutionParameter& from);
5519   void Clear();
5520   bool IsInitialized() const;
5521
5522   size_t ByteSizeLong() const;
5523   bool MergePartialFromCodedStream(
5524       ::google::protobuf::io::CodedInputStream* input);
5525   void SerializeWithCachedSizes(
5526       ::google::protobuf::io::CodedOutputStream* output) const;
5527   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5528       bool deterministic, ::google::protobuf::uint8* output) const;
5529   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5530     return InternalSerializeWithCachedSizesToArray(false, output);
5531   }
5532   int GetCachedSize() const { return _cached_size_; }
5533   private:
5534   void SharedCtor();
5535   void SharedDtor();
5536   void SetCachedSize(int size) const;
5537   void InternalSwap(ConvolutionParameter* other);
5538   void UnsafeMergeFrom(const ConvolutionParameter& from);
5539   private:
5540   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5541     return _internal_metadata_.arena();
5542   }
5543   inline void* MaybeArenaPtr() const {
5544     return _internal_metadata_.raw_arena_ptr();
5545   }
5546   public:
5547
5548   ::google::protobuf::Metadata GetMetadata() const;
5549
5550   // nested types ----------------------------------------------------
5551
5552   typedef ConvolutionParameter_Engine Engine;
5553   static const Engine DEFAULT =
5554     ConvolutionParameter_Engine_DEFAULT;
5555   static const Engine CAFFE =
5556     ConvolutionParameter_Engine_CAFFE;
5557   static const Engine CUDNN =
5558     ConvolutionParameter_Engine_CUDNN;
5559   static inline bool Engine_IsValid(int value) {
5560     return ConvolutionParameter_Engine_IsValid(value);
5561   }
5562   static const Engine Engine_MIN =
5563     ConvolutionParameter_Engine_Engine_MIN;
5564   static const Engine Engine_MAX =
5565     ConvolutionParameter_Engine_Engine_MAX;
5566   static const int Engine_ARRAYSIZE =
5567     ConvolutionParameter_Engine_Engine_ARRAYSIZE;
5568   static inline const ::google::protobuf::EnumDescriptor*
5569   Engine_descriptor() {
5570     return ConvolutionParameter_Engine_descriptor();
5571   }
5572   static inline const ::std::string& Engine_Name(Engine value) {
5573     return ConvolutionParameter_Engine_Name(value);
5574   }
5575   static inline bool Engine_Parse(const ::std::string& name,
5576       Engine* value) {
5577     return ConvolutionParameter_Engine_Parse(name, value);
5578   }
5579
5580   // accessors -------------------------------------------------------
5581
5582   // optional uint32 num_output = 1;
5583   bool has_num_output() const;
5584   void clear_num_output();
5585   static const int kNumOutputFieldNumber = 1;
5586   ::google::protobuf::uint32 num_output() const;
5587   void set_num_output(::google::protobuf::uint32 value);
5588
5589   // optional bool bias_term = 2 [default = true];
5590   bool has_bias_term() const;
5591   void clear_bias_term();
5592   static const int kBiasTermFieldNumber = 2;
5593   bool bias_term() const;
5594   void set_bias_term(bool value);
5595
5596   // repeated uint32 pad = 3;
5597   int pad_size() const;
5598   void clear_pad();
5599   static const int kPadFieldNumber = 3;
5600   ::google::protobuf::uint32 pad(int index) const;
5601   void set_pad(int index, ::google::protobuf::uint32 value);
5602   void add_pad(::google::protobuf::uint32 value);
5603   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5604       pad() const;
5605   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5606       mutable_pad();
5607
5608   // repeated uint32 kernel_size = 4;
5609   int kernel_size_size() const;
5610   void clear_kernel_size();
5611   static const int kKernelSizeFieldNumber = 4;
5612   ::google::protobuf::uint32 kernel_size(int index) const;
5613   void set_kernel_size(int index, ::google::protobuf::uint32 value);
5614   void add_kernel_size(::google::protobuf::uint32 value);
5615   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5616       kernel_size() const;
5617   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5618       mutable_kernel_size();
5619
5620   // repeated uint32 stride = 6;
5621   int stride_size() const;
5622   void clear_stride();
5623   static const int kStrideFieldNumber = 6;
5624   ::google::protobuf::uint32 stride(int index) const;
5625   void set_stride(int index, ::google::protobuf::uint32 value);
5626   void add_stride(::google::protobuf::uint32 value);
5627   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5628       stride() const;
5629   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5630       mutable_stride();
5631
5632   // repeated uint32 dilation = 18;
5633   int dilation_size() const;
5634   void clear_dilation();
5635   static const int kDilationFieldNumber = 18;
5636   ::google::protobuf::uint32 dilation(int index) const;
5637   void set_dilation(int index, ::google::protobuf::uint32 value);
5638   void add_dilation(::google::protobuf::uint32 value);
5639   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5640       dilation() const;
5641   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5642       mutable_dilation();
5643
5644   // optional uint32 pad_h = 9 [default = 0];
5645   bool has_pad_h() const;
5646   void clear_pad_h();
5647   static const int kPadHFieldNumber = 9;
5648   ::google::protobuf::uint32 pad_h() const;
5649   void set_pad_h(::google::protobuf::uint32 value);
5650
5651   // optional uint32 pad_w = 10 [default = 0];
5652   bool has_pad_w() const;
5653   void clear_pad_w();
5654   static const int kPadWFieldNumber = 10;
5655   ::google::protobuf::uint32 pad_w() const;
5656   void set_pad_w(::google::protobuf::uint32 value);
5657
5658   // optional uint32 kernel_h = 11;
5659   bool has_kernel_h() const;
5660   void clear_kernel_h();
5661   static const int kKernelHFieldNumber = 11;
5662   ::google::protobuf::uint32 kernel_h() const;
5663   void set_kernel_h(::google::protobuf::uint32 value);
5664
5665   // optional uint32 kernel_w = 12;
5666   bool has_kernel_w() const;
5667   void clear_kernel_w();
5668   static const int kKernelWFieldNumber = 12;
5669   ::google::protobuf::uint32 kernel_w() const;
5670   void set_kernel_w(::google::protobuf::uint32 value);
5671
5672   // optional uint32 stride_h = 13;
5673   bool has_stride_h() const;
5674   void clear_stride_h();
5675   static const int kStrideHFieldNumber = 13;
5676   ::google::protobuf::uint32 stride_h() const;
5677   void set_stride_h(::google::protobuf::uint32 value);
5678
5679   // optional uint32 stride_w = 14;
5680   bool has_stride_w() const;
5681   void clear_stride_w();
5682   static const int kStrideWFieldNumber = 14;
5683   ::google::protobuf::uint32 stride_w() const;
5684   void set_stride_w(::google::protobuf::uint32 value);
5685
5686   // optional uint32 group = 5 [default = 1];
5687   bool has_group() const;
5688   void clear_group();
5689   static const int kGroupFieldNumber = 5;
5690   ::google::protobuf::uint32 group() const;
5691   void set_group(::google::protobuf::uint32 value);
5692
5693   // optional .opencv_caffe.FillerParameter weight_filler = 7;
5694   bool has_weight_filler() const;
5695   void clear_weight_filler();
5696   static const int kWeightFillerFieldNumber = 7;
5697   const ::opencv_caffe::FillerParameter& weight_filler() const;
5698   ::opencv_caffe::FillerParameter* mutable_weight_filler();
5699   ::opencv_caffe::FillerParameter* release_weight_filler();
5700   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
5701
5702   // optional .opencv_caffe.FillerParameter bias_filler = 8;
5703   bool has_bias_filler() const;
5704   void clear_bias_filler();
5705   static const int kBiasFillerFieldNumber = 8;
5706   const ::opencv_caffe::FillerParameter& bias_filler() const;
5707   ::opencv_caffe::FillerParameter* mutable_bias_filler();
5708   ::opencv_caffe::FillerParameter* release_bias_filler();
5709   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
5710
5711   // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
5712   bool has_engine() const;
5713   void clear_engine();
5714   static const int kEngineFieldNumber = 15;
5715   ::opencv_caffe::ConvolutionParameter_Engine engine() const;
5716   void set_engine(::opencv_caffe::ConvolutionParameter_Engine value);
5717
5718   // optional int32 axis = 16 [default = 1];
5719   bool has_axis() const;
5720   void clear_axis();
5721   static const int kAxisFieldNumber = 16;
5722   ::google::protobuf::int32 axis() const;
5723   void set_axis(::google::protobuf::int32 value);
5724
5725   // optional bool force_nd_im2col = 17 [default = false];
5726   bool has_force_nd_im2col() const;
5727   void clear_force_nd_im2col();
5728   static const int kForceNdIm2ColFieldNumber = 17;
5729   bool force_nd_im2col() const;
5730   void set_force_nd_im2col(bool value);
5731
5732   // @@protoc_insertion_point(class_scope:opencv_caffe.ConvolutionParameter)
5733  private:
5734   inline void set_has_num_output();
5735   inline void clear_has_num_output();
5736   inline void set_has_bias_term();
5737   inline void clear_has_bias_term();
5738   inline void set_has_pad_h();
5739   inline void clear_has_pad_h();
5740   inline void set_has_pad_w();
5741   inline void clear_has_pad_w();
5742   inline void set_has_kernel_h();
5743   inline void clear_has_kernel_h();
5744   inline void set_has_kernel_w();
5745   inline void clear_has_kernel_w();
5746   inline void set_has_stride_h();
5747   inline void clear_has_stride_h();
5748   inline void set_has_stride_w();
5749   inline void clear_has_stride_w();
5750   inline void set_has_group();
5751   inline void clear_has_group();
5752   inline void set_has_weight_filler();
5753   inline void clear_has_weight_filler();
5754   inline void set_has_bias_filler();
5755   inline void clear_has_bias_filler();
5756   inline void set_has_engine();
5757   inline void clear_has_engine();
5758   inline void set_has_axis();
5759   inline void clear_has_axis();
5760   inline void set_has_force_nd_im2col();
5761   inline void clear_has_force_nd_im2col();
5762
5763   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5764   ::google::protobuf::internal::HasBits<1> _has_bits_;
5765   mutable int _cached_size_;
5766   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > pad_;
5767   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > kernel_size_;
5768   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > stride_;
5769   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > dilation_;
5770   ::opencv_caffe::FillerParameter* weight_filler_;
5771   ::opencv_caffe::FillerParameter* bias_filler_;
5772   ::google::protobuf::uint32 num_output_;
5773   ::google::protobuf::uint32 pad_h_;
5774   ::google::protobuf::uint32 pad_w_;
5775   ::google::protobuf::uint32 kernel_h_;
5776   ::google::protobuf::uint32 kernel_w_;
5777   ::google::protobuf::uint32 stride_h_;
5778   ::google::protobuf::uint32 stride_w_;
5779   int engine_;
5780   bool force_nd_im2col_;
5781   ::google::protobuf::int32 axis_;
5782   bool bias_term_;
5783   ::google::protobuf::uint32 group_;
5784   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5785   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5786   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5787   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5788
5789   void InitAsDefaultInstance();
5790 };
5791 extern ::google::protobuf::internal::ExplicitlyConstructed<ConvolutionParameter> ConvolutionParameter_default_instance_;
5792
5793 // -------------------------------------------------------------------
5794
5795 class CropParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.CropParameter) */ {
5796  public:
5797   CropParameter();
5798   virtual ~CropParameter();
5799
5800   CropParameter(const CropParameter& from);
5801
5802   inline CropParameter& operator=(const CropParameter& from) {
5803     CopyFrom(from);
5804     return *this;
5805   }
5806
5807   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5808     return _internal_metadata_.unknown_fields();
5809   }
5810
5811   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5812     return _internal_metadata_.mutable_unknown_fields();
5813   }
5814
5815   static const ::google::protobuf::Descriptor* descriptor();
5816   static const CropParameter& default_instance();
5817
5818   static const CropParameter* internal_default_instance();
5819
5820   void Swap(CropParameter* other);
5821
5822   // implements Message ----------------------------------------------
5823
5824   inline CropParameter* New() const { return New(NULL); }
5825
5826   CropParameter* New(::google::protobuf::Arena* arena) const;
5827   void CopyFrom(const ::google::protobuf::Message& from);
5828   void MergeFrom(const ::google::protobuf::Message& from);
5829   void CopyFrom(const CropParameter& from);
5830   void MergeFrom(const CropParameter& from);
5831   void Clear();
5832   bool IsInitialized() const;
5833
5834   size_t ByteSizeLong() const;
5835   bool MergePartialFromCodedStream(
5836       ::google::protobuf::io::CodedInputStream* input);
5837   void SerializeWithCachedSizes(
5838       ::google::protobuf::io::CodedOutputStream* output) const;
5839   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5840       bool deterministic, ::google::protobuf::uint8* output) const;
5841   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5842     return InternalSerializeWithCachedSizesToArray(false, output);
5843   }
5844   int GetCachedSize() const { return _cached_size_; }
5845   private:
5846   void SharedCtor();
5847   void SharedDtor();
5848   void SetCachedSize(int size) const;
5849   void InternalSwap(CropParameter* other);
5850   void UnsafeMergeFrom(const CropParameter& from);
5851   private:
5852   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5853     return _internal_metadata_.arena();
5854   }
5855   inline void* MaybeArenaPtr() const {
5856     return _internal_metadata_.raw_arena_ptr();
5857   }
5858   public:
5859
5860   ::google::protobuf::Metadata GetMetadata() const;
5861
5862   // nested types ----------------------------------------------------
5863
5864   // accessors -------------------------------------------------------
5865
5866   // optional int32 axis = 1 [default = 2];
5867   bool has_axis() const;
5868   void clear_axis();
5869   static const int kAxisFieldNumber = 1;
5870   ::google::protobuf::int32 axis() const;
5871   void set_axis(::google::protobuf::int32 value);
5872
5873   // repeated uint32 offset = 2;
5874   int offset_size() const;
5875   void clear_offset();
5876   static const int kOffsetFieldNumber = 2;
5877   ::google::protobuf::uint32 offset(int index) const;
5878   void set_offset(int index, ::google::protobuf::uint32 value);
5879   void add_offset(::google::protobuf::uint32 value);
5880   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
5881       offset() const;
5882   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
5883       mutable_offset();
5884
5885   // @@protoc_insertion_point(class_scope:opencv_caffe.CropParameter)
5886  private:
5887   inline void set_has_axis();
5888   inline void clear_has_axis();
5889
5890   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
5891   ::google::protobuf::internal::HasBits<1> _has_bits_;
5892   mutable int _cached_size_;
5893   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > offset_;
5894   ::google::protobuf::int32 axis_;
5895   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
5896   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
5897   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
5898   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
5899
5900   void InitAsDefaultInstance();
5901 };
5902 extern ::google::protobuf::internal::ExplicitlyConstructed<CropParameter> CropParameter_default_instance_;
5903
5904 // -------------------------------------------------------------------
5905
5906 class DataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DataParameter) */ {
5907  public:
5908   DataParameter();
5909   virtual ~DataParameter();
5910
5911   DataParameter(const DataParameter& from);
5912
5913   inline DataParameter& operator=(const DataParameter& from) {
5914     CopyFrom(from);
5915     return *this;
5916   }
5917
5918   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
5919     return _internal_metadata_.unknown_fields();
5920   }
5921
5922   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
5923     return _internal_metadata_.mutable_unknown_fields();
5924   }
5925
5926   static const ::google::protobuf::Descriptor* descriptor();
5927   static const DataParameter& default_instance();
5928
5929   static const DataParameter* internal_default_instance();
5930
5931   void Swap(DataParameter* other);
5932
5933   // implements Message ----------------------------------------------
5934
5935   inline DataParameter* New() const { return New(NULL); }
5936
5937   DataParameter* New(::google::protobuf::Arena* arena) const;
5938   void CopyFrom(const ::google::protobuf::Message& from);
5939   void MergeFrom(const ::google::protobuf::Message& from);
5940   void CopyFrom(const DataParameter& from);
5941   void MergeFrom(const DataParameter& from);
5942   void Clear();
5943   bool IsInitialized() const;
5944
5945   size_t ByteSizeLong() const;
5946   bool MergePartialFromCodedStream(
5947       ::google::protobuf::io::CodedInputStream* input);
5948   void SerializeWithCachedSizes(
5949       ::google::protobuf::io::CodedOutputStream* output) const;
5950   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
5951       bool deterministic, ::google::protobuf::uint8* output) const;
5952   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
5953     return InternalSerializeWithCachedSizesToArray(false, output);
5954   }
5955   int GetCachedSize() const { return _cached_size_; }
5956   private:
5957   void SharedCtor();
5958   void SharedDtor();
5959   void SetCachedSize(int size) const;
5960   void InternalSwap(DataParameter* other);
5961   void UnsafeMergeFrom(const DataParameter& from);
5962   private:
5963   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
5964     return _internal_metadata_.arena();
5965   }
5966   inline void* MaybeArenaPtr() const {
5967     return _internal_metadata_.raw_arena_ptr();
5968   }
5969   public:
5970
5971   ::google::protobuf::Metadata GetMetadata() const;
5972
5973   // nested types ----------------------------------------------------
5974
5975   typedef DataParameter_DB DB;
5976   static const DB LEVELDB =
5977     DataParameter_DB_LEVELDB;
5978   static const DB LMDB =
5979     DataParameter_DB_LMDB;
5980   static inline bool DB_IsValid(int value) {
5981     return DataParameter_DB_IsValid(value);
5982   }
5983   static const DB DB_MIN =
5984     DataParameter_DB_DB_MIN;
5985   static const DB DB_MAX =
5986     DataParameter_DB_DB_MAX;
5987   static const int DB_ARRAYSIZE =
5988     DataParameter_DB_DB_ARRAYSIZE;
5989   static inline const ::google::protobuf::EnumDescriptor*
5990   DB_descriptor() {
5991     return DataParameter_DB_descriptor();
5992   }
5993   static inline const ::std::string& DB_Name(DB value) {
5994     return DataParameter_DB_Name(value);
5995   }
5996   static inline bool DB_Parse(const ::std::string& name,
5997       DB* value) {
5998     return DataParameter_DB_Parse(name, value);
5999   }
6000
6001   // accessors -------------------------------------------------------
6002
6003   // optional string source = 1;
6004   bool has_source() const;
6005   void clear_source();
6006   static const int kSourceFieldNumber = 1;
6007   const ::std::string& source() const;
6008   void set_source(const ::std::string& value);
6009   void set_source(const char* value);
6010   void set_source(const char* value, size_t size);
6011   ::std::string* mutable_source();
6012   ::std::string* release_source();
6013   void set_allocated_source(::std::string* source);
6014
6015   // optional uint32 batch_size = 4;
6016   bool has_batch_size() const;
6017   void clear_batch_size();
6018   static const int kBatchSizeFieldNumber = 4;
6019   ::google::protobuf::uint32 batch_size() const;
6020   void set_batch_size(::google::protobuf::uint32 value);
6021
6022   // optional uint32 rand_skip = 7 [default = 0];
6023   bool has_rand_skip() const;
6024   void clear_rand_skip();
6025   static const int kRandSkipFieldNumber = 7;
6026   ::google::protobuf::uint32 rand_skip() const;
6027   void set_rand_skip(::google::protobuf::uint32 value);
6028
6029   // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
6030   bool has_backend() const;
6031   void clear_backend();
6032   static const int kBackendFieldNumber = 8;
6033   ::opencv_caffe::DataParameter_DB backend() const;
6034   void set_backend(::opencv_caffe::DataParameter_DB value);
6035
6036   // optional float scale = 2 [default = 1];
6037   bool has_scale() const;
6038   void clear_scale();
6039   static const int kScaleFieldNumber = 2;
6040   float scale() const;
6041   void set_scale(float value);
6042
6043   // optional string mean_file = 3;
6044   bool has_mean_file() const;
6045   void clear_mean_file();
6046   static const int kMeanFileFieldNumber = 3;
6047   const ::std::string& mean_file() const;
6048   void set_mean_file(const ::std::string& value);
6049   void set_mean_file(const char* value);
6050   void set_mean_file(const char* value, size_t size);
6051   ::std::string* mutable_mean_file();
6052   ::std::string* release_mean_file();
6053   void set_allocated_mean_file(::std::string* mean_file);
6054
6055   // optional uint32 crop_size = 5 [default = 0];
6056   bool has_crop_size() const;
6057   void clear_crop_size();
6058   static const int kCropSizeFieldNumber = 5;
6059   ::google::protobuf::uint32 crop_size() const;
6060   void set_crop_size(::google::protobuf::uint32 value);
6061
6062   // optional bool mirror = 6 [default = false];
6063   bool has_mirror() const;
6064   void clear_mirror();
6065   static const int kMirrorFieldNumber = 6;
6066   bool mirror() const;
6067   void set_mirror(bool value);
6068
6069   // optional bool force_encoded_color = 9 [default = false];
6070   bool has_force_encoded_color() const;
6071   void clear_force_encoded_color();
6072   static const int kForceEncodedColorFieldNumber = 9;
6073   bool force_encoded_color() const;
6074   void set_force_encoded_color(bool value);
6075
6076   // optional uint32 prefetch = 10 [default = 4];
6077   bool has_prefetch() const;
6078   void clear_prefetch();
6079   static const int kPrefetchFieldNumber = 10;
6080   ::google::protobuf::uint32 prefetch() const;
6081   void set_prefetch(::google::protobuf::uint32 value);
6082
6083   // @@protoc_insertion_point(class_scope:opencv_caffe.DataParameter)
6084  private:
6085   inline void set_has_source();
6086   inline void clear_has_source();
6087   inline void set_has_batch_size();
6088   inline void clear_has_batch_size();
6089   inline void set_has_rand_skip();
6090   inline void clear_has_rand_skip();
6091   inline void set_has_backend();
6092   inline void clear_has_backend();
6093   inline void set_has_scale();
6094   inline void clear_has_scale();
6095   inline void set_has_mean_file();
6096   inline void clear_has_mean_file();
6097   inline void set_has_crop_size();
6098   inline void clear_has_crop_size();
6099   inline void set_has_mirror();
6100   inline void clear_has_mirror();
6101   inline void set_has_force_encoded_color();
6102   inline void clear_has_force_encoded_color();
6103   inline void set_has_prefetch();
6104   inline void clear_has_prefetch();
6105
6106   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6107   ::google::protobuf::internal::HasBits<1> _has_bits_;
6108   mutable int _cached_size_;
6109   ::google::protobuf::internal::ArenaStringPtr source_;
6110   ::google::protobuf::internal::ArenaStringPtr mean_file_;
6111   ::google::protobuf::uint32 batch_size_;
6112   ::google::protobuf::uint32 rand_skip_;
6113   int backend_;
6114   ::google::protobuf::uint32 crop_size_;
6115   bool mirror_;
6116   bool force_encoded_color_;
6117   float scale_;
6118   ::google::protobuf::uint32 prefetch_;
6119   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6120   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6121   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6122   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6123
6124   void InitAsDefaultInstance();
6125 };
6126 extern ::google::protobuf::internal::ExplicitlyConstructed<DataParameter> DataParameter_default_instance_;
6127
6128 // -------------------------------------------------------------------
6129
6130 class NonMaximumSuppressionParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NonMaximumSuppressionParameter) */ {
6131  public:
6132   NonMaximumSuppressionParameter();
6133   virtual ~NonMaximumSuppressionParameter();
6134
6135   NonMaximumSuppressionParameter(const NonMaximumSuppressionParameter& from);
6136
6137   inline NonMaximumSuppressionParameter& operator=(const NonMaximumSuppressionParameter& from) {
6138     CopyFrom(from);
6139     return *this;
6140   }
6141
6142   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6143     return _internal_metadata_.unknown_fields();
6144   }
6145
6146   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6147     return _internal_metadata_.mutable_unknown_fields();
6148   }
6149
6150   static const ::google::protobuf::Descriptor* descriptor();
6151   static const NonMaximumSuppressionParameter& default_instance();
6152
6153   static const NonMaximumSuppressionParameter* internal_default_instance();
6154
6155   void Swap(NonMaximumSuppressionParameter* other);
6156
6157   // implements Message ----------------------------------------------
6158
6159   inline NonMaximumSuppressionParameter* New() const { return New(NULL); }
6160
6161   NonMaximumSuppressionParameter* New(::google::protobuf::Arena* arena) const;
6162   void CopyFrom(const ::google::protobuf::Message& from);
6163   void MergeFrom(const ::google::protobuf::Message& from);
6164   void CopyFrom(const NonMaximumSuppressionParameter& from);
6165   void MergeFrom(const NonMaximumSuppressionParameter& from);
6166   void Clear();
6167   bool IsInitialized() const;
6168
6169   size_t ByteSizeLong() const;
6170   bool MergePartialFromCodedStream(
6171       ::google::protobuf::io::CodedInputStream* input);
6172   void SerializeWithCachedSizes(
6173       ::google::protobuf::io::CodedOutputStream* output) const;
6174   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6175       bool deterministic, ::google::protobuf::uint8* output) const;
6176   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6177     return InternalSerializeWithCachedSizesToArray(false, output);
6178   }
6179   int GetCachedSize() const { return _cached_size_; }
6180   private:
6181   void SharedCtor();
6182   void SharedDtor();
6183   void SetCachedSize(int size) const;
6184   void InternalSwap(NonMaximumSuppressionParameter* other);
6185   void UnsafeMergeFrom(const NonMaximumSuppressionParameter& from);
6186   private:
6187   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6188     return _internal_metadata_.arena();
6189   }
6190   inline void* MaybeArenaPtr() const {
6191     return _internal_metadata_.raw_arena_ptr();
6192   }
6193   public:
6194
6195   ::google::protobuf::Metadata GetMetadata() const;
6196
6197   // nested types ----------------------------------------------------
6198
6199   // accessors -------------------------------------------------------
6200
6201   // optional float nms_threshold = 1 [default = 0.3];
6202   bool has_nms_threshold() const;
6203   void clear_nms_threshold();
6204   static const int kNmsThresholdFieldNumber = 1;
6205   float nms_threshold() const;
6206   void set_nms_threshold(float value);
6207
6208   // optional int32 top_k = 2;
6209   bool has_top_k() const;
6210   void clear_top_k();
6211   static const int kTopKFieldNumber = 2;
6212   ::google::protobuf::int32 top_k() const;
6213   void set_top_k(::google::protobuf::int32 value);
6214
6215   // optional float eta = 3 [default = 1];
6216   bool has_eta() const;
6217   void clear_eta();
6218   static const int kEtaFieldNumber = 3;
6219   float eta() const;
6220   void set_eta(float value);
6221
6222   // @@protoc_insertion_point(class_scope:opencv_caffe.NonMaximumSuppressionParameter)
6223  private:
6224   inline void set_has_nms_threshold();
6225   inline void clear_has_nms_threshold();
6226   inline void set_has_top_k();
6227   inline void clear_has_top_k();
6228   inline void set_has_eta();
6229   inline void clear_has_eta();
6230
6231   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6232   ::google::protobuf::internal::HasBits<1> _has_bits_;
6233   mutable int _cached_size_;
6234   ::google::protobuf::int32 top_k_;
6235   float nms_threshold_;
6236   float eta_;
6237   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6238   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6239   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6240   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6241
6242   void InitAsDefaultInstance();
6243 };
6244 extern ::google::protobuf::internal::ExplicitlyConstructed<NonMaximumSuppressionParameter> NonMaximumSuppressionParameter_default_instance_;
6245
6246 // -------------------------------------------------------------------
6247
6248 class SaveOutputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SaveOutputParameter) */ {
6249  public:
6250   SaveOutputParameter();
6251   virtual ~SaveOutputParameter();
6252
6253   SaveOutputParameter(const SaveOutputParameter& from);
6254
6255   inline SaveOutputParameter& operator=(const SaveOutputParameter& from) {
6256     CopyFrom(from);
6257     return *this;
6258   }
6259
6260   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6261     return _internal_metadata_.unknown_fields();
6262   }
6263
6264   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6265     return _internal_metadata_.mutable_unknown_fields();
6266   }
6267
6268   static const ::google::protobuf::Descriptor* descriptor();
6269   static const SaveOutputParameter& default_instance();
6270
6271   static const SaveOutputParameter* internal_default_instance();
6272
6273   void Swap(SaveOutputParameter* other);
6274
6275   // implements Message ----------------------------------------------
6276
6277   inline SaveOutputParameter* New() const { return New(NULL); }
6278
6279   SaveOutputParameter* New(::google::protobuf::Arena* arena) const;
6280   void CopyFrom(const ::google::protobuf::Message& from);
6281   void MergeFrom(const ::google::protobuf::Message& from);
6282   void CopyFrom(const SaveOutputParameter& from);
6283   void MergeFrom(const SaveOutputParameter& from);
6284   void Clear();
6285   bool IsInitialized() const;
6286
6287   size_t ByteSizeLong() const;
6288   bool MergePartialFromCodedStream(
6289       ::google::protobuf::io::CodedInputStream* input);
6290   void SerializeWithCachedSizes(
6291       ::google::protobuf::io::CodedOutputStream* output) const;
6292   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6293       bool deterministic, ::google::protobuf::uint8* output) const;
6294   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6295     return InternalSerializeWithCachedSizesToArray(false, output);
6296   }
6297   int GetCachedSize() const { return _cached_size_; }
6298   private:
6299   void SharedCtor();
6300   void SharedDtor();
6301   void SetCachedSize(int size) const;
6302   void InternalSwap(SaveOutputParameter* other);
6303   void UnsafeMergeFrom(const SaveOutputParameter& from);
6304   private:
6305   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6306     return _internal_metadata_.arena();
6307   }
6308   inline void* MaybeArenaPtr() const {
6309     return _internal_metadata_.raw_arena_ptr();
6310   }
6311   public:
6312
6313   ::google::protobuf::Metadata GetMetadata() const;
6314
6315   // nested types ----------------------------------------------------
6316
6317   // accessors -------------------------------------------------------
6318
6319   // optional string output_directory = 1;
6320   bool has_output_directory() const;
6321   void clear_output_directory();
6322   static const int kOutputDirectoryFieldNumber = 1;
6323   const ::std::string& output_directory() const;
6324   void set_output_directory(const ::std::string& value);
6325   void set_output_directory(const char* value);
6326   void set_output_directory(const char* value, size_t size);
6327   ::std::string* mutable_output_directory();
6328   ::std::string* release_output_directory();
6329   void set_allocated_output_directory(::std::string* output_directory);
6330
6331   // optional string output_name_prefix = 2;
6332   bool has_output_name_prefix() const;
6333   void clear_output_name_prefix();
6334   static const int kOutputNamePrefixFieldNumber = 2;
6335   const ::std::string& output_name_prefix() const;
6336   void set_output_name_prefix(const ::std::string& value);
6337   void set_output_name_prefix(const char* value);
6338   void set_output_name_prefix(const char* value, size_t size);
6339   ::std::string* mutable_output_name_prefix();
6340   ::std::string* release_output_name_prefix();
6341   void set_allocated_output_name_prefix(::std::string* output_name_prefix);
6342
6343   // optional string output_format = 3;
6344   bool has_output_format() const;
6345   void clear_output_format();
6346   static const int kOutputFormatFieldNumber = 3;
6347   const ::std::string& output_format() const;
6348   void set_output_format(const ::std::string& value);
6349   void set_output_format(const char* value);
6350   void set_output_format(const char* value, size_t size);
6351   ::std::string* mutable_output_format();
6352   ::std::string* release_output_format();
6353   void set_allocated_output_format(::std::string* output_format);
6354
6355   // optional string label_map_file = 4;
6356   bool has_label_map_file() const;
6357   void clear_label_map_file();
6358   static const int kLabelMapFileFieldNumber = 4;
6359   const ::std::string& label_map_file() const;
6360   void set_label_map_file(const ::std::string& value);
6361   void set_label_map_file(const char* value);
6362   void set_label_map_file(const char* value, size_t size);
6363   ::std::string* mutable_label_map_file();
6364   ::std::string* release_label_map_file();
6365   void set_allocated_label_map_file(::std::string* label_map_file);
6366
6367   // optional string name_size_file = 5;
6368   bool has_name_size_file() const;
6369   void clear_name_size_file();
6370   static const int kNameSizeFileFieldNumber = 5;
6371   const ::std::string& name_size_file() const;
6372   void set_name_size_file(const ::std::string& value);
6373   void set_name_size_file(const char* value);
6374   void set_name_size_file(const char* value, size_t size);
6375   ::std::string* mutable_name_size_file();
6376   ::std::string* release_name_size_file();
6377   void set_allocated_name_size_file(::std::string* name_size_file);
6378
6379   // optional uint32 num_test_image = 6;
6380   bool has_num_test_image() const;
6381   void clear_num_test_image();
6382   static const int kNumTestImageFieldNumber = 6;
6383   ::google::protobuf::uint32 num_test_image() const;
6384   void set_num_test_image(::google::protobuf::uint32 value);
6385
6386   // @@protoc_insertion_point(class_scope:opencv_caffe.SaveOutputParameter)
6387  private:
6388   inline void set_has_output_directory();
6389   inline void clear_has_output_directory();
6390   inline void set_has_output_name_prefix();
6391   inline void clear_has_output_name_prefix();
6392   inline void set_has_output_format();
6393   inline void clear_has_output_format();
6394   inline void set_has_label_map_file();
6395   inline void clear_has_label_map_file();
6396   inline void set_has_name_size_file();
6397   inline void clear_has_name_size_file();
6398   inline void set_has_num_test_image();
6399   inline void clear_has_num_test_image();
6400
6401   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6402   ::google::protobuf::internal::HasBits<1> _has_bits_;
6403   mutable int _cached_size_;
6404   ::google::protobuf::internal::ArenaStringPtr output_directory_;
6405   ::google::protobuf::internal::ArenaStringPtr output_name_prefix_;
6406   ::google::protobuf::internal::ArenaStringPtr output_format_;
6407   ::google::protobuf::internal::ArenaStringPtr label_map_file_;
6408   ::google::protobuf::internal::ArenaStringPtr name_size_file_;
6409   ::google::protobuf::uint32 num_test_image_;
6410   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6411   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6412   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6413   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6414
6415   void InitAsDefaultInstance();
6416 };
6417 extern ::google::protobuf::internal::ExplicitlyConstructed<SaveOutputParameter> SaveOutputParameter_default_instance_;
6418
6419 // -------------------------------------------------------------------
6420
6421 class DropoutParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DropoutParameter) */ {
6422  public:
6423   DropoutParameter();
6424   virtual ~DropoutParameter();
6425
6426   DropoutParameter(const DropoutParameter& from);
6427
6428   inline DropoutParameter& operator=(const DropoutParameter& from) {
6429     CopyFrom(from);
6430     return *this;
6431   }
6432
6433   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6434     return _internal_metadata_.unknown_fields();
6435   }
6436
6437   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6438     return _internal_metadata_.mutable_unknown_fields();
6439   }
6440
6441   static const ::google::protobuf::Descriptor* descriptor();
6442   static const DropoutParameter& default_instance();
6443
6444   static const DropoutParameter* internal_default_instance();
6445
6446   void Swap(DropoutParameter* other);
6447
6448   // implements Message ----------------------------------------------
6449
6450   inline DropoutParameter* New() const { return New(NULL); }
6451
6452   DropoutParameter* New(::google::protobuf::Arena* arena) const;
6453   void CopyFrom(const ::google::protobuf::Message& from);
6454   void MergeFrom(const ::google::protobuf::Message& from);
6455   void CopyFrom(const DropoutParameter& from);
6456   void MergeFrom(const DropoutParameter& from);
6457   void Clear();
6458   bool IsInitialized() const;
6459
6460   size_t ByteSizeLong() const;
6461   bool MergePartialFromCodedStream(
6462       ::google::protobuf::io::CodedInputStream* input);
6463   void SerializeWithCachedSizes(
6464       ::google::protobuf::io::CodedOutputStream* output) const;
6465   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6466       bool deterministic, ::google::protobuf::uint8* output) const;
6467   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6468     return InternalSerializeWithCachedSizesToArray(false, output);
6469   }
6470   int GetCachedSize() const { return _cached_size_; }
6471   private:
6472   void SharedCtor();
6473   void SharedDtor();
6474   void SetCachedSize(int size) const;
6475   void InternalSwap(DropoutParameter* other);
6476   void UnsafeMergeFrom(const DropoutParameter& from);
6477   private:
6478   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6479     return _internal_metadata_.arena();
6480   }
6481   inline void* MaybeArenaPtr() const {
6482     return _internal_metadata_.raw_arena_ptr();
6483   }
6484   public:
6485
6486   ::google::protobuf::Metadata GetMetadata() const;
6487
6488   // nested types ----------------------------------------------------
6489
6490   // accessors -------------------------------------------------------
6491
6492   // optional float dropout_ratio = 1 [default = 0.5];
6493   bool has_dropout_ratio() const;
6494   void clear_dropout_ratio();
6495   static const int kDropoutRatioFieldNumber = 1;
6496   float dropout_ratio() const;
6497   void set_dropout_ratio(float value);
6498
6499   // optional bool scale_train = 2 [default = true];
6500   bool has_scale_train() const;
6501   void clear_scale_train();
6502   static const int kScaleTrainFieldNumber = 2;
6503   bool scale_train() const;
6504   void set_scale_train(bool value);
6505
6506   // @@protoc_insertion_point(class_scope:opencv_caffe.DropoutParameter)
6507  private:
6508   inline void set_has_dropout_ratio();
6509   inline void clear_has_dropout_ratio();
6510   inline void set_has_scale_train();
6511   inline void clear_has_scale_train();
6512
6513   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6514   ::google::protobuf::internal::HasBits<1> _has_bits_;
6515   mutable int _cached_size_;
6516   float dropout_ratio_;
6517   bool scale_train_;
6518   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6519   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6520   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6521   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6522
6523   void InitAsDefaultInstance();
6524 };
6525 extern ::google::protobuf::internal::ExplicitlyConstructed<DropoutParameter> DropoutParameter_default_instance_;
6526
6527 // -------------------------------------------------------------------
6528
6529 class DummyDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.DummyDataParameter) */ {
6530  public:
6531   DummyDataParameter();
6532   virtual ~DummyDataParameter();
6533
6534   DummyDataParameter(const DummyDataParameter& from);
6535
6536   inline DummyDataParameter& operator=(const DummyDataParameter& from) {
6537     CopyFrom(from);
6538     return *this;
6539   }
6540
6541   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6542     return _internal_metadata_.unknown_fields();
6543   }
6544
6545   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6546     return _internal_metadata_.mutable_unknown_fields();
6547   }
6548
6549   static const ::google::protobuf::Descriptor* descriptor();
6550   static const DummyDataParameter& default_instance();
6551
6552   static const DummyDataParameter* internal_default_instance();
6553
6554   void Swap(DummyDataParameter* other);
6555
6556   // implements Message ----------------------------------------------
6557
6558   inline DummyDataParameter* New() const { return New(NULL); }
6559
6560   DummyDataParameter* New(::google::protobuf::Arena* arena) const;
6561   void CopyFrom(const ::google::protobuf::Message& from);
6562   void MergeFrom(const ::google::protobuf::Message& from);
6563   void CopyFrom(const DummyDataParameter& from);
6564   void MergeFrom(const DummyDataParameter& from);
6565   void Clear();
6566   bool IsInitialized() const;
6567
6568   size_t ByteSizeLong() const;
6569   bool MergePartialFromCodedStream(
6570       ::google::protobuf::io::CodedInputStream* input);
6571   void SerializeWithCachedSizes(
6572       ::google::protobuf::io::CodedOutputStream* output) const;
6573   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6574       bool deterministic, ::google::protobuf::uint8* output) const;
6575   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6576     return InternalSerializeWithCachedSizesToArray(false, output);
6577   }
6578   int GetCachedSize() const { return _cached_size_; }
6579   private:
6580   void SharedCtor();
6581   void SharedDtor();
6582   void SetCachedSize(int size) const;
6583   void InternalSwap(DummyDataParameter* other);
6584   void UnsafeMergeFrom(const DummyDataParameter& from);
6585   private:
6586   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6587     return _internal_metadata_.arena();
6588   }
6589   inline void* MaybeArenaPtr() const {
6590     return _internal_metadata_.raw_arena_ptr();
6591   }
6592   public:
6593
6594   ::google::protobuf::Metadata GetMetadata() const;
6595
6596   // nested types ----------------------------------------------------
6597
6598   // accessors -------------------------------------------------------
6599
6600   // repeated .opencv_caffe.FillerParameter data_filler = 1;
6601   int data_filler_size() const;
6602   void clear_data_filler();
6603   static const int kDataFillerFieldNumber = 1;
6604   const ::opencv_caffe::FillerParameter& data_filler(int index) const;
6605   ::opencv_caffe::FillerParameter* mutable_data_filler(int index);
6606   ::opencv_caffe::FillerParameter* add_data_filler();
6607   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >*
6608       mutable_data_filler();
6609   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >&
6610       data_filler() const;
6611
6612   // repeated .opencv_caffe.BlobShape shape = 6;
6613   int shape_size() const;
6614   void clear_shape();
6615   static const int kShapeFieldNumber = 6;
6616   const ::opencv_caffe::BlobShape& shape(int index) const;
6617   ::opencv_caffe::BlobShape* mutable_shape(int index);
6618   ::opencv_caffe::BlobShape* add_shape();
6619   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
6620       mutable_shape();
6621   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
6622       shape() const;
6623
6624   // repeated uint32 num = 2;
6625   int num_size() const;
6626   void clear_num();
6627   static const int kNumFieldNumber = 2;
6628   ::google::protobuf::uint32 num(int index) const;
6629   void set_num(int index, ::google::protobuf::uint32 value);
6630   void add_num(::google::protobuf::uint32 value);
6631   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6632       num() const;
6633   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6634       mutable_num();
6635
6636   // repeated uint32 channels = 3;
6637   int channels_size() const;
6638   void clear_channels();
6639   static const int kChannelsFieldNumber = 3;
6640   ::google::protobuf::uint32 channels(int index) const;
6641   void set_channels(int index, ::google::protobuf::uint32 value);
6642   void add_channels(::google::protobuf::uint32 value);
6643   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6644       channels() const;
6645   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6646       mutable_channels();
6647
6648   // repeated uint32 height = 4;
6649   int height_size() const;
6650   void clear_height();
6651   static const int kHeightFieldNumber = 4;
6652   ::google::protobuf::uint32 height(int index) const;
6653   void set_height(int index, ::google::protobuf::uint32 value);
6654   void add_height(::google::protobuf::uint32 value);
6655   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6656       height() const;
6657   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6658       mutable_height();
6659
6660   // repeated uint32 width = 5;
6661   int width_size() const;
6662   void clear_width();
6663   static const int kWidthFieldNumber = 5;
6664   ::google::protobuf::uint32 width(int index) const;
6665   void set_width(int index, ::google::protobuf::uint32 value);
6666   void add_width(::google::protobuf::uint32 value);
6667   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
6668       width() const;
6669   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
6670       mutable_width();
6671
6672   // @@protoc_insertion_point(class_scope:opencv_caffe.DummyDataParameter)
6673  private:
6674
6675   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6676   ::google::protobuf::internal::HasBits<1> _has_bits_;
6677   mutable int _cached_size_;
6678   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter > data_filler_;
6679   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape > shape_;
6680   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > num_;
6681   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > channels_;
6682   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > height_;
6683   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > width_;
6684   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6685   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6686   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6687   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6688
6689   void InitAsDefaultInstance();
6690 };
6691 extern ::google::protobuf::internal::ExplicitlyConstructed<DummyDataParameter> DummyDataParameter_default_instance_;
6692
6693 // -------------------------------------------------------------------
6694
6695 class EltwiseParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.EltwiseParameter) */ {
6696  public:
6697   EltwiseParameter();
6698   virtual ~EltwiseParameter();
6699
6700   EltwiseParameter(const EltwiseParameter& from);
6701
6702   inline EltwiseParameter& operator=(const EltwiseParameter& from) {
6703     CopyFrom(from);
6704     return *this;
6705   }
6706
6707   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6708     return _internal_metadata_.unknown_fields();
6709   }
6710
6711   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6712     return _internal_metadata_.mutable_unknown_fields();
6713   }
6714
6715   static const ::google::protobuf::Descriptor* descriptor();
6716   static const EltwiseParameter& default_instance();
6717
6718   static const EltwiseParameter* internal_default_instance();
6719
6720   void Swap(EltwiseParameter* other);
6721
6722   // implements Message ----------------------------------------------
6723
6724   inline EltwiseParameter* New() const { return New(NULL); }
6725
6726   EltwiseParameter* New(::google::protobuf::Arena* arena) const;
6727   void CopyFrom(const ::google::protobuf::Message& from);
6728   void MergeFrom(const ::google::protobuf::Message& from);
6729   void CopyFrom(const EltwiseParameter& from);
6730   void MergeFrom(const EltwiseParameter& from);
6731   void Clear();
6732   bool IsInitialized() const;
6733
6734   size_t ByteSizeLong() const;
6735   bool MergePartialFromCodedStream(
6736       ::google::protobuf::io::CodedInputStream* input);
6737   void SerializeWithCachedSizes(
6738       ::google::protobuf::io::CodedOutputStream* output) const;
6739   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6740       bool deterministic, ::google::protobuf::uint8* output) const;
6741   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6742     return InternalSerializeWithCachedSizesToArray(false, output);
6743   }
6744   int GetCachedSize() const { return _cached_size_; }
6745   private:
6746   void SharedCtor();
6747   void SharedDtor();
6748   void SetCachedSize(int size) const;
6749   void InternalSwap(EltwiseParameter* other);
6750   void UnsafeMergeFrom(const EltwiseParameter& from);
6751   private:
6752   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6753     return _internal_metadata_.arena();
6754   }
6755   inline void* MaybeArenaPtr() const {
6756     return _internal_metadata_.raw_arena_ptr();
6757   }
6758   public:
6759
6760   ::google::protobuf::Metadata GetMetadata() const;
6761
6762   // nested types ----------------------------------------------------
6763
6764   typedef EltwiseParameter_EltwiseOp EltwiseOp;
6765   static const EltwiseOp PROD =
6766     EltwiseParameter_EltwiseOp_PROD;
6767   static const EltwiseOp SUM =
6768     EltwiseParameter_EltwiseOp_SUM;
6769   static const EltwiseOp MAX =
6770     EltwiseParameter_EltwiseOp_MAX;
6771   static inline bool EltwiseOp_IsValid(int value) {
6772     return EltwiseParameter_EltwiseOp_IsValid(value);
6773   }
6774   static const EltwiseOp EltwiseOp_MIN =
6775     EltwiseParameter_EltwiseOp_EltwiseOp_MIN;
6776   static const EltwiseOp EltwiseOp_MAX =
6777     EltwiseParameter_EltwiseOp_EltwiseOp_MAX;
6778   static const int EltwiseOp_ARRAYSIZE =
6779     EltwiseParameter_EltwiseOp_EltwiseOp_ARRAYSIZE;
6780   static inline const ::google::protobuf::EnumDescriptor*
6781   EltwiseOp_descriptor() {
6782     return EltwiseParameter_EltwiseOp_descriptor();
6783   }
6784   static inline const ::std::string& EltwiseOp_Name(EltwiseOp value) {
6785     return EltwiseParameter_EltwiseOp_Name(value);
6786   }
6787   static inline bool EltwiseOp_Parse(const ::std::string& name,
6788       EltwiseOp* value) {
6789     return EltwiseParameter_EltwiseOp_Parse(name, value);
6790   }
6791
6792   // accessors -------------------------------------------------------
6793
6794   // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
6795   bool has_operation() const;
6796   void clear_operation();
6797   static const int kOperationFieldNumber = 1;
6798   ::opencv_caffe::EltwiseParameter_EltwiseOp operation() const;
6799   void set_operation(::opencv_caffe::EltwiseParameter_EltwiseOp value);
6800
6801   // repeated float coeff = 2;
6802   int coeff_size() const;
6803   void clear_coeff();
6804   static const int kCoeffFieldNumber = 2;
6805   float coeff(int index) const;
6806   void set_coeff(int index, float value);
6807   void add_coeff(float value);
6808   const ::google::protobuf::RepeatedField< float >&
6809       coeff() const;
6810   ::google::protobuf::RepeatedField< float >*
6811       mutable_coeff();
6812
6813   // optional bool stable_prod_grad = 3 [default = true];
6814   bool has_stable_prod_grad() const;
6815   void clear_stable_prod_grad();
6816   static const int kStableProdGradFieldNumber = 3;
6817   bool stable_prod_grad() const;
6818   void set_stable_prod_grad(bool value);
6819
6820   // @@protoc_insertion_point(class_scope:opencv_caffe.EltwiseParameter)
6821  private:
6822   inline void set_has_operation();
6823   inline void clear_has_operation();
6824   inline void set_has_stable_prod_grad();
6825   inline void clear_has_stable_prod_grad();
6826
6827   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6828   ::google::protobuf::internal::HasBits<1> _has_bits_;
6829   mutable int _cached_size_;
6830   ::google::protobuf::RepeatedField< float > coeff_;
6831   int operation_;
6832   bool stable_prod_grad_;
6833   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6834   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6835   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6836   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6837
6838   void InitAsDefaultInstance();
6839 };
6840 extern ::google::protobuf::internal::ExplicitlyConstructed<EltwiseParameter> EltwiseParameter_default_instance_;
6841
6842 // -------------------------------------------------------------------
6843
6844 class ELUParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ELUParameter) */ {
6845  public:
6846   ELUParameter();
6847   virtual ~ELUParameter();
6848
6849   ELUParameter(const ELUParameter& from);
6850
6851   inline ELUParameter& operator=(const ELUParameter& from) {
6852     CopyFrom(from);
6853     return *this;
6854   }
6855
6856   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6857     return _internal_metadata_.unknown_fields();
6858   }
6859
6860   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6861     return _internal_metadata_.mutable_unknown_fields();
6862   }
6863
6864   static const ::google::protobuf::Descriptor* descriptor();
6865   static const ELUParameter& default_instance();
6866
6867   static const ELUParameter* internal_default_instance();
6868
6869   void Swap(ELUParameter* other);
6870
6871   // implements Message ----------------------------------------------
6872
6873   inline ELUParameter* New() const { return New(NULL); }
6874
6875   ELUParameter* New(::google::protobuf::Arena* arena) const;
6876   void CopyFrom(const ::google::protobuf::Message& from);
6877   void MergeFrom(const ::google::protobuf::Message& from);
6878   void CopyFrom(const ELUParameter& from);
6879   void MergeFrom(const ELUParameter& from);
6880   void Clear();
6881   bool IsInitialized() const;
6882
6883   size_t ByteSizeLong() const;
6884   bool MergePartialFromCodedStream(
6885       ::google::protobuf::io::CodedInputStream* input);
6886   void SerializeWithCachedSizes(
6887       ::google::protobuf::io::CodedOutputStream* output) const;
6888   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6889       bool deterministic, ::google::protobuf::uint8* output) const;
6890   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6891     return InternalSerializeWithCachedSizesToArray(false, output);
6892   }
6893   int GetCachedSize() const { return _cached_size_; }
6894   private:
6895   void SharedCtor();
6896   void SharedDtor();
6897   void SetCachedSize(int size) const;
6898   void InternalSwap(ELUParameter* other);
6899   void UnsafeMergeFrom(const ELUParameter& from);
6900   private:
6901   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
6902     return _internal_metadata_.arena();
6903   }
6904   inline void* MaybeArenaPtr() const {
6905     return _internal_metadata_.raw_arena_ptr();
6906   }
6907   public:
6908
6909   ::google::protobuf::Metadata GetMetadata() const;
6910
6911   // nested types ----------------------------------------------------
6912
6913   // accessors -------------------------------------------------------
6914
6915   // optional float alpha = 1 [default = 1];
6916   bool has_alpha() const;
6917   void clear_alpha();
6918   static const int kAlphaFieldNumber = 1;
6919   float alpha() const;
6920   void set_alpha(float value);
6921
6922   // @@protoc_insertion_point(class_scope:opencv_caffe.ELUParameter)
6923  private:
6924   inline void set_has_alpha();
6925   inline void clear_has_alpha();
6926
6927   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
6928   ::google::protobuf::internal::HasBits<1> _has_bits_;
6929   mutable int _cached_size_;
6930   float alpha_;
6931   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
6932   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
6933   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
6934   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
6935
6936   void InitAsDefaultInstance();
6937 };
6938 extern ::google::protobuf::internal::ExplicitlyConstructed<ELUParameter> ELUParameter_default_instance_;
6939
6940 // -------------------------------------------------------------------
6941
6942 class EmbedParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.EmbedParameter) */ {
6943  public:
6944   EmbedParameter();
6945   virtual ~EmbedParameter();
6946
6947   EmbedParameter(const EmbedParameter& from);
6948
6949   inline EmbedParameter& operator=(const EmbedParameter& from) {
6950     CopyFrom(from);
6951     return *this;
6952   }
6953
6954   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
6955     return _internal_metadata_.unknown_fields();
6956   }
6957
6958   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
6959     return _internal_metadata_.mutable_unknown_fields();
6960   }
6961
6962   static const ::google::protobuf::Descriptor* descriptor();
6963   static const EmbedParameter& default_instance();
6964
6965   static const EmbedParameter* internal_default_instance();
6966
6967   void Swap(EmbedParameter* other);
6968
6969   // implements Message ----------------------------------------------
6970
6971   inline EmbedParameter* New() const { return New(NULL); }
6972
6973   EmbedParameter* New(::google::protobuf::Arena* arena) const;
6974   void CopyFrom(const ::google::protobuf::Message& from);
6975   void MergeFrom(const ::google::protobuf::Message& from);
6976   void CopyFrom(const EmbedParameter& from);
6977   void MergeFrom(const EmbedParameter& from);
6978   void Clear();
6979   bool IsInitialized() const;
6980
6981   size_t ByteSizeLong() const;
6982   bool MergePartialFromCodedStream(
6983       ::google::protobuf::io::CodedInputStream* input);
6984   void SerializeWithCachedSizes(
6985       ::google::protobuf::io::CodedOutputStream* output) const;
6986   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
6987       bool deterministic, ::google::protobuf::uint8* output) const;
6988   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
6989     return InternalSerializeWithCachedSizesToArray(false, output);
6990   }
6991   int GetCachedSize() const { return _cached_size_; }
6992   private:
6993   void SharedCtor();
6994   void SharedDtor();
6995   void SetCachedSize(int size) const;
6996   void InternalSwap(EmbedParameter* other);
6997   void UnsafeMergeFrom(const EmbedParameter& from);
6998   private:
6999   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7000     return _internal_metadata_.arena();
7001   }
7002   inline void* MaybeArenaPtr() const {
7003     return _internal_metadata_.raw_arena_ptr();
7004   }
7005   public:
7006
7007   ::google::protobuf::Metadata GetMetadata() const;
7008
7009   // nested types ----------------------------------------------------
7010
7011   // accessors -------------------------------------------------------
7012
7013   // optional uint32 num_output = 1;
7014   bool has_num_output() const;
7015   void clear_num_output();
7016   static const int kNumOutputFieldNumber = 1;
7017   ::google::protobuf::uint32 num_output() const;
7018   void set_num_output(::google::protobuf::uint32 value);
7019
7020   // optional uint32 input_dim = 2;
7021   bool has_input_dim() const;
7022   void clear_input_dim();
7023   static const int kInputDimFieldNumber = 2;
7024   ::google::protobuf::uint32 input_dim() const;
7025   void set_input_dim(::google::protobuf::uint32 value);
7026
7027   // optional bool bias_term = 3 [default = true];
7028   bool has_bias_term() const;
7029   void clear_bias_term();
7030   static const int kBiasTermFieldNumber = 3;
7031   bool bias_term() const;
7032   void set_bias_term(bool value);
7033
7034   // optional .opencv_caffe.FillerParameter weight_filler = 4;
7035   bool has_weight_filler() const;
7036   void clear_weight_filler();
7037   static const int kWeightFillerFieldNumber = 4;
7038   const ::opencv_caffe::FillerParameter& weight_filler() const;
7039   ::opencv_caffe::FillerParameter* mutable_weight_filler();
7040   ::opencv_caffe::FillerParameter* release_weight_filler();
7041   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
7042
7043   // optional .opencv_caffe.FillerParameter bias_filler = 5;
7044   bool has_bias_filler() const;
7045   void clear_bias_filler();
7046   static const int kBiasFillerFieldNumber = 5;
7047   const ::opencv_caffe::FillerParameter& bias_filler() const;
7048   ::opencv_caffe::FillerParameter* mutable_bias_filler();
7049   ::opencv_caffe::FillerParameter* release_bias_filler();
7050   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
7051
7052   // @@protoc_insertion_point(class_scope:opencv_caffe.EmbedParameter)
7053  private:
7054   inline void set_has_num_output();
7055   inline void clear_has_num_output();
7056   inline void set_has_input_dim();
7057   inline void clear_has_input_dim();
7058   inline void set_has_bias_term();
7059   inline void clear_has_bias_term();
7060   inline void set_has_weight_filler();
7061   inline void clear_has_weight_filler();
7062   inline void set_has_bias_filler();
7063   inline void clear_has_bias_filler();
7064
7065   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7066   ::google::protobuf::internal::HasBits<1> _has_bits_;
7067   mutable int _cached_size_;
7068   ::opencv_caffe::FillerParameter* weight_filler_;
7069   ::opencv_caffe::FillerParameter* bias_filler_;
7070   ::google::protobuf::uint32 num_output_;
7071   ::google::protobuf::uint32 input_dim_;
7072   bool bias_term_;
7073   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7074   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7075   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7076   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7077
7078   void InitAsDefaultInstance();
7079 };
7080 extern ::google::protobuf::internal::ExplicitlyConstructed<EmbedParameter> EmbedParameter_default_instance_;
7081
7082 // -------------------------------------------------------------------
7083
7084 class ExpParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ExpParameter) */ {
7085  public:
7086   ExpParameter();
7087   virtual ~ExpParameter();
7088
7089   ExpParameter(const ExpParameter& from);
7090
7091   inline ExpParameter& operator=(const ExpParameter& from) {
7092     CopyFrom(from);
7093     return *this;
7094   }
7095
7096   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7097     return _internal_metadata_.unknown_fields();
7098   }
7099
7100   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7101     return _internal_metadata_.mutable_unknown_fields();
7102   }
7103
7104   static const ::google::protobuf::Descriptor* descriptor();
7105   static const ExpParameter& default_instance();
7106
7107   static const ExpParameter* internal_default_instance();
7108
7109   void Swap(ExpParameter* other);
7110
7111   // implements Message ----------------------------------------------
7112
7113   inline ExpParameter* New() const { return New(NULL); }
7114
7115   ExpParameter* New(::google::protobuf::Arena* arena) const;
7116   void CopyFrom(const ::google::protobuf::Message& from);
7117   void MergeFrom(const ::google::protobuf::Message& from);
7118   void CopyFrom(const ExpParameter& from);
7119   void MergeFrom(const ExpParameter& from);
7120   void Clear();
7121   bool IsInitialized() const;
7122
7123   size_t ByteSizeLong() const;
7124   bool MergePartialFromCodedStream(
7125       ::google::protobuf::io::CodedInputStream* input);
7126   void SerializeWithCachedSizes(
7127       ::google::protobuf::io::CodedOutputStream* output) const;
7128   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7129       bool deterministic, ::google::protobuf::uint8* output) const;
7130   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7131     return InternalSerializeWithCachedSizesToArray(false, output);
7132   }
7133   int GetCachedSize() const { return _cached_size_; }
7134   private:
7135   void SharedCtor();
7136   void SharedDtor();
7137   void SetCachedSize(int size) const;
7138   void InternalSwap(ExpParameter* other);
7139   void UnsafeMergeFrom(const ExpParameter& from);
7140   private:
7141   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7142     return _internal_metadata_.arena();
7143   }
7144   inline void* MaybeArenaPtr() const {
7145     return _internal_metadata_.raw_arena_ptr();
7146   }
7147   public:
7148
7149   ::google::protobuf::Metadata GetMetadata() const;
7150
7151   // nested types ----------------------------------------------------
7152
7153   // accessors -------------------------------------------------------
7154
7155   // optional float base = 1 [default = -1];
7156   bool has_base() const;
7157   void clear_base();
7158   static const int kBaseFieldNumber = 1;
7159   float base() const;
7160   void set_base(float value);
7161
7162   // optional float scale = 2 [default = 1];
7163   bool has_scale() const;
7164   void clear_scale();
7165   static const int kScaleFieldNumber = 2;
7166   float scale() const;
7167   void set_scale(float value);
7168
7169   // optional float shift = 3 [default = 0];
7170   bool has_shift() const;
7171   void clear_shift();
7172   static const int kShiftFieldNumber = 3;
7173   float shift() const;
7174   void set_shift(float value);
7175
7176   // @@protoc_insertion_point(class_scope:opencv_caffe.ExpParameter)
7177  private:
7178   inline void set_has_base();
7179   inline void clear_has_base();
7180   inline void set_has_scale();
7181   inline void clear_has_scale();
7182   inline void set_has_shift();
7183   inline void clear_has_shift();
7184
7185   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7186   ::google::protobuf::internal::HasBits<1> _has_bits_;
7187   mutable int _cached_size_;
7188   float shift_;
7189   float base_;
7190   float scale_;
7191   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7192   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7193   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7194   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7195
7196   void InitAsDefaultInstance();
7197 };
7198 extern ::google::protobuf::internal::ExplicitlyConstructed<ExpParameter> ExpParameter_default_instance_;
7199
7200 // -------------------------------------------------------------------
7201
7202 class FlattenParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.FlattenParameter) */ {
7203  public:
7204   FlattenParameter();
7205   virtual ~FlattenParameter();
7206
7207   FlattenParameter(const FlattenParameter& from);
7208
7209   inline FlattenParameter& operator=(const FlattenParameter& from) {
7210     CopyFrom(from);
7211     return *this;
7212   }
7213
7214   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7215     return _internal_metadata_.unknown_fields();
7216   }
7217
7218   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7219     return _internal_metadata_.mutable_unknown_fields();
7220   }
7221
7222   static const ::google::protobuf::Descriptor* descriptor();
7223   static const FlattenParameter& default_instance();
7224
7225   static const FlattenParameter* internal_default_instance();
7226
7227   void Swap(FlattenParameter* other);
7228
7229   // implements Message ----------------------------------------------
7230
7231   inline FlattenParameter* New() const { return New(NULL); }
7232
7233   FlattenParameter* New(::google::protobuf::Arena* arena) const;
7234   void CopyFrom(const ::google::protobuf::Message& from);
7235   void MergeFrom(const ::google::protobuf::Message& from);
7236   void CopyFrom(const FlattenParameter& from);
7237   void MergeFrom(const FlattenParameter& from);
7238   void Clear();
7239   bool IsInitialized() const;
7240
7241   size_t ByteSizeLong() const;
7242   bool MergePartialFromCodedStream(
7243       ::google::protobuf::io::CodedInputStream* input);
7244   void SerializeWithCachedSizes(
7245       ::google::protobuf::io::CodedOutputStream* output) const;
7246   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7247       bool deterministic, ::google::protobuf::uint8* output) const;
7248   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7249     return InternalSerializeWithCachedSizesToArray(false, output);
7250   }
7251   int GetCachedSize() const { return _cached_size_; }
7252   private:
7253   void SharedCtor();
7254   void SharedDtor();
7255   void SetCachedSize(int size) const;
7256   void InternalSwap(FlattenParameter* other);
7257   void UnsafeMergeFrom(const FlattenParameter& from);
7258   private:
7259   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7260     return _internal_metadata_.arena();
7261   }
7262   inline void* MaybeArenaPtr() const {
7263     return _internal_metadata_.raw_arena_ptr();
7264   }
7265   public:
7266
7267   ::google::protobuf::Metadata GetMetadata() const;
7268
7269   // nested types ----------------------------------------------------
7270
7271   // accessors -------------------------------------------------------
7272
7273   // optional int32 axis = 1 [default = 1];
7274   bool has_axis() const;
7275   void clear_axis();
7276   static const int kAxisFieldNumber = 1;
7277   ::google::protobuf::int32 axis() const;
7278   void set_axis(::google::protobuf::int32 value);
7279
7280   // optional int32 end_axis = 2 [default = -1];
7281   bool has_end_axis() const;
7282   void clear_end_axis();
7283   static const int kEndAxisFieldNumber = 2;
7284   ::google::protobuf::int32 end_axis() const;
7285   void set_end_axis(::google::protobuf::int32 value);
7286
7287   // @@protoc_insertion_point(class_scope:opencv_caffe.FlattenParameter)
7288  private:
7289   inline void set_has_axis();
7290   inline void clear_has_axis();
7291   inline void set_has_end_axis();
7292   inline void clear_has_end_axis();
7293
7294   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7295   ::google::protobuf::internal::HasBits<1> _has_bits_;
7296   mutable int _cached_size_;
7297   ::google::protobuf::int32 axis_;
7298   ::google::protobuf::int32 end_axis_;
7299   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7300   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7301   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7302   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7303
7304   void InitAsDefaultInstance();
7305 };
7306 extern ::google::protobuf::internal::ExplicitlyConstructed<FlattenParameter> FlattenParameter_default_instance_;
7307
7308 // -------------------------------------------------------------------
7309
7310 class HDF5DataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.HDF5DataParameter) */ {
7311  public:
7312   HDF5DataParameter();
7313   virtual ~HDF5DataParameter();
7314
7315   HDF5DataParameter(const HDF5DataParameter& from);
7316
7317   inline HDF5DataParameter& operator=(const HDF5DataParameter& from) {
7318     CopyFrom(from);
7319     return *this;
7320   }
7321
7322   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7323     return _internal_metadata_.unknown_fields();
7324   }
7325
7326   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7327     return _internal_metadata_.mutable_unknown_fields();
7328   }
7329
7330   static const ::google::protobuf::Descriptor* descriptor();
7331   static const HDF5DataParameter& default_instance();
7332
7333   static const HDF5DataParameter* internal_default_instance();
7334
7335   void Swap(HDF5DataParameter* other);
7336
7337   // implements Message ----------------------------------------------
7338
7339   inline HDF5DataParameter* New() const { return New(NULL); }
7340
7341   HDF5DataParameter* New(::google::protobuf::Arena* arena) const;
7342   void CopyFrom(const ::google::protobuf::Message& from);
7343   void MergeFrom(const ::google::protobuf::Message& from);
7344   void CopyFrom(const HDF5DataParameter& from);
7345   void MergeFrom(const HDF5DataParameter& from);
7346   void Clear();
7347   bool IsInitialized() const;
7348
7349   size_t ByteSizeLong() const;
7350   bool MergePartialFromCodedStream(
7351       ::google::protobuf::io::CodedInputStream* input);
7352   void SerializeWithCachedSizes(
7353       ::google::protobuf::io::CodedOutputStream* output) const;
7354   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7355       bool deterministic, ::google::protobuf::uint8* output) const;
7356   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7357     return InternalSerializeWithCachedSizesToArray(false, output);
7358   }
7359   int GetCachedSize() const { return _cached_size_; }
7360   private:
7361   void SharedCtor();
7362   void SharedDtor();
7363   void SetCachedSize(int size) const;
7364   void InternalSwap(HDF5DataParameter* other);
7365   void UnsafeMergeFrom(const HDF5DataParameter& from);
7366   private:
7367   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7368     return _internal_metadata_.arena();
7369   }
7370   inline void* MaybeArenaPtr() const {
7371     return _internal_metadata_.raw_arena_ptr();
7372   }
7373   public:
7374
7375   ::google::protobuf::Metadata GetMetadata() const;
7376
7377   // nested types ----------------------------------------------------
7378
7379   // accessors -------------------------------------------------------
7380
7381   // optional string source = 1;
7382   bool has_source() const;
7383   void clear_source();
7384   static const int kSourceFieldNumber = 1;
7385   const ::std::string& source() const;
7386   void set_source(const ::std::string& value);
7387   void set_source(const char* value);
7388   void set_source(const char* value, size_t size);
7389   ::std::string* mutable_source();
7390   ::std::string* release_source();
7391   void set_allocated_source(::std::string* source);
7392
7393   // optional uint32 batch_size = 2;
7394   bool has_batch_size() const;
7395   void clear_batch_size();
7396   static const int kBatchSizeFieldNumber = 2;
7397   ::google::protobuf::uint32 batch_size() const;
7398   void set_batch_size(::google::protobuf::uint32 value);
7399
7400   // optional bool shuffle = 3 [default = false];
7401   bool has_shuffle() const;
7402   void clear_shuffle();
7403   static const int kShuffleFieldNumber = 3;
7404   bool shuffle() const;
7405   void set_shuffle(bool value);
7406
7407   // @@protoc_insertion_point(class_scope:opencv_caffe.HDF5DataParameter)
7408  private:
7409   inline void set_has_source();
7410   inline void clear_has_source();
7411   inline void set_has_batch_size();
7412   inline void clear_has_batch_size();
7413   inline void set_has_shuffle();
7414   inline void clear_has_shuffle();
7415
7416   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7417   ::google::protobuf::internal::HasBits<1> _has_bits_;
7418   mutable int _cached_size_;
7419   ::google::protobuf::internal::ArenaStringPtr source_;
7420   ::google::protobuf::uint32 batch_size_;
7421   bool shuffle_;
7422   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7423   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7424   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7425   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7426
7427   void InitAsDefaultInstance();
7428 };
7429 extern ::google::protobuf::internal::ExplicitlyConstructed<HDF5DataParameter> HDF5DataParameter_default_instance_;
7430
7431 // -------------------------------------------------------------------
7432
7433 class HDF5OutputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.HDF5OutputParameter) */ {
7434  public:
7435   HDF5OutputParameter();
7436   virtual ~HDF5OutputParameter();
7437
7438   HDF5OutputParameter(const HDF5OutputParameter& from);
7439
7440   inline HDF5OutputParameter& operator=(const HDF5OutputParameter& from) {
7441     CopyFrom(from);
7442     return *this;
7443   }
7444
7445   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7446     return _internal_metadata_.unknown_fields();
7447   }
7448
7449   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7450     return _internal_metadata_.mutable_unknown_fields();
7451   }
7452
7453   static const ::google::protobuf::Descriptor* descriptor();
7454   static const HDF5OutputParameter& default_instance();
7455
7456   static const HDF5OutputParameter* internal_default_instance();
7457
7458   void Swap(HDF5OutputParameter* other);
7459
7460   // implements Message ----------------------------------------------
7461
7462   inline HDF5OutputParameter* New() const { return New(NULL); }
7463
7464   HDF5OutputParameter* New(::google::protobuf::Arena* arena) const;
7465   void CopyFrom(const ::google::protobuf::Message& from);
7466   void MergeFrom(const ::google::protobuf::Message& from);
7467   void CopyFrom(const HDF5OutputParameter& from);
7468   void MergeFrom(const HDF5OutputParameter& from);
7469   void Clear();
7470   bool IsInitialized() const;
7471
7472   size_t ByteSizeLong() const;
7473   bool MergePartialFromCodedStream(
7474       ::google::protobuf::io::CodedInputStream* input);
7475   void SerializeWithCachedSizes(
7476       ::google::protobuf::io::CodedOutputStream* output) const;
7477   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7478       bool deterministic, ::google::protobuf::uint8* output) const;
7479   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7480     return InternalSerializeWithCachedSizesToArray(false, output);
7481   }
7482   int GetCachedSize() const { return _cached_size_; }
7483   private:
7484   void SharedCtor();
7485   void SharedDtor();
7486   void SetCachedSize(int size) const;
7487   void InternalSwap(HDF5OutputParameter* other);
7488   void UnsafeMergeFrom(const HDF5OutputParameter& from);
7489   private:
7490   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7491     return _internal_metadata_.arena();
7492   }
7493   inline void* MaybeArenaPtr() const {
7494     return _internal_metadata_.raw_arena_ptr();
7495   }
7496   public:
7497
7498   ::google::protobuf::Metadata GetMetadata() const;
7499
7500   // nested types ----------------------------------------------------
7501
7502   // accessors -------------------------------------------------------
7503
7504   // optional string file_name = 1;
7505   bool has_file_name() const;
7506   void clear_file_name();
7507   static const int kFileNameFieldNumber = 1;
7508   const ::std::string& file_name() const;
7509   void set_file_name(const ::std::string& value);
7510   void set_file_name(const char* value);
7511   void set_file_name(const char* value, size_t size);
7512   ::std::string* mutable_file_name();
7513   ::std::string* release_file_name();
7514   void set_allocated_file_name(::std::string* file_name);
7515
7516   // @@protoc_insertion_point(class_scope:opencv_caffe.HDF5OutputParameter)
7517  private:
7518   inline void set_has_file_name();
7519   inline void clear_has_file_name();
7520
7521   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7522   ::google::protobuf::internal::HasBits<1> _has_bits_;
7523   mutable int _cached_size_;
7524   ::google::protobuf::internal::ArenaStringPtr file_name_;
7525   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7526   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7527   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7528   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7529
7530   void InitAsDefaultInstance();
7531 };
7532 extern ::google::protobuf::internal::ExplicitlyConstructed<HDF5OutputParameter> HDF5OutputParameter_default_instance_;
7533
7534 // -------------------------------------------------------------------
7535
7536 class HingeLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.HingeLossParameter) */ {
7537  public:
7538   HingeLossParameter();
7539   virtual ~HingeLossParameter();
7540
7541   HingeLossParameter(const HingeLossParameter& from);
7542
7543   inline HingeLossParameter& operator=(const HingeLossParameter& from) {
7544     CopyFrom(from);
7545     return *this;
7546   }
7547
7548   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7549     return _internal_metadata_.unknown_fields();
7550   }
7551
7552   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7553     return _internal_metadata_.mutable_unknown_fields();
7554   }
7555
7556   static const ::google::protobuf::Descriptor* descriptor();
7557   static const HingeLossParameter& default_instance();
7558
7559   static const HingeLossParameter* internal_default_instance();
7560
7561   void Swap(HingeLossParameter* other);
7562
7563   // implements Message ----------------------------------------------
7564
7565   inline HingeLossParameter* New() const { return New(NULL); }
7566
7567   HingeLossParameter* New(::google::protobuf::Arena* arena) const;
7568   void CopyFrom(const ::google::protobuf::Message& from);
7569   void MergeFrom(const ::google::protobuf::Message& from);
7570   void CopyFrom(const HingeLossParameter& from);
7571   void MergeFrom(const HingeLossParameter& from);
7572   void Clear();
7573   bool IsInitialized() const;
7574
7575   size_t ByteSizeLong() const;
7576   bool MergePartialFromCodedStream(
7577       ::google::protobuf::io::CodedInputStream* input);
7578   void SerializeWithCachedSizes(
7579       ::google::protobuf::io::CodedOutputStream* output) const;
7580   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7581       bool deterministic, ::google::protobuf::uint8* output) const;
7582   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7583     return InternalSerializeWithCachedSizesToArray(false, output);
7584   }
7585   int GetCachedSize() const { return _cached_size_; }
7586   private:
7587   void SharedCtor();
7588   void SharedDtor();
7589   void SetCachedSize(int size) const;
7590   void InternalSwap(HingeLossParameter* other);
7591   void UnsafeMergeFrom(const HingeLossParameter& from);
7592   private:
7593   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7594     return _internal_metadata_.arena();
7595   }
7596   inline void* MaybeArenaPtr() const {
7597     return _internal_metadata_.raw_arena_ptr();
7598   }
7599   public:
7600
7601   ::google::protobuf::Metadata GetMetadata() const;
7602
7603   // nested types ----------------------------------------------------
7604
7605   typedef HingeLossParameter_Norm Norm;
7606   static const Norm L1 =
7607     HingeLossParameter_Norm_L1;
7608   static const Norm L2 =
7609     HingeLossParameter_Norm_L2;
7610   static inline bool Norm_IsValid(int value) {
7611     return HingeLossParameter_Norm_IsValid(value);
7612   }
7613   static const Norm Norm_MIN =
7614     HingeLossParameter_Norm_Norm_MIN;
7615   static const Norm Norm_MAX =
7616     HingeLossParameter_Norm_Norm_MAX;
7617   static const int Norm_ARRAYSIZE =
7618     HingeLossParameter_Norm_Norm_ARRAYSIZE;
7619   static inline const ::google::protobuf::EnumDescriptor*
7620   Norm_descriptor() {
7621     return HingeLossParameter_Norm_descriptor();
7622   }
7623   static inline const ::std::string& Norm_Name(Norm value) {
7624     return HingeLossParameter_Norm_Name(value);
7625   }
7626   static inline bool Norm_Parse(const ::std::string& name,
7627       Norm* value) {
7628     return HingeLossParameter_Norm_Parse(name, value);
7629   }
7630
7631   // accessors -------------------------------------------------------
7632
7633   // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
7634   bool has_norm() const;
7635   void clear_norm();
7636   static const int kNormFieldNumber = 1;
7637   ::opencv_caffe::HingeLossParameter_Norm norm() const;
7638   void set_norm(::opencv_caffe::HingeLossParameter_Norm value);
7639
7640   // @@protoc_insertion_point(class_scope:opencv_caffe.HingeLossParameter)
7641  private:
7642   inline void set_has_norm();
7643   inline void clear_has_norm();
7644
7645   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7646   ::google::protobuf::internal::HasBits<1> _has_bits_;
7647   mutable int _cached_size_;
7648   int norm_;
7649   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7650   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7651   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7652   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7653
7654   void InitAsDefaultInstance();
7655 };
7656 extern ::google::protobuf::internal::ExplicitlyConstructed<HingeLossParameter> HingeLossParameter_default_instance_;
7657
7658 // -------------------------------------------------------------------
7659
7660 class ImageDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ImageDataParameter) */ {
7661  public:
7662   ImageDataParameter();
7663   virtual ~ImageDataParameter();
7664
7665   ImageDataParameter(const ImageDataParameter& from);
7666
7667   inline ImageDataParameter& operator=(const ImageDataParameter& from) {
7668     CopyFrom(from);
7669     return *this;
7670   }
7671
7672   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7673     return _internal_metadata_.unknown_fields();
7674   }
7675
7676   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7677     return _internal_metadata_.mutable_unknown_fields();
7678   }
7679
7680   static const ::google::protobuf::Descriptor* descriptor();
7681   static const ImageDataParameter& default_instance();
7682
7683   static const ImageDataParameter* internal_default_instance();
7684
7685   void Swap(ImageDataParameter* other);
7686
7687   // implements Message ----------------------------------------------
7688
7689   inline ImageDataParameter* New() const { return New(NULL); }
7690
7691   ImageDataParameter* New(::google::protobuf::Arena* arena) const;
7692   void CopyFrom(const ::google::protobuf::Message& from);
7693   void MergeFrom(const ::google::protobuf::Message& from);
7694   void CopyFrom(const ImageDataParameter& from);
7695   void MergeFrom(const ImageDataParameter& from);
7696   void Clear();
7697   bool IsInitialized() const;
7698
7699   size_t ByteSizeLong() const;
7700   bool MergePartialFromCodedStream(
7701       ::google::protobuf::io::CodedInputStream* input);
7702   void SerializeWithCachedSizes(
7703       ::google::protobuf::io::CodedOutputStream* output) const;
7704   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7705       bool deterministic, ::google::protobuf::uint8* output) const;
7706   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7707     return InternalSerializeWithCachedSizesToArray(false, output);
7708   }
7709   int GetCachedSize() const { return _cached_size_; }
7710   private:
7711   void SharedCtor();
7712   void SharedDtor();
7713   void SetCachedSize(int size) const;
7714   void InternalSwap(ImageDataParameter* other);
7715   void UnsafeMergeFrom(const ImageDataParameter& from);
7716   private:
7717   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7718     return _internal_metadata_.arena();
7719   }
7720   inline void* MaybeArenaPtr() const {
7721     return _internal_metadata_.raw_arena_ptr();
7722   }
7723   public:
7724
7725   ::google::protobuf::Metadata GetMetadata() const;
7726
7727   // nested types ----------------------------------------------------
7728
7729   // accessors -------------------------------------------------------
7730
7731   // optional string source = 1;
7732   bool has_source() const;
7733   void clear_source();
7734   static const int kSourceFieldNumber = 1;
7735   const ::std::string& source() const;
7736   void set_source(const ::std::string& value);
7737   void set_source(const char* value);
7738   void set_source(const char* value, size_t size);
7739   ::std::string* mutable_source();
7740   ::std::string* release_source();
7741   void set_allocated_source(::std::string* source);
7742
7743   // optional uint32 batch_size = 4 [default = 1];
7744   bool has_batch_size() const;
7745   void clear_batch_size();
7746   static const int kBatchSizeFieldNumber = 4;
7747   ::google::protobuf::uint32 batch_size() const;
7748   void set_batch_size(::google::protobuf::uint32 value);
7749
7750   // optional uint32 rand_skip = 7 [default = 0];
7751   bool has_rand_skip() const;
7752   void clear_rand_skip();
7753   static const int kRandSkipFieldNumber = 7;
7754   ::google::protobuf::uint32 rand_skip() const;
7755   void set_rand_skip(::google::protobuf::uint32 value);
7756
7757   // optional bool shuffle = 8 [default = false];
7758   bool has_shuffle() const;
7759   void clear_shuffle();
7760   static const int kShuffleFieldNumber = 8;
7761   bool shuffle() const;
7762   void set_shuffle(bool value);
7763
7764   // optional uint32 new_height = 9 [default = 0];
7765   bool has_new_height() const;
7766   void clear_new_height();
7767   static const int kNewHeightFieldNumber = 9;
7768   ::google::protobuf::uint32 new_height() const;
7769   void set_new_height(::google::protobuf::uint32 value);
7770
7771   // optional uint32 new_width = 10 [default = 0];
7772   bool has_new_width() const;
7773   void clear_new_width();
7774   static const int kNewWidthFieldNumber = 10;
7775   ::google::protobuf::uint32 new_width() const;
7776   void set_new_width(::google::protobuf::uint32 value);
7777
7778   // optional bool is_color = 11 [default = true];
7779   bool has_is_color() const;
7780   void clear_is_color();
7781   static const int kIsColorFieldNumber = 11;
7782   bool is_color() const;
7783   void set_is_color(bool value);
7784
7785   // optional float scale = 2 [default = 1];
7786   bool has_scale() const;
7787   void clear_scale();
7788   static const int kScaleFieldNumber = 2;
7789   float scale() const;
7790   void set_scale(float value);
7791
7792   // optional string mean_file = 3;
7793   bool has_mean_file() const;
7794   void clear_mean_file();
7795   static const int kMeanFileFieldNumber = 3;
7796   const ::std::string& mean_file() const;
7797   void set_mean_file(const ::std::string& value);
7798   void set_mean_file(const char* value);
7799   void set_mean_file(const char* value, size_t size);
7800   ::std::string* mutable_mean_file();
7801   ::std::string* release_mean_file();
7802   void set_allocated_mean_file(::std::string* mean_file);
7803
7804   // optional uint32 crop_size = 5 [default = 0];
7805   bool has_crop_size() const;
7806   void clear_crop_size();
7807   static const int kCropSizeFieldNumber = 5;
7808   ::google::protobuf::uint32 crop_size() const;
7809   void set_crop_size(::google::protobuf::uint32 value);
7810
7811   // optional bool mirror = 6 [default = false];
7812   bool has_mirror() const;
7813   void clear_mirror();
7814   static const int kMirrorFieldNumber = 6;
7815   bool mirror() const;
7816   void set_mirror(bool value);
7817
7818   // optional string root_folder = 12 [default = ""];
7819   bool has_root_folder() const;
7820   void clear_root_folder();
7821   static const int kRootFolderFieldNumber = 12;
7822   const ::std::string& root_folder() const;
7823   void set_root_folder(const ::std::string& value);
7824   void set_root_folder(const char* value);
7825   void set_root_folder(const char* value, size_t size);
7826   ::std::string* mutable_root_folder();
7827   ::std::string* release_root_folder();
7828   void set_allocated_root_folder(::std::string* root_folder);
7829
7830   // @@protoc_insertion_point(class_scope:opencv_caffe.ImageDataParameter)
7831  private:
7832   inline void set_has_source();
7833   inline void clear_has_source();
7834   inline void set_has_batch_size();
7835   inline void clear_has_batch_size();
7836   inline void set_has_rand_skip();
7837   inline void clear_has_rand_skip();
7838   inline void set_has_shuffle();
7839   inline void clear_has_shuffle();
7840   inline void set_has_new_height();
7841   inline void clear_has_new_height();
7842   inline void set_has_new_width();
7843   inline void clear_has_new_width();
7844   inline void set_has_is_color();
7845   inline void clear_has_is_color();
7846   inline void set_has_scale();
7847   inline void clear_has_scale();
7848   inline void set_has_mean_file();
7849   inline void clear_has_mean_file();
7850   inline void set_has_crop_size();
7851   inline void clear_has_crop_size();
7852   inline void set_has_mirror();
7853   inline void clear_has_mirror();
7854   inline void set_has_root_folder();
7855   inline void clear_has_root_folder();
7856
7857   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7858   ::google::protobuf::internal::HasBits<1> _has_bits_;
7859   mutable int _cached_size_;
7860   ::google::protobuf::internal::ArenaStringPtr source_;
7861   ::google::protobuf::internal::ArenaStringPtr mean_file_;
7862   ::google::protobuf::internal::ArenaStringPtr root_folder_;
7863   ::google::protobuf::uint32 rand_skip_;
7864   ::google::protobuf::uint32 new_height_;
7865   ::google::protobuf::uint32 new_width_;
7866   bool shuffle_;
7867   bool mirror_;
7868   ::google::protobuf::uint32 crop_size_;
7869   float scale_;
7870   ::google::protobuf::uint32 batch_size_;
7871   bool is_color_;
7872   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7873   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7874   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7875   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7876
7877   void InitAsDefaultInstance();
7878 };
7879 extern ::google::protobuf::internal::ExplicitlyConstructed<ImageDataParameter> ImageDataParameter_default_instance_;
7880
7881 // -------------------------------------------------------------------
7882
7883 class InfogainLossParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.InfogainLossParameter) */ {
7884  public:
7885   InfogainLossParameter();
7886   virtual ~InfogainLossParameter();
7887
7888   InfogainLossParameter(const InfogainLossParameter& from);
7889
7890   inline InfogainLossParameter& operator=(const InfogainLossParameter& from) {
7891     CopyFrom(from);
7892     return *this;
7893   }
7894
7895   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7896     return _internal_metadata_.unknown_fields();
7897   }
7898
7899   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
7900     return _internal_metadata_.mutable_unknown_fields();
7901   }
7902
7903   static const ::google::protobuf::Descriptor* descriptor();
7904   static const InfogainLossParameter& default_instance();
7905
7906   static const InfogainLossParameter* internal_default_instance();
7907
7908   void Swap(InfogainLossParameter* other);
7909
7910   // implements Message ----------------------------------------------
7911
7912   inline InfogainLossParameter* New() const { return New(NULL); }
7913
7914   InfogainLossParameter* New(::google::protobuf::Arena* arena) const;
7915   void CopyFrom(const ::google::protobuf::Message& from);
7916   void MergeFrom(const ::google::protobuf::Message& from);
7917   void CopyFrom(const InfogainLossParameter& from);
7918   void MergeFrom(const InfogainLossParameter& from);
7919   void Clear();
7920   bool IsInitialized() const;
7921
7922   size_t ByteSizeLong() const;
7923   bool MergePartialFromCodedStream(
7924       ::google::protobuf::io::CodedInputStream* input);
7925   void SerializeWithCachedSizes(
7926       ::google::protobuf::io::CodedOutputStream* output) const;
7927   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
7928       bool deterministic, ::google::protobuf::uint8* output) const;
7929   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
7930     return InternalSerializeWithCachedSizesToArray(false, output);
7931   }
7932   int GetCachedSize() const { return _cached_size_; }
7933   private:
7934   void SharedCtor();
7935   void SharedDtor();
7936   void SetCachedSize(int size) const;
7937   void InternalSwap(InfogainLossParameter* other);
7938   void UnsafeMergeFrom(const InfogainLossParameter& from);
7939   private:
7940   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
7941     return _internal_metadata_.arena();
7942   }
7943   inline void* MaybeArenaPtr() const {
7944     return _internal_metadata_.raw_arena_ptr();
7945   }
7946   public:
7947
7948   ::google::protobuf::Metadata GetMetadata() const;
7949
7950   // nested types ----------------------------------------------------
7951
7952   // accessors -------------------------------------------------------
7953
7954   // optional string source = 1;
7955   bool has_source() const;
7956   void clear_source();
7957   static const int kSourceFieldNumber = 1;
7958   const ::std::string& source() const;
7959   void set_source(const ::std::string& value);
7960   void set_source(const char* value);
7961   void set_source(const char* value, size_t size);
7962   ::std::string* mutable_source();
7963   ::std::string* release_source();
7964   void set_allocated_source(::std::string* source);
7965
7966   // @@protoc_insertion_point(class_scope:opencv_caffe.InfogainLossParameter)
7967  private:
7968   inline void set_has_source();
7969   inline void clear_has_source();
7970
7971   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
7972   ::google::protobuf::internal::HasBits<1> _has_bits_;
7973   mutable int _cached_size_;
7974   ::google::protobuf::internal::ArenaStringPtr source_;
7975   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
7976   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
7977   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
7978   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
7979
7980   void InitAsDefaultInstance();
7981 };
7982 extern ::google::protobuf::internal::ExplicitlyConstructed<InfogainLossParameter> InfogainLossParameter_default_instance_;
7983
7984 // -------------------------------------------------------------------
7985
7986 class InnerProductParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.InnerProductParameter) */ {
7987  public:
7988   InnerProductParameter();
7989   virtual ~InnerProductParameter();
7990
7991   InnerProductParameter(const InnerProductParameter& from);
7992
7993   inline InnerProductParameter& operator=(const InnerProductParameter& from) {
7994     CopyFrom(from);
7995     return *this;
7996   }
7997
7998   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
7999     return _internal_metadata_.unknown_fields();
8000   }
8001
8002   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8003     return _internal_metadata_.mutable_unknown_fields();
8004   }
8005
8006   static const ::google::protobuf::Descriptor* descriptor();
8007   static const InnerProductParameter& default_instance();
8008
8009   static const InnerProductParameter* internal_default_instance();
8010
8011   void Swap(InnerProductParameter* other);
8012
8013   // implements Message ----------------------------------------------
8014
8015   inline InnerProductParameter* New() const { return New(NULL); }
8016
8017   InnerProductParameter* New(::google::protobuf::Arena* arena) const;
8018   void CopyFrom(const ::google::protobuf::Message& from);
8019   void MergeFrom(const ::google::protobuf::Message& from);
8020   void CopyFrom(const InnerProductParameter& from);
8021   void MergeFrom(const InnerProductParameter& from);
8022   void Clear();
8023   bool IsInitialized() const;
8024
8025   size_t ByteSizeLong() const;
8026   bool MergePartialFromCodedStream(
8027       ::google::protobuf::io::CodedInputStream* input);
8028   void SerializeWithCachedSizes(
8029       ::google::protobuf::io::CodedOutputStream* output) const;
8030   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8031       bool deterministic, ::google::protobuf::uint8* output) const;
8032   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8033     return InternalSerializeWithCachedSizesToArray(false, output);
8034   }
8035   int GetCachedSize() const { return _cached_size_; }
8036   private:
8037   void SharedCtor();
8038   void SharedDtor();
8039   void SetCachedSize(int size) const;
8040   void InternalSwap(InnerProductParameter* other);
8041   void UnsafeMergeFrom(const InnerProductParameter& from);
8042   private:
8043   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8044     return _internal_metadata_.arena();
8045   }
8046   inline void* MaybeArenaPtr() const {
8047     return _internal_metadata_.raw_arena_ptr();
8048   }
8049   public:
8050
8051   ::google::protobuf::Metadata GetMetadata() const;
8052
8053   // nested types ----------------------------------------------------
8054
8055   // accessors -------------------------------------------------------
8056
8057   // optional uint32 num_output = 1;
8058   bool has_num_output() const;
8059   void clear_num_output();
8060   static const int kNumOutputFieldNumber = 1;
8061   ::google::protobuf::uint32 num_output() const;
8062   void set_num_output(::google::protobuf::uint32 value);
8063
8064   // optional bool bias_term = 2 [default = true];
8065   bool has_bias_term() const;
8066   void clear_bias_term();
8067   static const int kBiasTermFieldNumber = 2;
8068   bool bias_term() const;
8069   void set_bias_term(bool value);
8070
8071   // optional .opencv_caffe.FillerParameter weight_filler = 3;
8072   bool has_weight_filler() const;
8073   void clear_weight_filler();
8074   static const int kWeightFillerFieldNumber = 3;
8075   const ::opencv_caffe::FillerParameter& weight_filler() const;
8076   ::opencv_caffe::FillerParameter* mutable_weight_filler();
8077   ::opencv_caffe::FillerParameter* release_weight_filler();
8078   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
8079
8080   // optional .opencv_caffe.FillerParameter bias_filler = 4;
8081   bool has_bias_filler() const;
8082   void clear_bias_filler();
8083   static const int kBiasFillerFieldNumber = 4;
8084   const ::opencv_caffe::FillerParameter& bias_filler() const;
8085   ::opencv_caffe::FillerParameter* mutable_bias_filler();
8086   ::opencv_caffe::FillerParameter* release_bias_filler();
8087   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
8088
8089   // optional int32 axis = 5 [default = 1];
8090   bool has_axis() const;
8091   void clear_axis();
8092   static const int kAxisFieldNumber = 5;
8093   ::google::protobuf::int32 axis() const;
8094   void set_axis(::google::protobuf::int32 value);
8095
8096   // optional bool transpose = 6 [default = false];
8097   bool has_transpose() const;
8098   void clear_transpose();
8099   static const int kTransposeFieldNumber = 6;
8100   bool transpose() const;
8101   void set_transpose(bool value);
8102
8103   // @@protoc_insertion_point(class_scope:opencv_caffe.InnerProductParameter)
8104  private:
8105   inline void set_has_num_output();
8106   inline void clear_has_num_output();
8107   inline void set_has_bias_term();
8108   inline void clear_has_bias_term();
8109   inline void set_has_weight_filler();
8110   inline void clear_has_weight_filler();
8111   inline void set_has_bias_filler();
8112   inline void clear_has_bias_filler();
8113   inline void set_has_axis();
8114   inline void clear_has_axis();
8115   inline void set_has_transpose();
8116   inline void clear_has_transpose();
8117
8118   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8119   ::google::protobuf::internal::HasBits<1> _has_bits_;
8120   mutable int _cached_size_;
8121   ::opencv_caffe::FillerParameter* weight_filler_;
8122   ::opencv_caffe::FillerParameter* bias_filler_;
8123   ::google::protobuf::uint32 num_output_;
8124   bool transpose_;
8125   bool bias_term_;
8126   ::google::protobuf::int32 axis_;
8127   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8128   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8129   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8130   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8131
8132   void InitAsDefaultInstance();
8133 };
8134 extern ::google::protobuf::internal::ExplicitlyConstructed<InnerProductParameter> InnerProductParameter_default_instance_;
8135
8136 // -------------------------------------------------------------------
8137
8138 class InputParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.InputParameter) */ {
8139  public:
8140   InputParameter();
8141   virtual ~InputParameter();
8142
8143   InputParameter(const InputParameter& from);
8144
8145   inline InputParameter& operator=(const InputParameter& from) {
8146     CopyFrom(from);
8147     return *this;
8148   }
8149
8150   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8151     return _internal_metadata_.unknown_fields();
8152   }
8153
8154   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8155     return _internal_metadata_.mutable_unknown_fields();
8156   }
8157
8158   static const ::google::protobuf::Descriptor* descriptor();
8159   static const InputParameter& default_instance();
8160
8161   static const InputParameter* internal_default_instance();
8162
8163   void Swap(InputParameter* other);
8164
8165   // implements Message ----------------------------------------------
8166
8167   inline InputParameter* New() const { return New(NULL); }
8168
8169   InputParameter* New(::google::protobuf::Arena* arena) const;
8170   void CopyFrom(const ::google::protobuf::Message& from);
8171   void MergeFrom(const ::google::protobuf::Message& from);
8172   void CopyFrom(const InputParameter& from);
8173   void MergeFrom(const InputParameter& from);
8174   void Clear();
8175   bool IsInitialized() const;
8176
8177   size_t ByteSizeLong() const;
8178   bool MergePartialFromCodedStream(
8179       ::google::protobuf::io::CodedInputStream* input);
8180   void SerializeWithCachedSizes(
8181       ::google::protobuf::io::CodedOutputStream* output) const;
8182   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8183       bool deterministic, ::google::protobuf::uint8* output) const;
8184   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8185     return InternalSerializeWithCachedSizesToArray(false, output);
8186   }
8187   int GetCachedSize() const { return _cached_size_; }
8188   private:
8189   void SharedCtor();
8190   void SharedDtor();
8191   void SetCachedSize(int size) const;
8192   void InternalSwap(InputParameter* other);
8193   void UnsafeMergeFrom(const InputParameter& from);
8194   private:
8195   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8196     return _internal_metadata_.arena();
8197   }
8198   inline void* MaybeArenaPtr() const {
8199     return _internal_metadata_.raw_arena_ptr();
8200   }
8201   public:
8202
8203   ::google::protobuf::Metadata GetMetadata() const;
8204
8205   // nested types ----------------------------------------------------
8206
8207   // accessors -------------------------------------------------------
8208
8209   // repeated .opencv_caffe.BlobShape shape = 1;
8210   int shape_size() const;
8211   void clear_shape();
8212   static const int kShapeFieldNumber = 1;
8213   const ::opencv_caffe::BlobShape& shape(int index) const;
8214   ::opencv_caffe::BlobShape* mutable_shape(int index);
8215   ::opencv_caffe::BlobShape* add_shape();
8216   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
8217       mutable_shape();
8218   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
8219       shape() const;
8220
8221   // @@protoc_insertion_point(class_scope:opencv_caffe.InputParameter)
8222  private:
8223
8224   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8225   ::google::protobuf::internal::HasBits<1> _has_bits_;
8226   mutable int _cached_size_;
8227   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape > shape_;
8228   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8229   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8230   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8231   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8232
8233   void InitAsDefaultInstance();
8234 };
8235 extern ::google::protobuf::internal::ExplicitlyConstructed<InputParameter> InputParameter_default_instance_;
8236
8237 // -------------------------------------------------------------------
8238
8239 class LogParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LogParameter) */ {
8240  public:
8241   LogParameter();
8242   virtual ~LogParameter();
8243
8244   LogParameter(const LogParameter& from);
8245
8246   inline LogParameter& operator=(const LogParameter& from) {
8247     CopyFrom(from);
8248     return *this;
8249   }
8250
8251   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8252     return _internal_metadata_.unknown_fields();
8253   }
8254
8255   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8256     return _internal_metadata_.mutable_unknown_fields();
8257   }
8258
8259   static const ::google::protobuf::Descriptor* descriptor();
8260   static const LogParameter& default_instance();
8261
8262   static const LogParameter* internal_default_instance();
8263
8264   void Swap(LogParameter* other);
8265
8266   // implements Message ----------------------------------------------
8267
8268   inline LogParameter* New() const { return New(NULL); }
8269
8270   LogParameter* New(::google::protobuf::Arena* arena) const;
8271   void CopyFrom(const ::google::protobuf::Message& from);
8272   void MergeFrom(const ::google::protobuf::Message& from);
8273   void CopyFrom(const LogParameter& from);
8274   void MergeFrom(const LogParameter& from);
8275   void Clear();
8276   bool IsInitialized() const;
8277
8278   size_t ByteSizeLong() const;
8279   bool MergePartialFromCodedStream(
8280       ::google::protobuf::io::CodedInputStream* input);
8281   void SerializeWithCachedSizes(
8282       ::google::protobuf::io::CodedOutputStream* output) const;
8283   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8284       bool deterministic, ::google::protobuf::uint8* output) const;
8285   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8286     return InternalSerializeWithCachedSizesToArray(false, output);
8287   }
8288   int GetCachedSize() const { return _cached_size_; }
8289   private:
8290   void SharedCtor();
8291   void SharedDtor();
8292   void SetCachedSize(int size) const;
8293   void InternalSwap(LogParameter* other);
8294   void UnsafeMergeFrom(const LogParameter& from);
8295   private:
8296   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8297     return _internal_metadata_.arena();
8298   }
8299   inline void* MaybeArenaPtr() const {
8300     return _internal_metadata_.raw_arena_ptr();
8301   }
8302   public:
8303
8304   ::google::protobuf::Metadata GetMetadata() const;
8305
8306   // nested types ----------------------------------------------------
8307
8308   // accessors -------------------------------------------------------
8309
8310   // optional float base = 1 [default = -1];
8311   bool has_base() const;
8312   void clear_base();
8313   static const int kBaseFieldNumber = 1;
8314   float base() const;
8315   void set_base(float value);
8316
8317   // optional float scale = 2 [default = 1];
8318   bool has_scale() const;
8319   void clear_scale();
8320   static const int kScaleFieldNumber = 2;
8321   float scale() const;
8322   void set_scale(float value);
8323
8324   // optional float shift = 3 [default = 0];
8325   bool has_shift() const;
8326   void clear_shift();
8327   static const int kShiftFieldNumber = 3;
8328   float shift() const;
8329   void set_shift(float value);
8330
8331   // @@protoc_insertion_point(class_scope:opencv_caffe.LogParameter)
8332  private:
8333   inline void set_has_base();
8334   inline void clear_has_base();
8335   inline void set_has_scale();
8336   inline void clear_has_scale();
8337   inline void set_has_shift();
8338   inline void clear_has_shift();
8339
8340   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8341   ::google::protobuf::internal::HasBits<1> _has_bits_;
8342   mutable int _cached_size_;
8343   float shift_;
8344   float base_;
8345   float scale_;
8346   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8347   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8348   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8349   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8350
8351   void InitAsDefaultInstance();
8352 };
8353 extern ::google::protobuf::internal::ExplicitlyConstructed<LogParameter> LogParameter_default_instance_;
8354
8355 // -------------------------------------------------------------------
8356
8357 class LRNParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.LRNParameter) */ {
8358  public:
8359   LRNParameter();
8360   virtual ~LRNParameter();
8361
8362   LRNParameter(const LRNParameter& from);
8363
8364   inline LRNParameter& operator=(const LRNParameter& from) {
8365     CopyFrom(from);
8366     return *this;
8367   }
8368
8369   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8370     return _internal_metadata_.unknown_fields();
8371   }
8372
8373   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8374     return _internal_metadata_.mutable_unknown_fields();
8375   }
8376
8377   static const ::google::protobuf::Descriptor* descriptor();
8378   static const LRNParameter& default_instance();
8379
8380   static const LRNParameter* internal_default_instance();
8381
8382   void Swap(LRNParameter* other);
8383
8384   // implements Message ----------------------------------------------
8385
8386   inline LRNParameter* New() const { return New(NULL); }
8387
8388   LRNParameter* New(::google::protobuf::Arena* arena) const;
8389   void CopyFrom(const ::google::protobuf::Message& from);
8390   void MergeFrom(const ::google::protobuf::Message& from);
8391   void CopyFrom(const LRNParameter& from);
8392   void MergeFrom(const LRNParameter& from);
8393   void Clear();
8394   bool IsInitialized() const;
8395
8396   size_t ByteSizeLong() const;
8397   bool MergePartialFromCodedStream(
8398       ::google::protobuf::io::CodedInputStream* input);
8399   void SerializeWithCachedSizes(
8400       ::google::protobuf::io::CodedOutputStream* output) const;
8401   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8402       bool deterministic, ::google::protobuf::uint8* output) const;
8403   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8404     return InternalSerializeWithCachedSizesToArray(false, output);
8405   }
8406   int GetCachedSize() const { return _cached_size_; }
8407   private:
8408   void SharedCtor();
8409   void SharedDtor();
8410   void SetCachedSize(int size) const;
8411   void InternalSwap(LRNParameter* other);
8412   void UnsafeMergeFrom(const LRNParameter& from);
8413   private:
8414   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8415     return _internal_metadata_.arena();
8416   }
8417   inline void* MaybeArenaPtr() const {
8418     return _internal_metadata_.raw_arena_ptr();
8419   }
8420   public:
8421
8422   ::google::protobuf::Metadata GetMetadata() const;
8423
8424   // nested types ----------------------------------------------------
8425
8426   typedef LRNParameter_NormRegion NormRegion;
8427   static const NormRegion ACROSS_CHANNELS =
8428     LRNParameter_NormRegion_ACROSS_CHANNELS;
8429   static const NormRegion WITHIN_CHANNEL =
8430     LRNParameter_NormRegion_WITHIN_CHANNEL;
8431   static inline bool NormRegion_IsValid(int value) {
8432     return LRNParameter_NormRegion_IsValid(value);
8433   }
8434   static const NormRegion NormRegion_MIN =
8435     LRNParameter_NormRegion_NormRegion_MIN;
8436   static const NormRegion NormRegion_MAX =
8437     LRNParameter_NormRegion_NormRegion_MAX;
8438   static const int NormRegion_ARRAYSIZE =
8439     LRNParameter_NormRegion_NormRegion_ARRAYSIZE;
8440   static inline const ::google::protobuf::EnumDescriptor*
8441   NormRegion_descriptor() {
8442     return LRNParameter_NormRegion_descriptor();
8443   }
8444   static inline const ::std::string& NormRegion_Name(NormRegion value) {
8445     return LRNParameter_NormRegion_Name(value);
8446   }
8447   static inline bool NormRegion_Parse(const ::std::string& name,
8448       NormRegion* value) {
8449     return LRNParameter_NormRegion_Parse(name, value);
8450   }
8451
8452   typedef LRNParameter_Engine Engine;
8453   static const Engine DEFAULT =
8454     LRNParameter_Engine_DEFAULT;
8455   static const Engine CAFFE =
8456     LRNParameter_Engine_CAFFE;
8457   static const Engine CUDNN =
8458     LRNParameter_Engine_CUDNN;
8459   static inline bool Engine_IsValid(int value) {
8460     return LRNParameter_Engine_IsValid(value);
8461   }
8462   static const Engine Engine_MIN =
8463     LRNParameter_Engine_Engine_MIN;
8464   static const Engine Engine_MAX =
8465     LRNParameter_Engine_Engine_MAX;
8466   static const int Engine_ARRAYSIZE =
8467     LRNParameter_Engine_Engine_ARRAYSIZE;
8468   static inline const ::google::protobuf::EnumDescriptor*
8469   Engine_descriptor() {
8470     return LRNParameter_Engine_descriptor();
8471   }
8472   static inline const ::std::string& Engine_Name(Engine value) {
8473     return LRNParameter_Engine_Name(value);
8474   }
8475   static inline bool Engine_Parse(const ::std::string& name,
8476       Engine* value) {
8477     return LRNParameter_Engine_Parse(name, value);
8478   }
8479
8480   // accessors -------------------------------------------------------
8481
8482   // optional uint32 local_size = 1 [default = 5];
8483   bool has_local_size() const;
8484   void clear_local_size();
8485   static const int kLocalSizeFieldNumber = 1;
8486   ::google::protobuf::uint32 local_size() const;
8487   void set_local_size(::google::protobuf::uint32 value);
8488
8489   // optional float alpha = 2 [default = 1];
8490   bool has_alpha() const;
8491   void clear_alpha();
8492   static const int kAlphaFieldNumber = 2;
8493   float alpha() const;
8494   void set_alpha(float value);
8495
8496   // optional float beta = 3 [default = 0.75];
8497   bool has_beta() const;
8498   void clear_beta();
8499   static const int kBetaFieldNumber = 3;
8500   float beta() const;
8501   void set_beta(float value);
8502
8503   // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
8504   bool has_norm_region() const;
8505   void clear_norm_region();
8506   static const int kNormRegionFieldNumber = 4;
8507   ::opencv_caffe::LRNParameter_NormRegion norm_region() const;
8508   void set_norm_region(::opencv_caffe::LRNParameter_NormRegion value);
8509
8510   // optional float k = 5 [default = 1];
8511   bool has_k() const;
8512   void clear_k();
8513   static const int kKFieldNumber = 5;
8514   float k() const;
8515   void set_k(float value);
8516
8517   // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
8518   bool has_engine() const;
8519   void clear_engine();
8520   static const int kEngineFieldNumber = 6;
8521   ::opencv_caffe::LRNParameter_Engine engine() const;
8522   void set_engine(::opencv_caffe::LRNParameter_Engine value);
8523
8524   // @@protoc_insertion_point(class_scope:opencv_caffe.LRNParameter)
8525  private:
8526   inline void set_has_local_size();
8527   inline void clear_has_local_size();
8528   inline void set_has_alpha();
8529   inline void clear_has_alpha();
8530   inline void set_has_beta();
8531   inline void clear_has_beta();
8532   inline void set_has_norm_region();
8533   inline void clear_has_norm_region();
8534   inline void set_has_k();
8535   inline void clear_has_k();
8536   inline void set_has_engine();
8537   inline void clear_has_engine();
8538
8539   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8540   ::google::protobuf::internal::HasBits<1> _has_bits_;
8541   mutable int _cached_size_;
8542   int norm_region_;
8543   int engine_;
8544   ::google::protobuf::uint32 local_size_;
8545   float alpha_;
8546   float beta_;
8547   float k_;
8548   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8549   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8550   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8551   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8552
8553   void InitAsDefaultInstance();
8554 };
8555 extern ::google::protobuf::internal::ExplicitlyConstructed<LRNParameter> LRNParameter_default_instance_;
8556
8557 // -------------------------------------------------------------------
8558
8559 class MemoryDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.MemoryDataParameter) */ {
8560  public:
8561   MemoryDataParameter();
8562   virtual ~MemoryDataParameter();
8563
8564   MemoryDataParameter(const MemoryDataParameter& from);
8565
8566   inline MemoryDataParameter& operator=(const MemoryDataParameter& from) {
8567     CopyFrom(from);
8568     return *this;
8569   }
8570
8571   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8572     return _internal_metadata_.unknown_fields();
8573   }
8574
8575   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8576     return _internal_metadata_.mutable_unknown_fields();
8577   }
8578
8579   static const ::google::protobuf::Descriptor* descriptor();
8580   static const MemoryDataParameter& default_instance();
8581
8582   static const MemoryDataParameter* internal_default_instance();
8583
8584   void Swap(MemoryDataParameter* other);
8585
8586   // implements Message ----------------------------------------------
8587
8588   inline MemoryDataParameter* New() const { return New(NULL); }
8589
8590   MemoryDataParameter* New(::google::protobuf::Arena* arena) const;
8591   void CopyFrom(const ::google::protobuf::Message& from);
8592   void MergeFrom(const ::google::protobuf::Message& from);
8593   void CopyFrom(const MemoryDataParameter& from);
8594   void MergeFrom(const MemoryDataParameter& from);
8595   void Clear();
8596   bool IsInitialized() const;
8597
8598   size_t ByteSizeLong() const;
8599   bool MergePartialFromCodedStream(
8600       ::google::protobuf::io::CodedInputStream* input);
8601   void SerializeWithCachedSizes(
8602       ::google::protobuf::io::CodedOutputStream* output) const;
8603   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8604       bool deterministic, ::google::protobuf::uint8* output) const;
8605   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8606     return InternalSerializeWithCachedSizesToArray(false, output);
8607   }
8608   int GetCachedSize() const { return _cached_size_; }
8609   private:
8610   void SharedCtor();
8611   void SharedDtor();
8612   void SetCachedSize(int size) const;
8613   void InternalSwap(MemoryDataParameter* other);
8614   void UnsafeMergeFrom(const MemoryDataParameter& from);
8615   private:
8616   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8617     return _internal_metadata_.arena();
8618   }
8619   inline void* MaybeArenaPtr() const {
8620     return _internal_metadata_.raw_arena_ptr();
8621   }
8622   public:
8623
8624   ::google::protobuf::Metadata GetMetadata() const;
8625
8626   // nested types ----------------------------------------------------
8627
8628   // accessors -------------------------------------------------------
8629
8630   // optional uint32 batch_size = 1;
8631   bool has_batch_size() const;
8632   void clear_batch_size();
8633   static const int kBatchSizeFieldNumber = 1;
8634   ::google::protobuf::uint32 batch_size() const;
8635   void set_batch_size(::google::protobuf::uint32 value);
8636
8637   // optional uint32 channels = 2;
8638   bool has_channels() const;
8639   void clear_channels();
8640   static const int kChannelsFieldNumber = 2;
8641   ::google::protobuf::uint32 channels() const;
8642   void set_channels(::google::protobuf::uint32 value);
8643
8644   // optional uint32 height = 3;
8645   bool has_height() const;
8646   void clear_height();
8647   static const int kHeightFieldNumber = 3;
8648   ::google::protobuf::uint32 height() const;
8649   void set_height(::google::protobuf::uint32 value);
8650
8651   // optional uint32 width = 4;
8652   bool has_width() const;
8653   void clear_width();
8654   static const int kWidthFieldNumber = 4;
8655   ::google::protobuf::uint32 width() const;
8656   void set_width(::google::protobuf::uint32 value);
8657
8658   // @@protoc_insertion_point(class_scope:opencv_caffe.MemoryDataParameter)
8659  private:
8660   inline void set_has_batch_size();
8661   inline void clear_has_batch_size();
8662   inline void set_has_channels();
8663   inline void clear_has_channels();
8664   inline void set_has_height();
8665   inline void clear_has_height();
8666   inline void set_has_width();
8667   inline void clear_has_width();
8668
8669   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8670   ::google::protobuf::internal::HasBits<1> _has_bits_;
8671   mutable int _cached_size_;
8672   ::google::protobuf::uint32 batch_size_;
8673   ::google::protobuf::uint32 channels_;
8674   ::google::protobuf::uint32 height_;
8675   ::google::protobuf::uint32 width_;
8676   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8677   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8678   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8679   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8680
8681   void InitAsDefaultInstance();
8682 };
8683 extern ::google::protobuf::internal::ExplicitlyConstructed<MemoryDataParameter> MemoryDataParameter_default_instance_;
8684
8685 // -------------------------------------------------------------------
8686
8687 class MVNParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.MVNParameter) */ {
8688  public:
8689   MVNParameter();
8690   virtual ~MVNParameter();
8691
8692   MVNParameter(const MVNParameter& from);
8693
8694   inline MVNParameter& operator=(const MVNParameter& from) {
8695     CopyFrom(from);
8696     return *this;
8697   }
8698
8699   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8700     return _internal_metadata_.unknown_fields();
8701   }
8702
8703   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8704     return _internal_metadata_.mutable_unknown_fields();
8705   }
8706
8707   static const ::google::protobuf::Descriptor* descriptor();
8708   static const MVNParameter& default_instance();
8709
8710   static const MVNParameter* internal_default_instance();
8711
8712   void Swap(MVNParameter* other);
8713
8714   // implements Message ----------------------------------------------
8715
8716   inline MVNParameter* New() const { return New(NULL); }
8717
8718   MVNParameter* New(::google::protobuf::Arena* arena) const;
8719   void CopyFrom(const ::google::protobuf::Message& from);
8720   void MergeFrom(const ::google::protobuf::Message& from);
8721   void CopyFrom(const MVNParameter& from);
8722   void MergeFrom(const MVNParameter& from);
8723   void Clear();
8724   bool IsInitialized() const;
8725
8726   size_t ByteSizeLong() const;
8727   bool MergePartialFromCodedStream(
8728       ::google::protobuf::io::CodedInputStream* input);
8729   void SerializeWithCachedSizes(
8730       ::google::protobuf::io::CodedOutputStream* output) const;
8731   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8732       bool deterministic, ::google::protobuf::uint8* output) const;
8733   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8734     return InternalSerializeWithCachedSizesToArray(false, output);
8735   }
8736   int GetCachedSize() const { return _cached_size_; }
8737   private:
8738   void SharedCtor();
8739   void SharedDtor();
8740   void SetCachedSize(int size) const;
8741   void InternalSwap(MVNParameter* other);
8742   void UnsafeMergeFrom(const MVNParameter& from);
8743   private:
8744   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8745     return _internal_metadata_.arena();
8746   }
8747   inline void* MaybeArenaPtr() const {
8748     return _internal_metadata_.raw_arena_ptr();
8749   }
8750   public:
8751
8752   ::google::protobuf::Metadata GetMetadata() const;
8753
8754   // nested types ----------------------------------------------------
8755
8756   // accessors -------------------------------------------------------
8757
8758   // optional bool normalize_variance = 1 [default = true];
8759   bool has_normalize_variance() const;
8760   void clear_normalize_variance();
8761   static const int kNormalizeVarianceFieldNumber = 1;
8762   bool normalize_variance() const;
8763   void set_normalize_variance(bool value);
8764
8765   // optional bool across_channels = 2 [default = false];
8766   bool has_across_channels() const;
8767   void clear_across_channels();
8768   static const int kAcrossChannelsFieldNumber = 2;
8769   bool across_channels() const;
8770   void set_across_channels(bool value);
8771
8772   // optional float eps = 3 [default = 1e-09];
8773   bool has_eps() const;
8774   void clear_eps();
8775   static const int kEpsFieldNumber = 3;
8776   float eps() const;
8777   void set_eps(float value);
8778
8779   // @@protoc_insertion_point(class_scope:opencv_caffe.MVNParameter)
8780  private:
8781   inline void set_has_normalize_variance();
8782   inline void clear_has_normalize_variance();
8783   inline void set_has_across_channels();
8784   inline void clear_has_across_channels();
8785   inline void set_has_eps();
8786   inline void clear_has_eps();
8787
8788   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8789   ::google::protobuf::internal::HasBits<1> _has_bits_;
8790   mutable int _cached_size_;
8791   bool across_channels_;
8792   bool normalize_variance_;
8793   float eps_;
8794   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8795   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8796   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8797   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8798
8799   void InitAsDefaultInstance();
8800 };
8801 extern ::google::protobuf::internal::ExplicitlyConstructed<MVNParameter> MVNParameter_default_instance_;
8802
8803 // -------------------------------------------------------------------
8804
8805 class ParameterParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ParameterParameter) */ {
8806  public:
8807   ParameterParameter();
8808   virtual ~ParameterParameter();
8809
8810   ParameterParameter(const ParameterParameter& from);
8811
8812   inline ParameterParameter& operator=(const ParameterParameter& from) {
8813     CopyFrom(from);
8814     return *this;
8815   }
8816
8817   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8818     return _internal_metadata_.unknown_fields();
8819   }
8820
8821   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8822     return _internal_metadata_.mutable_unknown_fields();
8823   }
8824
8825   static const ::google::protobuf::Descriptor* descriptor();
8826   static const ParameterParameter& default_instance();
8827
8828   static const ParameterParameter* internal_default_instance();
8829
8830   void Swap(ParameterParameter* other);
8831
8832   // implements Message ----------------------------------------------
8833
8834   inline ParameterParameter* New() const { return New(NULL); }
8835
8836   ParameterParameter* New(::google::protobuf::Arena* arena) const;
8837   void CopyFrom(const ::google::protobuf::Message& from);
8838   void MergeFrom(const ::google::protobuf::Message& from);
8839   void CopyFrom(const ParameterParameter& from);
8840   void MergeFrom(const ParameterParameter& from);
8841   void Clear();
8842   bool IsInitialized() const;
8843
8844   size_t ByteSizeLong() const;
8845   bool MergePartialFromCodedStream(
8846       ::google::protobuf::io::CodedInputStream* input);
8847   void SerializeWithCachedSizes(
8848       ::google::protobuf::io::CodedOutputStream* output) const;
8849   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8850       bool deterministic, ::google::protobuf::uint8* output) const;
8851   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8852     return InternalSerializeWithCachedSizesToArray(false, output);
8853   }
8854   int GetCachedSize() const { return _cached_size_; }
8855   private:
8856   void SharedCtor();
8857   void SharedDtor();
8858   void SetCachedSize(int size) const;
8859   void InternalSwap(ParameterParameter* other);
8860   void UnsafeMergeFrom(const ParameterParameter& from);
8861   private:
8862   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8863     return _internal_metadata_.arena();
8864   }
8865   inline void* MaybeArenaPtr() const {
8866     return _internal_metadata_.raw_arena_ptr();
8867   }
8868   public:
8869
8870   ::google::protobuf::Metadata GetMetadata() const;
8871
8872   // nested types ----------------------------------------------------
8873
8874   // accessors -------------------------------------------------------
8875
8876   // optional .opencv_caffe.BlobShape shape = 1;
8877   bool has_shape() const;
8878   void clear_shape();
8879   static const int kShapeFieldNumber = 1;
8880   const ::opencv_caffe::BlobShape& shape() const;
8881   ::opencv_caffe::BlobShape* mutable_shape();
8882   ::opencv_caffe::BlobShape* release_shape();
8883   void set_allocated_shape(::opencv_caffe::BlobShape* shape);
8884
8885   // @@protoc_insertion_point(class_scope:opencv_caffe.ParameterParameter)
8886  private:
8887   inline void set_has_shape();
8888   inline void clear_has_shape();
8889
8890   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
8891   ::google::protobuf::internal::HasBits<1> _has_bits_;
8892   mutable int _cached_size_;
8893   ::opencv_caffe::BlobShape* shape_;
8894   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
8895   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
8896   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
8897   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
8898
8899   void InitAsDefaultInstance();
8900 };
8901 extern ::google::protobuf::internal::ExplicitlyConstructed<ParameterParameter> ParameterParameter_default_instance_;
8902
8903 // -------------------------------------------------------------------
8904
8905 class PoolingParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PoolingParameter) */ {
8906  public:
8907   PoolingParameter();
8908   virtual ~PoolingParameter();
8909
8910   PoolingParameter(const PoolingParameter& from);
8911
8912   inline PoolingParameter& operator=(const PoolingParameter& from) {
8913     CopyFrom(from);
8914     return *this;
8915   }
8916
8917   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
8918     return _internal_metadata_.unknown_fields();
8919   }
8920
8921   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
8922     return _internal_metadata_.mutable_unknown_fields();
8923   }
8924
8925   static const ::google::protobuf::Descriptor* descriptor();
8926   static const PoolingParameter& default_instance();
8927
8928   static const PoolingParameter* internal_default_instance();
8929
8930   void Swap(PoolingParameter* other);
8931
8932   // implements Message ----------------------------------------------
8933
8934   inline PoolingParameter* New() const { return New(NULL); }
8935
8936   PoolingParameter* New(::google::protobuf::Arena* arena) const;
8937   void CopyFrom(const ::google::protobuf::Message& from);
8938   void MergeFrom(const ::google::protobuf::Message& from);
8939   void CopyFrom(const PoolingParameter& from);
8940   void MergeFrom(const PoolingParameter& from);
8941   void Clear();
8942   bool IsInitialized() const;
8943
8944   size_t ByteSizeLong() const;
8945   bool MergePartialFromCodedStream(
8946       ::google::protobuf::io::CodedInputStream* input);
8947   void SerializeWithCachedSizes(
8948       ::google::protobuf::io::CodedOutputStream* output) const;
8949   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
8950       bool deterministic, ::google::protobuf::uint8* output) const;
8951   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
8952     return InternalSerializeWithCachedSizesToArray(false, output);
8953   }
8954   int GetCachedSize() const { return _cached_size_; }
8955   private:
8956   void SharedCtor();
8957   void SharedDtor();
8958   void SetCachedSize(int size) const;
8959   void InternalSwap(PoolingParameter* other);
8960   void UnsafeMergeFrom(const PoolingParameter& from);
8961   private:
8962   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
8963     return _internal_metadata_.arena();
8964   }
8965   inline void* MaybeArenaPtr() const {
8966     return _internal_metadata_.raw_arena_ptr();
8967   }
8968   public:
8969
8970   ::google::protobuf::Metadata GetMetadata() const;
8971
8972   // nested types ----------------------------------------------------
8973
8974   typedef PoolingParameter_PoolMethod PoolMethod;
8975   static const PoolMethod MAX =
8976     PoolingParameter_PoolMethod_MAX;
8977   static const PoolMethod AVE =
8978     PoolingParameter_PoolMethod_AVE;
8979   static const PoolMethod STOCHASTIC =
8980     PoolingParameter_PoolMethod_STOCHASTIC;
8981   static inline bool PoolMethod_IsValid(int value) {
8982     return PoolingParameter_PoolMethod_IsValid(value);
8983   }
8984   static const PoolMethod PoolMethod_MIN =
8985     PoolingParameter_PoolMethod_PoolMethod_MIN;
8986   static const PoolMethod PoolMethod_MAX =
8987     PoolingParameter_PoolMethod_PoolMethod_MAX;
8988   static const int PoolMethod_ARRAYSIZE =
8989     PoolingParameter_PoolMethod_PoolMethod_ARRAYSIZE;
8990   static inline const ::google::protobuf::EnumDescriptor*
8991   PoolMethod_descriptor() {
8992     return PoolingParameter_PoolMethod_descriptor();
8993   }
8994   static inline const ::std::string& PoolMethod_Name(PoolMethod value) {
8995     return PoolingParameter_PoolMethod_Name(value);
8996   }
8997   static inline bool PoolMethod_Parse(const ::std::string& name,
8998       PoolMethod* value) {
8999     return PoolingParameter_PoolMethod_Parse(name, value);
9000   }
9001
9002   typedef PoolingParameter_Engine Engine;
9003   static const Engine DEFAULT =
9004     PoolingParameter_Engine_DEFAULT;
9005   static const Engine CAFFE =
9006     PoolingParameter_Engine_CAFFE;
9007   static const Engine CUDNN =
9008     PoolingParameter_Engine_CUDNN;
9009   static inline bool Engine_IsValid(int value) {
9010     return PoolingParameter_Engine_IsValid(value);
9011   }
9012   static const Engine Engine_MIN =
9013     PoolingParameter_Engine_Engine_MIN;
9014   static const Engine Engine_MAX =
9015     PoolingParameter_Engine_Engine_MAX;
9016   static const int Engine_ARRAYSIZE =
9017     PoolingParameter_Engine_Engine_ARRAYSIZE;
9018   static inline const ::google::protobuf::EnumDescriptor*
9019   Engine_descriptor() {
9020     return PoolingParameter_Engine_descriptor();
9021   }
9022   static inline const ::std::string& Engine_Name(Engine value) {
9023     return PoolingParameter_Engine_Name(value);
9024   }
9025   static inline bool Engine_Parse(const ::std::string& name,
9026       Engine* value) {
9027     return PoolingParameter_Engine_Parse(name, value);
9028   }
9029
9030   // accessors -------------------------------------------------------
9031
9032   // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
9033   bool has_pool() const;
9034   void clear_pool();
9035   static const int kPoolFieldNumber = 1;
9036   ::opencv_caffe::PoolingParameter_PoolMethod pool() const;
9037   void set_pool(::opencv_caffe::PoolingParameter_PoolMethod value);
9038
9039   // optional uint32 pad = 4 [default = 0];
9040   bool has_pad() const;
9041   void clear_pad();
9042   static const int kPadFieldNumber = 4;
9043   ::google::protobuf::uint32 pad() const;
9044   void set_pad(::google::protobuf::uint32 value);
9045
9046   // optional uint32 pad_h = 9 [default = 0];
9047   bool has_pad_h() const;
9048   void clear_pad_h();
9049   static const int kPadHFieldNumber = 9;
9050   ::google::protobuf::uint32 pad_h() const;
9051   void set_pad_h(::google::protobuf::uint32 value);
9052
9053   // optional uint32 pad_w = 10 [default = 0];
9054   bool has_pad_w() const;
9055   void clear_pad_w();
9056   static const int kPadWFieldNumber = 10;
9057   ::google::protobuf::uint32 pad_w() const;
9058   void set_pad_w(::google::protobuf::uint32 value);
9059
9060   // optional uint32 kernel_size = 2;
9061   bool has_kernel_size() const;
9062   void clear_kernel_size();
9063   static const int kKernelSizeFieldNumber = 2;
9064   ::google::protobuf::uint32 kernel_size() const;
9065   void set_kernel_size(::google::protobuf::uint32 value);
9066
9067   // optional uint32 kernel_h = 5;
9068   bool has_kernel_h() const;
9069   void clear_kernel_h();
9070   static const int kKernelHFieldNumber = 5;
9071   ::google::protobuf::uint32 kernel_h() const;
9072   void set_kernel_h(::google::protobuf::uint32 value);
9073
9074   // optional uint32 kernel_w = 6;
9075   bool has_kernel_w() const;
9076   void clear_kernel_w();
9077   static const int kKernelWFieldNumber = 6;
9078   ::google::protobuf::uint32 kernel_w() const;
9079   void set_kernel_w(::google::protobuf::uint32 value);
9080
9081   // optional uint32 stride = 3 [default = 1];
9082   bool has_stride() const;
9083   void clear_stride();
9084   static const int kStrideFieldNumber = 3;
9085   ::google::protobuf::uint32 stride() const;
9086   void set_stride(::google::protobuf::uint32 value);
9087
9088   // optional uint32 stride_h = 7;
9089   bool has_stride_h() const;
9090   void clear_stride_h();
9091   static const int kStrideHFieldNumber = 7;
9092   ::google::protobuf::uint32 stride_h() const;
9093   void set_stride_h(::google::protobuf::uint32 value);
9094
9095   // optional uint32 stride_w = 8;
9096   bool has_stride_w() const;
9097   void clear_stride_w();
9098   static const int kStrideWFieldNumber = 8;
9099   ::google::protobuf::uint32 stride_w() const;
9100   void set_stride_w(::google::protobuf::uint32 value);
9101
9102   // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
9103   bool has_engine() const;
9104   void clear_engine();
9105   static const int kEngineFieldNumber = 11;
9106   ::opencv_caffe::PoolingParameter_Engine engine() const;
9107   void set_engine(::opencv_caffe::PoolingParameter_Engine value);
9108
9109   // optional bool global_pooling = 12 [default = false];
9110   bool has_global_pooling() const;
9111   void clear_global_pooling();
9112   static const int kGlobalPoolingFieldNumber = 12;
9113   bool global_pooling() const;
9114   void set_global_pooling(bool value);
9115
9116   // optional bool ceil_mode = 13 [default = true];
9117   bool has_ceil_mode() const;
9118   void clear_ceil_mode();
9119   static const int kCeilModeFieldNumber = 13;
9120   bool ceil_mode() const;
9121   void set_ceil_mode(bool value);
9122
9123   // @@protoc_insertion_point(class_scope:opencv_caffe.PoolingParameter)
9124  private:
9125   inline void set_has_pool();
9126   inline void clear_has_pool();
9127   inline void set_has_pad();
9128   inline void clear_has_pad();
9129   inline void set_has_pad_h();
9130   inline void clear_has_pad_h();
9131   inline void set_has_pad_w();
9132   inline void clear_has_pad_w();
9133   inline void set_has_kernel_size();
9134   inline void clear_has_kernel_size();
9135   inline void set_has_kernel_h();
9136   inline void clear_has_kernel_h();
9137   inline void set_has_kernel_w();
9138   inline void clear_has_kernel_w();
9139   inline void set_has_stride();
9140   inline void clear_has_stride();
9141   inline void set_has_stride_h();
9142   inline void clear_has_stride_h();
9143   inline void set_has_stride_w();
9144   inline void clear_has_stride_w();
9145   inline void set_has_engine();
9146   inline void clear_has_engine();
9147   inline void set_has_global_pooling();
9148   inline void clear_has_global_pooling();
9149   inline void set_has_ceil_mode();
9150   inline void clear_has_ceil_mode();
9151
9152   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9153   ::google::protobuf::internal::HasBits<1> _has_bits_;
9154   mutable int _cached_size_;
9155   int pool_;
9156   ::google::protobuf::uint32 pad_;
9157   ::google::protobuf::uint32 pad_h_;
9158   ::google::protobuf::uint32 pad_w_;
9159   ::google::protobuf::uint32 kernel_size_;
9160   ::google::protobuf::uint32 kernel_h_;
9161   ::google::protobuf::uint32 kernel_w_;
9162   ::google::protobuf::uint32 stride_h_;
9163   ::google::protobuf::uint32 stride_w_;
9164   int engine_;
9165   bool global_pooling_;
9166   ::google::protobuf::uint32 stride_;
9167   bool ceil_mode_;
9168   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9169   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9170   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9171   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9172
9173   void InitAsDefaultInstance();
9174 };
9175 extern ::google::protobuf::internal::ExplicitlyConstructed<PoolingParameter> PoolingParameter_default_instance_;
9176
9177 // -------------------------------------------------------------------
9178
9179 class PowerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PowerParameter) */ {
9180  public:
9181   PowerParameter();
9182   virtual ~PowerParameter();
9183
9184   PowerParameter(const PowerParameter& from);
9185
9186   inline PowerParameter& operator=(const PowerParameter& from) {
9187     CopyFrom(from);
9188     return *this;
9189   }
9190
9191   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9192     return _internal_metadata_.unknown_fields();
9193   }
9194
9195   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9196     return _internal_metadata_.mutable_unknown_fields();
9197   }
9198
9199   static const ::google::protobuf::Descriptor* descriptor();
9200   static const PowerParameter& default_instance();
9201
9202   static const PowerParameter* internal_default_instance();
9203
9204   void Swap(PowerParameter* other);
9205
9206   // implements Message ----------------------------------------------
9207
9208   inline PowerParameter* New() const { return New(NULL); }
9209
9210   PowerParameter* New(::google::protobuf::Arena* arena) const;
9211   void CopyFrom(const ::google::protobuf::Message& from);
9212   void MergeFrom(const ::google::protobuf::Message& from);
9213   void CopyFrom(const PowerParameter& from);
9214   void MergeFrom(const PowerParameter& from);
9215   void Clear();
9216   bool IsInitialized() const;
9217
9218   size_t ByteSizeLong() const;
9219   bool MergePartialFromCodedStream(
9220       ::google::protobuf::io::CodedInputStream* input);
9221   void SerializeWithCachedSizes(
9222       ::google::protobuf::io::CodedOutputStream* output) const;
9223   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9224       bool deterministic, ::google::protobuf::uint8* output) const;
9225   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9226     return InternalSerializeWithCachedSizesToArray(false, output);
9227   }
9228   int GetCachedSize() const { return _cached_size_; }
9229   private:
9230   void SharedCtor();
9231   void SharedDtor();
9232   void SetCachedSize(int size) const;
9233   void InternalSwap(PowerParameter* other);
9234   void UnsafeMergeFrom(const PowerParameter& from);
9235   private:
9236   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9237     return _internal_metadata_.arena();
9238   }
9239   inline void* MaybeArenaPtr() const {
9240     return _internal_metadata_.raw_arena_ptr();
9241   }
9242   public:
9243
9244   ::google::protobuf::Metadata GetMetadata() const;
9245
9246   // nested types ----------------------------------------------------
9247
9248   // accessors -------------------------------------------------------
9249
9250   // optional float power = 1 [default = 1];
9251   bool has_power() const;
9252   void clear_power();
9253   static const int kPowerFieldNumber = 1;
9254   float power() const;
9255   void set_power(float value);
9256
9257   // optional float scale = 2 [default = 1];
9258   bool has_scale() const;
9259   void clear_scale();
9260   static const int kScaleFieldNumber = 2;
9261   float scale() const;
9262   void set_scale(float value);
9263
9264   // optional float shift = 3 [default = 0];
9265   bool has_shift() const;
9266   void clear_shift();
9267   static const int kShiftFieldNumber = 3;
9268   float shift() const;
9269   void set_shift(float value);
9270
9271   // @@protoc_insertion_point(class_scope:opencv_caffe.PowerParameter)
9272  private:
9273   inline void set_has_power();
9274   inline void clear_has_power();
9275   inline void set_has_scale();
9276   inline void clear_has_scale();
9277   inline void set_has_shift();
9278   inline void clear_has_shift();
9279
9280   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9281   ::google::protobuf::internal::HasBits<1> _has_bits_;
9282   mutable int _cached_size_;
9283   float shift_;
9284   float power_;
9285   float scale_;
9286   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9287   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9288   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9289   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9290
9291   void InitAsDefaultInstance();
9292 };
9293 extern ::google::protobuf::internal::ExplicitlyConstructed<PowerParameter> PowerParameter_default_instance_;
9294
9295 // -------------------------------------------------------------------
9296
9297 class PythonParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PythonParameter) */ {
9298  public:
9299   PythonParameter();
9300   virtual ~PythonParameter();
9301
9302   PythonParameter(const PythonParameter& from);
9303
9304   inline PythonParameter& operator=(const PythonParameter& from) {
9305     CopyFrom(from);
9306     return *this;
9307   }
9308
9309   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9310     return _internal_metadata_.unknown_fields();
9311   }
9312
9313   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9314     return _internal_metadata_.mutable_unknown_fields();
9315   }
9316
9317   static const ::google::protobuf::Descriptor* descriptor();
9318   static const PythonParameter& default_instance();
9319
9320   static const PythonParameter* internal_default_instance();
9321
9322   void Swap(PythonParameter* other);
9323
9324   // implements Message ----------------------------------------------
9325
9326   inline PythonParameter* New() const { return New(NULL); }
9327
9328   PythonParameter* New(::google::protobuf::Arena* arena) const;
9329   void CopyFrom(const ::google::protobuf::Message& from);
9330   void MergeFrom(const ::google::protobuf::Message& from);
9331   void CopyFrom(const PythonParameter& from);
9332   void MergeFrom(const PythonParameter& from);
9333   void Clear();
9334   bool IsInitialized() const;
9335
9336   size_t ByteSizeLong() const;
9337   bool MergePartialFromCodedStream(
9338       ::google::protobuf::io::CodedInputStream* input);
9339   void SerializeWithCachedSizes(
9340       ::google::protobuf::io::CodedOutputStream* output) const;
9341   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9342       bool deterministic, ::google::protobuf::uint8* output) const;
9343   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9344     return InternalSerializeWithCachedSizesToArray(false, output);
9345   }
9346   int GetCachedSize() const { return _cached_size_; }
9347   private:
9348   void SharedCtor();
9349   void SharedDtor();
9350   void SetCachedSize(int size) const;
9351   void InternalSwap(PythonParameter* other);
9352   void UnsafeMergeFrom(const PythonParameter& from);
9353   private:
9354   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9355     return _internal_metadata_.arena();
9356   }
9357   inline void* MaybeArenaPtr() const {
9358     return _internal_metadata_.raw_arena_ptr();
9359   }
9360   public:
9361
9362   ::google::protobuf::Metadata GetMetadata() const;
9363
9364   // nested types ----------------------------------------------------
9365
9366   // accessors -------------------------------------------------------
9367
9368   // optional string module = 1;
9369   bool has_module() const;
9370   void clear_module();
9371   static const int kModuleFieldNumber = 1;
9372   const ::std::string& module() const;
9373   void set_module(const ::std::string& value);
9374   void set_module(const char* value);
9375   void set_module(const char* value, size_t size);
9376   ::std::string* mutable_module();
9377   ::std::string* release_module();
9378   void set_allocated_module(::std::string* module);
9379
9380   // optional string layer = 2;
9381   bool has_layer() const;
9382   void clear_layer();
9383   static const int kLayerFieldNumber = 2;
9384   const ::std::string& layer() const;
9385   void set_layer(const ::std::string& value);
9386   void set_layer(const char* value);
9387   void set_layer(const char* value, size_t size);
9388   ::std::string* mutable_layer();
9389   ::std::string* release_layer();
9390   void set_allocated_layer(::std::string* layer);
9391
9392   // optional string param_str = 3 [default = ""];
9393   bool has_param_str() const;
9394   void clear_param_str();
9395   static const int kParamStrFieldNumber = 3;
9396   const ::std::string& param_str() const;
9397   void set_param_str(const ::std::string& value);
9398   void set_param_str(const char* value);
9399   void set_param_str(const char* value, size_t size);
9400   ::std::string* mutable_param_str();
9401   ::std::string* release_param_str();
9402   void set_allocated_param_str(::std::string* param_str);
9403
9404   // optional bool share_in_parallel = 4 [default = false];
9405   bool has_share_in_parallel() const;
9406   void clear_share_in_parallel();
9407   static const int kShareInParallelFieldNumber = 4;
9408   bool share_in_parallel() const;
9409   void set_share_in_parallel(bool value);
9410
9411   // @@protoc_insertion_point(class_scope:opencv_caffe.PythonParameter)
9412  private:
9413   inline void set_has_module();
9414   inline void clear_has_module();
9415   inline void set_has_layer();
9416   inline void clear_has_layer();
9417   inline void set_has_param_str();
9418   inline void clear_has_param_str();
9419   inline void set_has_share_in_parallel();
9420   inline void clear_has_share_in_parallel();
9421
9422   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9423   ::google::protobuf::internal::HasBits<1> _has_bits_;
9424   mutable int _cached_size_;
9425   ::google::protobuf::internal::ArenaStringPtr module_;
9426   ::google::protobuf::internal::ArenaStringPtr layer_;
9427   ::google::protobuf::internal::ArenaStringPtr param_str_;
9428   bool share_in_parallel_;
9429   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9430   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9431   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9432   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9433
9434   void InitAsDefaultInstance();
9435 };
9436 extern ::google::protobuf::internal::ExplicitlyConstructed<PythonParameter> PythonParameter_default_instance_;
9437
9438 // -------------------------------------------------------------------
9439
9440 class RecurrentParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.RecurrentParameter) */ {
9441  public:
9442   RecurrentParameter();
9443   virtual ~RecurrentParameter();
9444
9445   RecurrentParameter(const RecurrentParameter& from);
9446
9447   inline RecurrentParameter& operator=(const RecurrentParameter& from) {
9448     CopyFrom(from);
9449     return *this;
9450   }
9451
9452   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9453     return _internal_metadata_.unknown_fields();
9454   }
9455
9456   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9457     return _internal_metadata_.mutable_unknown_fields();
9458   }
9459
9460   static const ::google::protobuf::Descriptor* descriptor();
9461   static const RecurrentParameter& default_instance();
9462
9463   static const RecurrentParameter* internal_default_instance();
9464
9465   void Swap(RecurrentParameter* other);
9466
9467   // implements Message ----------------------------------------------
9468
9469   inline RecurrentParameter* New() const { return New(NULL); }
9470
9471   RecurrentParameter* New(::google::protobuf::Arena* arena) const;
9472   void CopyFrom(const ::google::protobuf::Message& from);
9473   void MergeFrom(const ::google::protobuf::Message& from);
9474   void CopyFrom(const RecurrentParameter& from);
9475   void MergeFrom(const RecurrentParameter& from);
9476   void Clear();
9477   bool IsInitialized() const;
9478
9479   size_t ByteSizeLong() const;
9480   bool MergePartialFromCodedStream(
9481       ::google::protobuf::io::CodedInputStream* input);
9482   void SerializeWithCachedSizes(
9483       ::google::protobuf::io::CodedOutputStream* output) const;
9484   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9485       bool deterministic, ::google::protobuf::uint8* output) const;
9486   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9487     return InternalSerializeWithCachedSizesToArray(false, output);
9488   }
9489   int GetCachedSize() const { return _cached_size_; }
9490   private:
9491   void SharedCtor();
9492   void SharedDtor();
9493   void SetCachedSize(int size) const;
9494   void InternalSwap(RecurrentParameter* other);
9495   void UnsafeMergeFrom(const RecurrentParameter& from);
9496   private:
9497   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9498     return _internal_metadata_.arena();
9499   }
9500   inline void* MaybeArenaPtr() const {
9501     return _internal_metadata_.raw_arena_ptr();
9502   }
9503   public:
9504
9505   ::google::protobuf::Metadata GetMetadata() const;
9506
9507   // nested types ----------------------------------------------------
9508
9509   // accessors -------------------------------------------------------
9510
9511   // optional uint32 num_output = 1 [default = 0];
9512   bool has_num_output() const;
9513   void clear_num_output();
9514   static const int kNumOutputFieldNumber = 1;
9515   ::google::protobuf::uint32 num_output() const;
9516   void set_num_output(::google::protobuf::uint32 value);
9517
9518   // optional .opencv_caffe.FillerParameter weight_filler = 2;
9519   bool has_weight_filler() const;
9520   void clear_weight_filler();
9521   static const int kWeightFillerFieldNumber = 2;
9522   const ::opencv_caffe::FillerParameter& weight_filler() const;
9523   ::opencv_caffe::FillerParameter* mutable_weight_filler();
9524   ::opencv_caffe::FillerParameter* release_weight_filler();
9525   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
9526
9527   // optional .opencv_caffe.FillerParameter bias_filler = 3;
9528   bool has_bias_filler() const;
9529   void clear_bias_filler();
9530   static const int kBiasFillerFieldNumber = 3;
9531   const ::opencv_caffe::FillerParameter& bias_filler() const;
9532   ::opencv_caffe::FillerParameter* mutable_bias_filler();
9533   ::opencv_caffe::FillerParameter* release_bias_filler();
9534   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
9535
9536   // optional bool debug_info = 4 [default = false];
9537   bool has_debug_info() const;
9538   void clear_debug_info();
9539   static const int kDebugInfoFieldNumber = 4;
9540   bool debug_info() const;
9541   void set_debug_info(bool value);
9542
9543   // optional bool expose_hidden = 5 [default = false];
9544   bool has_expose_hidden() const;
9545   void clear_expose_hidden();
9546   static const int kExposeHiddenFieldNumber = 5;
9547   bool expose_hidden() const;
9548   void set_expose_hidden(bool value);
9549
9550   // @@protoc_insertion_point(class_scope:opencv_caffe.RecurrentParameter)
9551  private:
9552   inline void set_has_num_output();
9553   inline void clear_has_num_output();
9554   inline void set_has_weight_filler();
9555   inline void clear_has_weight_filler();
9556   inline void set_has_bias_filler();
9557   inline void clear_has_bias_filler();
9558   inline void set_has_debug_info();
9559   inline void clear_has_debug_info();
9560   inline void set_has_expose_hidden();
9561   inline void clear_has_expose_hidden();
9562
9563   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9564   ::google::protobuf::internal::HasBits<1> _has_bits_;
9565   mutable int _cached_size_;
9566   ::opencv_caffe::FillerParameter* weight_filler_;
9567   ::opencv_caffe::FillerParameter* bias_filler_;
9568   ::google::protobuf::uint32 num_output_;
9569   bool debug_info_;
9570   bool expose_hidden_;
9571   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9572   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9573   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9574   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9575
9576   void InitAsDefaultInstance();
9577 };
9578 extern ::google::protobuf::internal::ExplicitlyConstructed<RecurrentParameter> RecurrentParameter_default_instance_;
9579
9580 // -------------------------------------------------------------------
9581
9582 class ReductionParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ReductionParameter) */ {
9583  public:
9584   ReductionParameter();
9585   virtual ~ReductionParameter();
9586
9587   ReductionParameter(const ReductionParameter& from);
9588
9589   inline ReductionParameter& operator=(const ReductionParameter& from) {
9590     CopyFrom(from);
9591     return *this;
9592   }
9593
9594   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9595     return _internal_metadata_.unknown_fields();
9596   }
9597
9598   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9599     return _internal_metadata_.mutable_unknown_fields();
9600   }
9601
9602   static const ::google::protobuf::Descriptor* descriptor();
9603   static const ReductionParameter& default_instance();
9604
9605   static const ReductionParameter* internal_default_instance();
9606
9607   void Swap(ReductionParameter* other);
9608
9609   // implements Message ----------------------------------------------
9610
9611   inline ReductionParameter* New() const { return New(NULL); }
9612
9613   ReductionParameter* New(::google::protobuf::Arena* arena) const;
9614   void CopyFrom(const ::google::protobuf::Message& from);
9615   void MergeFrom(const ::google::protobuf::Message& from);
9616   void CopyFrom(const ReductionParameter& from);
9617   void MergeFrom(const ReductionParameter& from);
9618   void Clear();
9619   bool IsInitialized() const;
9620
9621   size_t ByteSizeLong() const;
9622   bool MergePartialFromCodedStream(
9623       ::google::protobuf::io::CodedInputStream* input);
9624   void SerializeWithCachedSizes(
9625       ::google::protobuf::io::CodedOutputStream* output) const;
9626   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9627       bool deterministic, ::google::protobuf::uint8* output) const;
9628   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9629     return InternalSerializeWithCachedSizesToArray(false, output);
9630   }
9631   int GetCachedSize() const { return _cached_size_; }
9632   private:
9633   void SharedCtor();
9634   void SharedDtor();
9635   void SetCachedSize(int size) const;
9636   void InternalSwap(ReductionParameter* other);
9637   void UnsafeMergeFrom(const ReductionParameter& from);
9638   private:
9639   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9640     return _internal_metadata_.arena();
9641   }
9642   inline void* MaybeArenaPtr() const {
9643     return _internal_metadata_.raw_arena_ptr();
9644   }
9645   public:
9646
9647   ::google::protobuf::Metadata GetMetadata() const;
9648
9649   // nested types ----------------------------------------------------
9650
9651   typedef ReductionParameter_ReductionOp ReductionOp;
9652   static const ReductionOp SUM =
9653     ReductionParameter_ReductionOp_SUM;
9654   static const ReductionOp ASUM =
9655     ReductionParameter_ReductionOp_ASUM;
9656   static const ReductionOp SUMSQ =
9657     ReductionParameter_ReductionOp_SUMSQ;
9658   static const ReductionOp MEAN =
9659     ReductionParameter_ReductionOp_MEAN;
9660   static inline bool ReductionOp_IsValid(int value) {
9661     return ReductionParameter_ReductionOp_IsValid(value);
9662   }
9663   static const ReductionOp ReductionOp_MIN =
9664     ReductionParameter_ReductionOp_ReductionOp_MIN;
9665   static const ReductionOp ReductionOp_MAX =
9666     ReductionParameter_ReductionOp_ReductionOp_MAX;
9667   static const int ReductionOp_ARRAYSIZE =
9668     ReductionParameter_ReductionOp_ReductionOp_ARRAYSIZE;
9669   static inline const ::google::protobuf::EnumDescriptor*
9670   ReductionOp_descriptor() {
9671     return ReductionParameter_ReductionOp_descriptor();
9672   }
9673   static inline const ::std::string& ReductionOp_Name(ReductionOp value) {
9674     return ReductionParameter_ReductionOp_Name(value);
9675   }
9676   static inline bool ReductionOp_Parse(const ::std::string& name,
9677       ReductionOp* value) {
9678     return ReductionParameter_ReductionOp_Parse(name, value);
9679   }
9680
9681   // accessors -------------------------------------------------------
9682
9683   // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
9684   bool has_operation() const;
9685   void clear_operation();
9686   static const int kOperationFieldNumber = 1;
9687   ::opencv_caffe::ReductionParameter_ReductionOp operation() const;
9688   void set_operation(::opencv_caffe::ReductionParameter_ReductionOp value);
9689
9690   // optional int32 axis = 2 [default = 0];
9691   bool has_axis() const;
9692   void clear_axis();
9693   static const int kAxisFieldNumber = 2;
9694   ::google::protobuf::int32 axis() const;
9695   void set_axis(::google::protobuf::int32 value);
9696
9697   // optional float coeff = 3 [default = 1];
9698   bool has_coeff() const;
9699   void clear_coeff();
9700   static const int kCoeffFieldNumber = 3;
9701   float coeff() const;
9702   void set_coeff(float value);
9703
9704   // @@protoc_insertion_point(class_scope:opencv_caffe.ReductionParameter)
9705  private:
9706   inline void set_has_operation();
9707   inline void clear_has_operation();
9708   inline void set_has_axis();
9709   inline void clear_has_axis();
9710   inline void set_has_coeff();
9711   inline void clear_has_coeff();
9712
9713   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9714   ::google::protobuf::internal::HasBits<1> _has_bits_;
9715   mutable int _cached_size_;
9716   ::google::protobuf::int32 axis_;
9717   int operation_;
9718   float coeff_;
9719   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9720   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9721   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9722   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9723
9724   void InitAsDefaultInstance();
9725 };
9726 extern ::google::protobuf::internal::ExplicitlyConstructed<ReductionParameter> ReductionParameter_default_instance_;
9727
9728 // -------------------------------------------------------------------
9729
9730 class ReLUParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ReLUParameter) */ {
9731  public:
9732   ReLUParameter();
9733   virtual ~ReLUParameter();
9734
9735   ReLUParameter(const ReLUParameter& from);
9736
9737   inline ReLUParameter& operator=(const ReLUParameter& from) {
9738     CopyFrom(from);
9739     return *this;
9740   }
9741
9742   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9743     return _internal_metadata_.unknown_fields();
9744   }
9745
9746   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9747     return _internal_metadata_.mutable_unknown_fields();
9748   }
9749
9750   static const ::google::protobuf::Descriptor* descriptor();
9751   static const ReLUParameter& default_instance();
9752
9753   static const ReLUParameter* internal_default_instance();
9754
9755   void Swap(ReLUParameter* other);
9756
9757   // implements Message ----------------------------------------------
9758
9759   inline ReLUParameter* New() const { return New(NULL); }
9760
9761   ReLUParameter* New(::google::protobuf::Arena* arena) const;
9762   void CopyFrom(const ::google::protobuf::Message& from);
9763   void MergeFrom(const ::google::protobuf::Message& from);
9764   void CopyFrom(const ReLUParameter& from);
9765   void MergeFrom(const ReLUParameter& from);
9766   void Clear();
9767   bool IsInitialized() const;
9768
9769   size_t ByteSizeLong() const;
9770   bool MergePartialFromCodedStream(
9771       ::google::protobuf::io::CodedInputStream* input);
9772   void SerializeWithCachedSizes(
9773       ::google::protobuf::io::CodedOutputStream* output) const;
9774   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9775       bool deterministic, ::google::protobuf::uint8* output) const;
9776   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9777     return InternalSerializeWithCachedSizesToArray(false, output);
9778   }
9779   int GetCachedSize() const { return _cached_size_; }
9780   private:
9781   void SharedCtor();
9782   void SharedDtor();
9783   void SetCachedSize(int size) const;
9784   void InternalSwap(ReLUParameter* other);
9785   void UnsafeMergeFrom(const ReLUParameter& from);
9786   private:
9787   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9788     return _internal_metadata_.arena();
9789   }
9790   inline void* MaybeArenaPtr() const {
9791     return _internal_metadata_.raw_arena_ptr();
9792   }
9793   public:
9794
9795   ::google::protobuf::Metadata GetMetadata() const;
9796
9797   // nested types ----------------------------------------------------
9798
9799   typedef ReLUParameter_Engine Engine;
9800   static const Engine DEFAULT =
9801     ReLUParameter_Engine_DEFAULT;
9802   static const Engine CAFFE =
9803     ReLUParameter_Engine_CAFFE;
9804   static const Engine CUDNN =
9805     ReLUParameter_Engine_CUDNN;
9806   static inline bool Engine_IsValid(int value) {
9807     return ReLUParameter_Engine_IsValid(value);
9808   }
9809   static const Engine Engine_MIN =
9810     ReLUParameter_Engine_Engine_MIN;
9811   static const Engine Engine_MAX =
9812     ReLUParameter_Engine_Engine_MAX;
9813   static const int Engine_ARRAYSIZE =
9814     ReLUParameter_Engine_Engine_ARRAYSIZE;
9815   static inline const ::google::protobuf::EnumDescriptor*
9816   Engine_descriptor() {
9817     return ReLUParameter_Engine_descriptor();
9818   }
9819   static inline const ::std::string& Engine_Name(Engine value) {
9820     return ReLUParameter_Engine_Name(value);
9821   }
9822   static inline bool Engine_Parse(const ::std::string& name,
9823       Engine* value) {
9824     return ReLUParameter_Engine_Parse(name, value);
9825   }
9826
9827   // accessors -------------------------------------------------------
9828
9829   // optional float negative_slope = 1 [default = 0];
9830   bool has_negative_slope() const;
9831   void clear_negative_slope();
9832   static const int kNegativeSlopeFieldNumber = 1;
9833   float negative_slope() const;
9834   void set_negative_slope(float value);
9835
9836   // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
9837   bool has_engine() const;
9838   void clear_engine();
9839   static const int kEngineFieldNumber = 2;
9840   ::opencv_caffe::ReLUParameter_Engine engine() const;
9841   void set_engine(::opencv_caffe::ReLUParameter_Engine value);
9842
9843   // @@protoc_insertion_point(class_scope:opencv_caffe.ReLUParameter)
9844  private:
9845   inline void set_has_negative_slope();
9846   inline void clear_has_negative_slope();
9847   inline void set_has_engine();
9848   inline void clear_has_engine();
9849
9850   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9851   ::google::protobuf::internal::HasBits<1> _has_bits_;
9852   mutable int _cached_size_;
9853   float negative_slope_;
9854   int engine_;
9855   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9856   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9857   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9858   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9859
9860   void InitAsDefaultInstance();
9861 };
9862 extern ::google::protobuf::internal::ExplicitlyConstructed<ReLUParameter> ReLUParameter_default_instance_;
9863
9864 // -------------------------------------------------------------------
9865
9866 class ReshapeParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ReshapeParameter) */ {
9867  public:
9868   ReshapeParameter();
9869   virtual ~ReshapeParameter();
9870
9871   ReshapeParameter(const ReshapeParameter& from);
9872
9873   inline ReshapeParameter& operator=(const ReshapeParameter& from) {
9874     CopyFrom(from);
9875     return *this;
9876   }
9877
9878   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9879     return _internal_metadata_.unknown_fields();
9880   }
9881
9882   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
9883     return _internal_metadata_.mutable_unknown_fields();
9884   }
9885
9886   static const ::google::protobuf::Descriptor* descriptor();
9887   static const ReshapeParameter& default_instance();
9888
9889   static const ReshapeParameter* internal_default_instance();
9890
9891   void Swap(ReshapeParameter* other);
9892
9893   // implements Message ----------------------------------------------
9894
9895   inline ReshapeParameter* New() const { return New(NULL); }
9896
9897   ReshapeParameter* New(::google::protobuf::Arena* arena) const;
9898   void CopyFrom(const ::google::protobuf::Message& from);
9899   void MergeFrom(const ::google::protobuf::Message& from);
9900   void CopyFrom(const ReshapeParameter& from);
9901   void MergeFrom(const ReshapeParameter& from);
9902   void Clear();
9903   bool IsInitialized() const;
9904
9905   size_t ByteSizeLong() const;
9906   bool MergePartialFromCodedStream(
9907       ::google::protobuf::io::CodedInputStream* input);
9908   void SerializeWithCachedSizes(
9909       ::google::protobuf::io::CodedOutputStream* output) const;
9910   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
9911       bool deterministic, ::google::protobuf::uint8* output) const;
9912   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
9913     return InternalSerializeWithCachedSizesToArray(false, output);
9914   }
9915   int GetCachedSize() const { return _cached_size_; }
9916   private:
9917   void SharedCtor();
9918   void SharedDtor();
9919   void SetCachedSize(int size) const;
9920   void InternalSwap(ReshapeParameter* other);
9921   void UnsafeMergeFrom(const ReshapeParameter& from);
9922   private:
9923   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
9924     return _internal_metadata_.arena();
9925   }
9926   inline void* MaybeArenaPtr() const {
9927     return _internal_metadata_.raw_arena_ptr();
9928   }
9929   public:
9930
9931   ::google::protobuf::Metadata GetMetadata() const;
9932
9933   // nested types ----------------------------------------------------
9934
9935   // accessors -------------------------------------------------------
9936
9937   // optional .opencv_caffe.BlobShape shape = 1;
9938   bool has_shape() const;
9939   void clear_shape();
9940   static const int kShapeFieldNumber = 1;
9941   const ::opencv_caffe::BlobShape& shape() const;
9942   ::opencv_caffe::BlobShape* mutable_shape();
9943   ::opencv_caffe::BlobShape* release_shape();
9944   void set_allocated_shape(::opencv_caffe::BlobShape* shape);
9945
9946   // optional int32 axis = 2 [default = 0];
9947   bool has_axis() const;
9948   void clear_axis();
9949   static const int kAxisFieldNumber = 2;
9950   ::google::protobuf::int32 axis() const;
9951   void set_axis(::google::protobuf::int32 value);
9952
9953   // optional int32 num_axes = 3 [default = -1];
9954   bool has_num_axes() const;
9955   void clear_num_axes();
9956   static const int kNumAxesFieldNumber = 3;
9957   ::google::protobuf::int32 num_axes() const;
9958   void set_num_axes(::google::protobuf::int32 value);
9959
9960   // @@protoc_insertion_point(class_scope:opencv_caffe.ReshapeParameter)
9961  private:
9962   inline void set_has_shape();
9963   inline void clear_has_shape();
9964   inline void set_has_axis();
9965   inline void clear_has_axis();
9966   inline void set_has_num_axes();
9967   inline void clear_has_num_axes();
9968
9969   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
9970   ::google::protobuf::internal::HasBits<1> _has_bits_;
9971   mutable int _cached_size_;
9972   ::opencv_caffe::BlobShape* shape_;
9973   ::google::protobuf::int32 axis_;
9974   ::google::protobuf::int32 num_axes_;
9975   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
9976   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
9977   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
9978   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
9979
9980   void InitAsDefaultInstance();
9981 };
9982 extern ::google::protobuf::internal::ExplicitlyConstructed<ReshapeParameter> ReshapeParameter_default_instance_;
9983
9984 // -------------------------------------------------------------------
9985
9986 class ScaleParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ScaleParameter) */ {
9987  public:
9988   ScaleParameter();
9989   virtual ~ScaleParameter();
9990
9991   ScaleParameter(const ScaleParameter& from);
9992
9993   inline ScaleParameter& operator=(const ScaleParameter& from) {
9994     CopyFrom(from);
9995     return *this;
9996   }
9997
9998   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
9999     return _internal_metadata_.unknown_fields();
10000   }
10001
10002   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10003     return _internal_metadata_.mutable_unknown_fields();
10004   }
10005
10006   static const ::google::protobuf::Descriptor* descriptor();
10007   static const ScaleParameter& default_instance();
10008
10009   static const ScaleParameter* internal_default_instance();
10010
10011   void Swap(ScaleParameter* other);
10012
10013   // implements Message ----------------------------------------------
10014
10015   inline ScaleParameter* New() const { return New(NULL); }
10016
10017   ScaleParameter* New(::google::protobuf::Arena* arena) const;
10018   void CopyFrom(const ::google::protobuf::Message& from);
10019   void MergeFrom(const ::google::protobuf::Message& from);
10020   void CopyFrom(const ScaleParameter& from);
10021   void MergeFrom(const ScaleParameter& from);
10022   void Clear();
10023   bool IsInitialized() const;
10024
10025   size_t ByteSizeLong() const;
10026   bool MergePartialFromCodedStream(
10027       ::google::protobuf::io::CodedInputStream* input);
10028   void SerializeWithCachedSizes(
10029       ::google::protobuf::io::CodedOutputStream* output) const;
10030   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10031       bool deterministic, ::google::protobuf::uint8* output) const;
10032   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10033     return InternalSerializeWithCachedSizesToArray(false, output);
10034   }
10035   int GetCachedSize() const { return _cached_size_; }
10036   private:
10037   void SharedCtor();
10038   void SharedDtor();
10039   void SetCachedSize(int size) const;
10040   void InternalSwap(ScaleParameter* other);
10041   void UnsafeMergeFrom(const ScaleParameter& from);
10042   private:
10043   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10044     return _internal_metadata_.arena();
10045   }
10046   inline void* MaybeArenaPtr() const {
10047     return _internal_metadata_.raw_arena_ptr();
10048   }
10049   public:
10050
10051   ::google::protobuf::Metadata GetMetadata() const;
10052
10053   // nested types ----------------------------------------------------
10054
10055   // accessors -------------------------------------------------------
10056
10057   // optional int32 axis = 1 [default = 1];
10058   bool has_axis() const;
10059   void clear_axis();
10060   static const int kAxisFieldNumber = 1;
10061   ::google::protobuf::int32 axis() const;
10062   void set_axis(::google::protobuf::int32 value);
10063
10064   // optional int32 num_axes = 2 [default = 1];
10065   bool has_num_axes() const;
10066   void clear_num_axes();
10067   static const int kNumAxesFieldNumber = 2;
10068   ::google::protobuf::int32 num_axes() const;
10069   void set_num_axes(::google::protobuf::int32 value);
10070
10071   // optional .opencv_caffe.FillerParameter filler = 3;
10072   bool has_filler() const;
10073   void clear_filler();
10074   static const int kFillerFieldNumber = 3;
10075   const ::opencv_caffe::FillerParameter& filler() const;
10076   ::opencv_caffe::FillerParameter* mutable_filler();
10077   ::opencv_caffe::FillerParameter* release_filler();
10078   void set_allocated_filler(::opencv_caffe::FillerParameter* filler);
10079
10080   // optional bool bias_term = 4 [default = false];
10081   bool has_bias_term() const;
10082   void clear_bias_term();
10083   static const int kBiasTermFieldNumber = 4;
10084   bool bias_term() const;
10085   void set_bias_term(bool value);
10086
10087   // optional .opencv_caffe.FillerParameter bias_filler = 5;
10088   bool has_bias_filler() const;
10089   void clear_bias_filler();
10090   static const int kBiasFillerFieldNumber = 5;
10091   const ::opencv_caffe::FillerParameter& bias_filler() const;
10092   ::opencv_caffe::FillerParameter* mutable_bias_filler();
10093   ::opencv_caffe::FillerParameter* release_bias_filler();
10094   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
10095
10096   // @@protoc_insertion_point(class_scope:opencv_caffe.ScaleParameter)
10097  private:
10098   inline void set_has_axis();
10099   inline void clear_has_axis();
10100   inline void set_has_num_axes();
10101   inline void clear_has_num_axes();
10102   inline void set_has_filler();
10103   inline void clear_has_filler();
10104   inline void set_has_bias_term();
10105   inline void clear_has_bias_term();
10106   inline void set_has_bias_filler();
10107   inline void clear_has_bias_filler();
10108
10109   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10110   ::google::protobuf::internal::HasBits<1> _has_bits_;
10111   mutable int _cached_size_;
10112   ::opencv_caffe::FillerParameter* filler_;
10113   ::opencv_caffe::FillerParameter* bias_filler_;
10114   bool bias_term_;
10115   ::google::protobuf::int32 axis_;
10116   ::google::protobuf::int32 num_axes_;
10117   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10118   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10119   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10120   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10121
10122   void InitAsDefaultInstance();
10123 };
10124 extern ::google::protobuf::internal::ExplicitlyConstructed<ScaleParameter> ScaleParameter_default_instance_;
10125
10126 // -------------------------------------------------------------------
10127
10128 class SigmoidParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SigmoidParameter) */ {
10129  public:
10130   SigmoidParameter();
10131   virtual ~SigmoidParameter();
10132
10133   SigmoidParameter(const SigmoidParameter& from);
10134
10135   inline SigmoidParameter& operator=(const SigmoidParameter& from) {
10136     CopyFrom(from);
10137     return *this;
10138   }
10139
10140   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10141     return _internal_metadata_.unknown_fields();
10142   }
10143
10144   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10145     return _internal_metadata_.mutable_unknown_fields();
10146   }
10147
10148   static const ::google::protobuf::Descriptor* descriptor();
10149   static const SigmoidParameter& default_instance();
10150
10151   static const SigmoidParameter* internal_default_instance();
10152
10153   void Swap(SigmoidParameter* other);
10154
10155   // implements Message ----------------------------------------------
10156
10157   inline SigmoidParameter* New() const { return New(NULL); }
10158
10159   SigmoidParameter* New(::google::protobuf::Arena* arena) const;
10160   void CopyFrom(const ::google::protobuf::Message& from);
10161   void MergeFrom(const ::google::protobuf::Message& from);
10162   void CopyFrom(const SigmoidParameter& from);
10163   void MergeFrom(const SigmoidParameter& from);
10164   void Clear();
10165   bool IsInitialized() const;
10166
10167   size_t ByteSizeLong() const;
10168   bool MergePartialFromCodedStream(
10169       ::google::protobuf::io::CodedInputStream* input);
10170   void SerializeWithCachedSizes(
10171       ::google::protobuf::io::CodedOutputStream* output) const;
10172   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10173       bool deterministic, ::google::protobuf::uint8* output) const;
10174   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10175     return InternalSerializeWithCachedSizesToArray(false, output);
10176   }
10177   int GetCachedSize() const { return _cached_size_; }
10178   private:
10179   void SharedCtor();
10180   void SharedDtor();
10181   void SetCachedSize(int size) const;
10182   void InternalSwap(SigmoidParameter* other);
10183   void UnsafeMergeFrom(const SigmoidParameter& from);
10184   private:
10185   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10186     return _internal_metadata_.arena();
10187   }
10188   inline void* MaybeArenaPtr() const {
10189     return _internal_metadata_.raw_arena_ptr();
10190   }
10191   public:
10192
10193   ::google::protobuf::Metadata GetMetadata() const;
10194
10195   // nested types ----------------------------------------------------
10196
10197   typedef SigmoidParameter_Engine Engine;
10198   static const Engine DEFAULT =
10199     SigmoidParameter_Engine_DEFAULT;
10200   static const Engine CAFFE =
10201     SigmoidParameter_Engine_CAFFE;
10202   static const Engine CUDNN =
10203     SigmoidParameter_Engine_CUDNN;
10204   static inline bool Engine_IsValid(int value) {
10205     return SigmoidParameter_Engine_IsValid(value);
10206   }
10207   static const Engine Engine_MIN =
10208     SigmoidParameter_Engine_Engine_MIN;
10209   static const Engine Engine_MAX =
10210     SigmoidParameter_Engine_Engine_MAX;
10211   static const int Engine_ARRAYSIZE =
10212     SigmoidParameter_Engine_Engine_ARRAYSIZE;
10213   static inline const ::google::protobuf::EnumDescriptor*
10214   Engine_descriptor() {
10215     return SigmoidParameter_Engine_descriptor();
10216   }
10217   static inline const ::std::string& Engine_Name(Engine value) {
10218     return SigmoidParameter_Engine_Name(value);
10219   }
10220   static inline bool Engine_Parse(const ::std::string& name,
10221       Engine* value) {
10222     return SigmoidParameter_Engine_Parse(name, value);
10223   }
10224
10225   // accessors -------------------------------------------------------
10226
10227   // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
10228   bool has_engine() const;
10229   void clear_engine();
10230   static const int kEngineFieldNumber = 1;
10231   ::opencv_caffe::SigmoidParameter_Engine engine() const;
10232   void set_engine(::opencv_caffe::SigmoidParameter_Engine value);
10233
10234   // @@protoc_insertion_point(class_scope:opencv_caffe.SigmoidParameter)
10235  private:
10236   inline void set_has_engine();
10237   inline void clear_has_engine();
10238
10239   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10240   ::google::protobuf::internal::HasBits<1> _has_bits_;
10241   mutable int _cached_size_;
10242   int engine_;
10243   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10244   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10245   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10246   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10247
10248   void InitAsDefaultInstance();
10249 };
10250 extern ::google::protobuf::internal::ExplicitlyConstructed<SigmoidParameter> SigmoidParameter_default_instance_;
10251
10252 // -------------------------------------------------------------------
10253
10254 class SliceParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SliceParameter) */ {
10255  public:
10256   SliceParameter();
10257   virtual ~SliceParameter();
10258
10259   SliceParameter(const SliceParameter& from);
10260
10261   inline SliceParameter& operator=(const SliceParameter& from) {
10262     CopyFrom(from);
10263     return *this;
10264   }
10265
10266   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10267     return _internal_metadata_.unknown_fields();
10268   }
10269
10270   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10271     return _internal_metadata_.mutable_unknown_fields();
10272   }
10273
10274   static const ::google::protobuf::Descriptor* descriptor();
10275   static const SliceParameter& default_instance();
10276
10277   static const SliceParameter* internal_default_instance();
10278
10279   void Swap(SliceParameter* other);
10280
10281   // implements Message ----------------------------------------------
10282
10283   inline SliceParameter* New() const { return New(NULL); }
10284
10285   SliceParameter* New(::google::protobuf::Arena* arena) const;
10286   void CopyFrom(const ::google::protobuf::Message& from);
10287   void MergeFrom(const ::google::protobuf::Message& from);
10288   void CopyFrom(const SliceParameter& from);
10289   void MergeFrom(const SliceParameter& from);
10290   void Clear();
10291   bool IsInitialized() const;
10292
10293   size_t ByteSizeLong() const;
10294   bool MergePartialFromCodedStream(
10295       ::google::protobuf::io::CodedInputStream* input);
10296   void SerializeWithCachedSizes(
10297       ::google::protobuf::io::CodedOutputStream* output) const;
10298   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10299       bool deterministic, ::google::protobuf::uint8* output) const;
10300   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10301     return InternalSerializeWithCachedSizesToArray(false, output);
10302   }
10303   int GetCachedSize() const { return _cached_size_; }
10304   private:
10305   void SharedCtor();
10306   void SharedDtor();
10307   void SetCachedSize(int size) const;
10308   void InternalSwap(SliceParameter* other);
10309   void UnsafeMergeFrom(const SliceParameter& from);
10310   private:
10311   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10312     return _internal_metadata_.arena();
10313   }
10314   inline void* MaybeArenaPtr() const {
10315     return _internal_metadata_.raw_arena_ptr();
10316   }
10317   public:
10318
10319   ::google::protobuf::Metadata GetMetadata() const;
10320
10321   // nested types ----------------------------------------------------
10322
10323   // accessors -------------------------------------------------------
10324
10325   // optional int32 axis = 3 [default = 1];
10326   bool has_axis() const;
10327   void clear_axis();
10328   static const int kAxisFieldNumber = 3;
10329   ::google::protobuf::int32 axis() const;
10330   void set_axis(::google::protobuf::int32 value);
10331
10332   // repeated uint32 slice_point = 2;
10333   int slice_point_size() const;
10334   void clear_slice_point();
10335   static const int kSlicePointFieldNumber = 2;
10336   ::google::protobuf::uint32 slice_point(int index) const;
10337   void set_slice_point(int index, ::google::protobuf::uint32 value);
10338   void add_slice_point(::google::protobuf::uint32 value);
10339   const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
10340       slice_point() const;
10341   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
10342       mutable_slice_point();
10343
10344   // optional uint32 slice_dim = 1 [default = 1];
10345   bool has_slice_dim() const;
10346   void clear_slice_dim();
10347   static const int kSliceDimFieldNumber = 1;
10348   ::google::protobuf::uint32 slice_dim() const;
10349   void set_slice_dim(::google::protobuf::uint32 value);
10350
10351   // @@protoc_insertion_point(class_scope:opencv_caffe.SliceParameter)
10352  private:
10353   inline void set_has_axis();
10354   inline void clear_has_axis();
10355   inline void set_has_slice_dim();
10356   inline void clear_has_slice_dim();
10357
10358   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10359   ::google::protobuf::internal::HasBits<1> _has_bits_;
10360   mutable int _cached_size_;
10361   ::google::protobuf::RepeatedField< ::google::protobuf::uint32 > slice_point_;
10362   ::google::protobuf::int32 axis_;
10363   ::google::protobuf::uint32 slice_dim_;
10364   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10365   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10366   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10367   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10368
10369   void InitAsDefaultInstance();
10370 };
10371 extern ::google::protobuf::internal::ExplicitlyConstructed<SliceParameter> SliceParameter_default_instance_;
10372
10373 // -------------------------------------------------------------------
10374
10375 class SoftmaxParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SoftmaxParameter) */ {
10376  public:
10377   SoftmaxParameter();
10378   virtual ~SoftmaxParameter();
10379
10380   SoftmaxParameter(const SoftmaxParameter& from);
10381
10382   inline SoftmaxParameter& operator=(const SoftmaxParameter& from) {
10383     CopyFrom(from);
10384     return *this;
10385   }
10386
10387   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10388     return _internal_metadata_.unknown_fields();
10389   }
10390
10391   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10392     return _internal_metadata_.mutable_unknown_fields();
10393   }
10394
10395   static const ::google::protobuf::Descriptor* descriptor();
10396   static const SoftmaxParameter& default_instance();
10397
10398   static const SoftmaxParameter* internal_default_instance();
10399
10400   void Swap(SoftmaxParameter* other);
10401
10402   // implements Message ----------------------------------------------
10403
10404   inline SoftmaxParameter* New() const { return New(NULL); }
10405
10406   SoftmaxParameter* New(::google::protobuf::Arena* arena) const;
10407   void CopyFrom(const ::google::protobuf::Message& from);
10408   void MergeFrom(const ::google::protobuf::Message& from);
10409   void CopyFrom(const SoftmaxParameter& from);
10410   void MergeFrom(const SoftmaxParameter& from);
10411   void Clear();
10412   bool IsInitialized() const;
10413
10414   size_t ByteSizeLong() const;
10415   bool MergePartialFromCodedStream(
10416       ::google::protobuf::io::CodedInputStream* input);
10417   void SerializeWithCachedSizes(
10418       ::google::protobuf::io::CodedOutputStream* output) const;
10419   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10420       bool deterministic, ::google::protobuf::uint8* output) const;
10421   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10422     return InternalSerializeWithCachedSizesToArray(false, output);
10423   }
10424   int GetCachedSize() const { return _cached_size_; }
10425   private:
10426   void SharedCtor();
10427   void SharedDtor();
10428   void SetCachedSize(int size) const;
10429   void InternalSwap(SoftmaxParameter* other);
10430   void UnsafeMergeFrom(const SoftmaxParameter& from);
10431   private:
10432   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10433     return _internal_metadata_.arena();
10434   }
10435   inline void* MaybeArenaPtr() const {
10436     return _internal_metadata_.raw_arena_ptr();
10437   }
10438   public:
10439
10440   ::google::protobuf::Metadata GetMetadata() const;
10441
10442   // nested types ----------------------------------------------------
10443
10444   typedef SoftmaxParameter_Engine Engine;
10445   static const Engine DEFAULT =
10446     SoftmaxParameter_Engine_DEFAULT;
10447   static const Engine CAFFE =
10448     SoftmaxParameter_Engine_CAFFE;
10449   static const Engine CUDNN =
10450     SoftmaxParameter_Engine_CUDNN;
10451   static inline bool Engine_IsValid(int value) {
10452     return SoftmaxParameter_Engine_IsValid(value);
10453   }
10454   static const Engine Engine_MIN =
10455     SoftmaxParameter_Engine_Engine_MIN;
10456   static const Engine Engine_MAX =
10457     SoftmaxParameter_Engine_Engine_MAX;
10458   static const int Engine_ARRAYSIZE =
10459     SoftmaxParameter_Engine_Engine_ARRAYSIZE;
10460   static inline const ::google::protobuf::EnumDescriptor*
10461   Engine_descriptor() {
10462     return SoftmaxParameter_Engine_descriptor();
10463   }
10464   static inline const ::std::string& Engine_Name(Engine value) {
10465     return SoftmaxParameter_Engine_Name(value);
10466   }
10467   static inline bool Engine_Parse(const ::std::string& name,
10468       Engine* value) {
10469     return SoftmaxParameter_Engine_Parse(name, value);
10470   }
10471
10472   // accessors -------------------------------------------------------
10473
10474   // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
10475   bool has_engine() const;
10476   void clear_engine();
10477   static const int kEngineFieldNumber = 1;
10478   ::opencv_caffe::SoftmaxParameter_Engine engine() const;
10479   void set_engine(::opencv_caffe::SoftmaxParameter_Engine value);
10480
10481   // optional int32 axis = 2 [default = 1];
10482   bool has_axis() const;
10483   void clear_axis();
10484   static const int kAxisFieldNumber = 2;
10485   ::google::protobuf::int32 axis() const;
10486   void set_axis(::google::protobuf::int32 value);
10487
10488   // @@protoc_insertion_point(class_scope:opencv_caffe.SoftmaxParameter)
10489  private:
10490   inline void set_has_engine();
10491   inline void clear_has_engine();
10492   inline void set_has_axis();
10493   inline void clear_has_axis();
10494
10495   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10496   ::google::protobuf::internal::HasBits<1> _has_bits_;
10497   mutable int _cached_size_;
10498   int engine_;
10499   ::google::protobuf::int32 axis_;
10500   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10501   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10502   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10503   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10504
10505   void InitAsDefaultInstance();
10506 };
10507 extern ::google::protobuf::internal::ExplicitlyConstructed<SoftmaxParameter> SoftmaxParameter_default_instance_;
10508
10509 // -------------------------------------------------------------------
10510
10511 class TanHParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.TanHParameter) */ {
10512  public:
10513   TanHParameter();
10514   virtual ~TanHParameter();
10515
10516   TanHParameter(const TanHParameter& from);
10517
10518   inline TanHParameter& operator=(const TanHParameter& from) {
10519     CopyFrom(from);
10520     return *this;
10521   }
10522
10523   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10524     return _internal_metadata_.unknown_fields();
10525   }
10526
10527   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10528     return _internal_metadata_.mutable_unknown_fields();
10529   }
10530
10531   static const ::google::protobuf::Descriptor* descriptor();
10532   static const TanHParameter& default_instance();
10533
10534   static const TanHParameter* internal_default_instance();
10535
10536   void Swap(TanHParameter* other);
10537
10538   // implements Message ----------------------------------------------
10539
10540   inline TanHParameter* New() const { return New(NULL); }
10541
10542   TanHParameter* New(::google::protobuf::Arena* arena) const;
10543   void CopyFrom(const ::google::protobuf::Message& from);
10544   void MergeFrom(const ::google::protobuf::Message& from);
10545   void CopyFrom(const TanHParameter& from);
10546   void MergeFrom(const TanHParameter& from);
10547   void Clear();
10548   bool IsInitialized() const;
10549
10550   size_t ByteSizeLong() const;
10551   bool MergePartialFromCodedStream(
10552       ::google::protobuf::io::CodedInputStream* input);
10553   void SerializeWithCachedSizes(
10554       ::google::protobuf::io::CodedOutputStream* output) const;
10555   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10556       bool deterministic, ::google::protobuf::uint8* output) const;
10557   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10558     return InternalSerializeWithCachedSizesToArray(false, output);
10559   }
10560   int GetCachedSize() const { return _cached_size_; }
10561   private:
10562   void SharedCtor();
10563   void SharedDtor();
10564   void SetCachedSize(int size) const;
10565   void InternalSwap(TanHParameter* other);
10566   void UnsafeMergeFrom(const TanHParameter& from);
10567   private:
10568   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10569     return _internal_metadata_.arena();
10570   }
10571   inline void* MaybeArenaPtr() const {
10572     return _internal_metadata_.raw_arena_ptr();
10573   }
10574   public:
10575
10576   ::google::protobuf::Metadata GetMetadata() const;
10577
10578   // nested types ----------------------------------------------------
10579
10580   typedef TanHParameter_Engine Engine;
10581   static const Engine DEFAULT =
10582     TanHParameter_Engine_DEFAULT;
10583   static const Engine CAFFE =
10584     TanHParameter_Engine_CAFFE;
10585   static const Engine CUDNN =
10586     TanHParameter_Engine_CUDNN;
10587   static inline bool Engine_IsValid(int value) {
10588     return TanHParameter_Engine_IsValid(value);
10589   }
10590   static const Engine Engine_MIN =
10591     TanHParameter_Engine_Engine_MIN;
10592   static const Engine Engine_MAX =
10593     TanHParameter_Engine_Engine_MAX;
10594   static const int Engine_ARRAYSIZE =
10595     TanHParameter_Engine_Engine_ARRAYSIZE;
10596   static inline const ::google::protobuf::EnumDescriptor*
10597   Engine_descriptor() {
10598     return TanHParameter_Engine_descriptor();
10599   }
10600   static inline const ::std::string& Engine_Name(Engine value) {
10601     return TanHParameter_Engine_Name(value);
10602   }
10603   static inline bool Engine_Parse(const ::std::string& name,
10604       Engine* value) {
10605     return TanHParameter_Engine_Parse(name, value);
10606   }
10607
10608   // accessors -------------------------------------------------------
10609
10610   // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
10611   bool has_engine() const;
10612   void clear_engine();
10613   static const int kEngineFieldNumber = 1;
10614   ::opencv_caffe::TanHParameter_Engine engine() const;
10615   void set_engine(::opencv_caffe::TanHParameter_Engine value);
10616
10617   // @@protoc_insertion_point(class_scope:opencv_caffe.TanHParameter)
10618  private:
10619   inline void set_has_engine();
10620   inline void clear_has_engine();
10621
10622   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10623   ::google::protobuf::internal::HasBits<1> _has_bits_;
10624   mutable int _cached_size_;
10625   int engine_;
10626   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10627   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10628   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10629   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10630
10631   void InitAsDefaultInstance();
10632 };
10633 extern ::google::protobuf::internal::ExplicitlyConstructed<TanHParameter> TanHParameter_default_instance_;
10634
10635 // -------------------------------------------------------------------
10636
10637 class TileParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.TileParameter) */ {
10638  public:
10639   TileParameter();
10640   virtual ~TileParameter();
10641
10642   TileParameter(const TileParameter& from);
10643
10644   inline TileParameter& operator=(const TileParameter& from) {
10645     CopyFrom(from);
10646     return *this;
10647   }
10648
10649   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10650     return _internal_metadata_.unknown_fields();
10651   }
10652
10653   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10654     return _internal_metadata_.mutable_unknown_fields();
10655   }
10656
10657   static const ::google::protobuf::Descriptor* descriptor();
10658   static const TileParameter& default_instance();
10659
10660   static const TileParameter* internal_default_instance();
10661
10662   void Swap(TileParameter* other);
10663
10664   // implements Message ----------------------------------------------
10665
10666   inline TileParameter* New() const { return New(NULL); }
10667
10668   TileParameter* New(::google::protobuf::Arena* arena) const;
10669   void CopyFrom(const ::google::protobuf::Message& from);
10670   void MergeFrom(const ::google::protobuf::Message& from);
10671   void CopyFrom(const TileParameter& from);
10672   void MergeFrom(const TileParameter& from);
10673   void Clear();
10674   bool IsInitialized() const;
10675
10676   size_t ByteSizeLong() const;
10677   bool MergePartialFromCodedStream(
10678       ::google::protobuf::io::CodedInputStream* input);
10679   void SerializeWithCachedSizes(
10680       ::google::protobuf::io::CodedOutputStream* output) const;
10681   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10682       bool deterministic, ::google::protobuf::uint8* output) const;
10683   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10684     return InternalSerializeWithCachedSizesToArray(false, output);
10685   }
10686   int GetCachedSize() const { return _cached_size_; }
10687   private:
10688   void SharedCtor();
10689   void SharedDtor();
10690   void SetCachedSize(int size) const;
10691   void InternalSwap(TileParameter* other);
10692   void UnsafeMergeFrom(const TileParameter& from);
10693   private:
10694   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10695     return _internal_metadata_.arena();
10696   }
10697   inline void* MaybeArenaPtr() const {
10698     return _internal_metadata_.raw_arena_ptr();
10699   }
10700   public:
10701
10702   ::google::protobuf::Metadata GetMetadata() const;
10703
10704   // nested types ----------------------------------------------------
10705
10706   // accessors -------------------------------------------------------
10707
10708   // optional int32 axis = 1 [default = 1];
10709   bool has_axis() const;
10710   void clear_axis();
10711   static const int kAxisFieldNumber = 1;
10712   ::google::protobuf::int32 axis() const;
10713   void set_axis(::google::protobuf::int32 value);
10714
10715   // optional int32 tiles = 2;
10716   bool has_tiles() const;
10717   void clear_tiles();
10718   static const int kTilesFieldNumber = 2;
10719   ::google::protobuf::int32 tiles() const;
10720   void set_tiles(::google::protobuf::int32 value);
10721
10722   // @@protoc_insertion_point(class_scope:opencv_caffe.TileParameter)
10723  private:
10724   inline void set_has_axis();
10725   inline void clear_has_axis();
10726   inline void set_has_tiles();
10727   inline void clear_has_tiles();
10728
10729   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10730   ::google::protobuf::internal::HasBits<1> _has_bits_;
10731   mutable int _cached_size_;
10732   ::google::protobuf::int32 tiles_;
10733   ::google::protobuf::int32 axis_;
10734   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10735   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10736   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10737   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10738
10739   void InitAsDefaultInstance();
10740 };
10741 extern ::google::protobuf::internal::ExplicitlyConstructed<TileParameter> TileParameter_default_instance_;
10742
10743 // -------------------------------------------------------------------
10744
10745 class ThresholdParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ThresholdParameter) */ {
10746  public:
10747   ThresholdParameter();
10748   virtual ~ThresholdParameter();
10749
10750   ThresholdParameter(const ThresholdParameter& from);
10751
10752   inline ThresholdParameter& operator=(const ThresholdParameter& from) {
10753     CopyFrom(from);
10754     return *this;
10755   }
10756
10757   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10758     return _internal_metadata_.unknown_fields();
10759   }
10760
10761   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10762     return _internal_metadata_.mutable_unknown_fields();
10763   }
10764
10765   static const ::google::protobuf::Descriptor* descriptor();
10766   static const ThresholdParameter& default_instance();
10767
10768   static const ThresholdParameter* internal_default_instance();
10769
10770   void Swap(ThresholdParameter* other);
10771
10772   // implements Message ----------------------------------------------
10773
10774   inline ThresholdParameter* New() const { return New(NULL); }
10775
10776   ThresholdParameter* New(::google::protobuf::Arena* arena) const;
10777   void CopyFrom(const ::google::protobuf::Message& from);
10778   void MergeFrom(const ::google::protobuf::Message& from);
10779   void CopyFrom(const ThresholdParameter& from);
10780   void MergeFrom(const ThresholdParameter& from);
10781   void Clear();
10782   bool IsInitialized() const;
10783
10784   size_t ByteSizeLong() const;
10785   bool MergePartialFromCodedStream(
10786       ::google::protobuf::io::CodedInputStream* input);
10787   void SerializeWithCachedSizes(
10788       ::google::protobuf::io::CodedOutputStream* output) const;
10789   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10790       bool deterministic, ::google::protobuf::uint8* output) const;
10791   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10792     return InternalSerializeWithCachedSizesToArray(false, output);
10793   }
10794   int GetCachedSize() const { return _cached_size_; }
10795   private:
10796   void SharedCtor();
10797   void SharedDtor();
10798   void SetCachedSize(int size) const;
10799   void InternalSwap(ThresholdParameter* other);
10800   void UnsafeMergeFrom(const ThresholdParameter& from);
10801   private:
10802   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10803     return _internal_metadata_.arena();
10804   }
10805   inline void* MaybeArenaPtr() const {
10806     return _internal_metadata_.raw_arena_ptr();
10807   }
10808   public:
10809
10810   ::google::protobuf::Metadata GetMetadata() const;
10811
10812   // nested types ----------------------------------------------------
10813
10814   // accessors -------------------------------------------------------
10815
10816   // optional float threshold = 1 [default = 0];
10817   bool has_threshold() const;
10818   void clear_threshold();
10819   static const int kThresholdFieldNumber = 1;
10820   float threshold() const;
10821   void set_threshold(float value);
10822
10823   // @@protoc_insertion_point(class_scope:opencv_caffe.ThresholdParameter)
10824  private:
10825   inline void set_has_threshold();
10826   inline void clear_has_threshold();
10827
10828   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
10829   ::google::protobuf::internal::HasBits<1> _has_bits_;
10830   mutable int _cached_size_;
10831   float threshold_;
10832   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
10833   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
10834   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
10835   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
10836
10837   void InitAsDefaultInstance();
10838 };
10839 extern ::google::protobuf::internal::ExplicitlyConstructed<ThresholdParameter> ThresholdParameter_default_instance_;
10840
10841 // -------------------------------------------------------------------
10842
10843 class WindowDataParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.WindowDataParameter) */ {
10844  public:
10845   WindowDataParameter();
10846   virtual ~WindowDataParameter();
10847
10848   WindowDataParameter(const WindowDataParameter& from);
10849
10850   inline WindowDataParameter& operator=(const WindowDataParameter& from) {
10851     CopyFrom(from);
10852     return *this;
10853   }
10854
10855   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
10856     return _internal_metadata_.unknown_fields();
10857   }
10858
10859   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
10860     return _internal_metadata_.mutable_unknown_fields();
10861   }
10862
10863   static const ::google::protobuf::Descriptor* descriptor();
10864   static const WindowDataParameter& default_instance();
10865
10866   static const WindowDataParameter* internal_default_instance();
10867
10868   void Swap(WindowDataParameter* other);
10869
10870   // implements Message ----------------------------------------------
10871
10872   inline WindowDataParameter* New() const { return New(NULL); }
10873
10874   WindowDataParameter* New(::google::protobuf::Arena* arena) const;
10875   void CopyFrom(const ::google::protobuf::Message& from);
10876   void MergeFrom(const ::google::protobuf::Message& from);
10877   void CopyFrom(const WindowDataParameter& from);
10878   void MergeFrom(const WindowDataParameter& from);
10879   void Clear();
10880   bool IsInitialized() const;
10881
10882   size_t ByteSizeLong() const;
10883   bool MergePartialFromCodedStream(
10884       ::google::protobuf::io::CodedInputStream* input);
10885   void SerializeWithCachedSizes(
10886       ::google::protobuf::io::CodedOutputStream* output) const;
10887   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
10888       bool deterministic, ::google::protobuf::uint8* output) const;
10889   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
10890     return InternalSerializeWithCachedSizesToArray(false, output);
10891   }
10892   int GetCachedSize() const { return _cached_size_; }
10893   private:
10894   void SharedCtor();
10895   void SharedDtor();
10896   void SetCachedSize(int size) const;
10897   void InternalSwap(WindowDataParameter* other);
10898   void UnsafeMergeFrom(const WindowDataParameter& from);
10899   private:
10900   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
10901     return _internal_metadata_.arena();
10902   }
10903   inline void* MaybeArenaPtr() const {
10904     return _internal_metadata_.raw_arena_ptr();
10905   }
10906   public:
10907
10908   ::google::protobuf::Metadata GetMetadata() const;
10909
10910   // nested types ----------------------------------------------------
10911
10912   // accessors -------------------------------------------------------
10913
10914   // optional string source = 1;
10915   bool has_source() const;
10916   void clear_source();
10917   static const int kSourceFieldNumber = 1;
10918   const ::std::string& source() const;
10919   void set_source(const ::std::string& value);
10920   void set_source(const char* value);
10921   void set_source(const char* value, size_t size);
10922   ::std::string* mutable_source();
10923   ::std::string* release_source();
10924   void set_allocated_source(::std::string* source);
10925
10926   // optional float scale = 2 [default = 1];
10927   bool has_scale() const;
10928   void clear_scale();
10929   static const int kScaleFieldNumber = 2;
10930   float scale() const;
10931   void set_scale(float value);
10932
10933   // optional string mean_file = 3;
10934   bool has_mean_file() const;
10935   void clear_mean_file();
10936   static const int kMeanFileFieldNumber = 3;
10937   const ::std::string& mean_file() const;
10938   void set_mean_file(const ::std::string& value);
10939   void set_mean_file(const char* value);
10940   void set_mean_file(const char* value, size_t size);
10941   ::std::string* mutable_mean_file();
10942   ::std::string* release_mean_file();
10943   void set_allocated_mean_file(::std::string* mean_file);
10944
10945   // optional uint32 batch_size = 4;
10946   bool has_batch_size() const;
10947   void clear_batch_size();
10948   static const int kBatchSizeFieldNumber = 4;
10949   ::google::protobuf::uint32 batch_size() const;
10950   void set_batch_size(::google::protobuf::uint32 value);
10951
10952   // optional uint32 crop_size = 5 [default = 0];
10953   bool has_crop_size() const;
10954   void clear_crop_size();
10955   static const int kCropSizeFieldNumber = 5;
10956   ::google::protobuf::uint32 crop_size() const;
10957   void set_crop_size(::google::protobuf::uint32 value);
10958
10959   // optional bool mirror = 6 [default = false];
10960   bool has_mirror() const;
10961   void clear_mirror();
10962   static const int kMirrorFieldNumber = 6;
10963   bool mirror() const;
10964   void set_mirror(bool value);
10965
10966   // optional float fg_threshold = 7 [default = 0.5];
10967   bool has_fg_threshold() const;
10968   void clear_fg_threshold();
10969   static const int kFgThresholdFieldNumber = 7;
10970   float fg_threshold() const;
10971   void set_fg_threshold(float value);
10972
10973   // optional float bg_threshold = 8 [default = 0.5];
10974   bool has_bg_threshold() const;
10975   void clear_bg_threshold();
10976   static const int kBgThresholdFieldNumber = 8;
10977   float bg_threshold() const;
10978   void set_bg_threshold(float value);
10979
10980   // optional float fg_fraction = 9 [default = 0.25];
10981   bool has_fg_fraction() const;
10982   void clear_fg_fraction();
10983   static const int kFgFractionFieldNumber = 9;
10984   float fg_fraction() const;
10985   void set_fg_fraction(float value);
10986
10987   // optional uint32 context_pad = 10 [default = 0];
10988   bool has_context_pad() const;
10989   void clear_context_pad();
10990   static const int kContextPadFieldNumber = 10;
10991   ::google::protobuf::uint32 context_pad() const;
10992   void set_context_pad(::google::protobuf::uint32 value);
10993
10994   // optional string crop_mode = 11 [default = "warp"];
10995   bool has_crop_mode() const;
10996   void clear_crop_mode();
10997   static const int kCropModeFieldNumber = 11;
10998   const ::std::string& crop_mode() const;
10999   void set_crop_mode(const ::std::string& value);
11000   void set_crop_mode(const char* value);
11001   void set_crop_mode(const char* value, size_t size);
11002   ::std::string* mutable_crop_mode();
11003   ::std::string* release_crop_mode();
11004   void set_allocated_crop_mode(::std::string* crop_mode);
11005
11006   // optional bool cache_images = 12 [default = false];
11007   bool has_cache_images() const;
11008   void clear_cache_images();
11009   static const int kCacheImagesFieldNumber = 12;
11010   bool cache_images() const;
11011   void set_cache_images(bool value);
11012
11013   // optional string root_folder = 13 [default = ""];
11014   bool has_root_folder() const;
11015   void clear_root_folder();
11016   static const int kRootFolderFieldNumber = 13;
11017   const ::std::string& root_folder() const;
11018   void set_root_folder(const ::std::string& value);
11019   void set_root_folder(const char* value);
11020   void set_root_folder(const char* value, size_t size);
11021   ::std::string* mutable_root_folder();
11022   ::std::string* release_root_folder();
11023   void set_allocated_root_folder(::std::string* root_folder);
11024
11025   // @@protoc_insertion_point(class_scope:opencv_caffe.WindowDataParameter)
11026  private:
11027   inline void set_has_source();
11028   inline void clear_has_source();
11029   inline void set_has_scale();
11030   inline void clear_has_scale();
11031   inline void set_has_mean_file();
11032   inline void clear_has_mean_file();
11033   inline void set_has_batch_size();
11034   inline void clear_has_batch_size();
11035   inline void set_has_crop_size();
11036   inline void clear_has_crop_size();
11037   inline void set_has_mirror();
11038   inline void clear_has_mirror();
11039   inline void set_has_fg_threshold();
11040   inline void clear_has_fg_threshold();
11041   inline void set_has_bg_threshold();
11042   inline void clear_has_bg_threshold();
11043   inline void set_has_fg_fraction();
11044   inline void clear_has_fg_fraction();
11045   inline void set_has_context_pad();
11046   inline void clear_has_context_pad();
11047   inline void set_has_crop_mode();
11048   inline void clear_has_crop_mode();
11049   inline void set_has_cache_images();
11050   inline void clear_has_cache_images();
11051   inline void set_has_root_folder();
11052   inline void clear_has_root_folder();
11053
11054   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
11055   ::google::protobuf::internal::HasBits<1> _has_bits_;
11056   mutable int _cached_size_;
11057   ::google::protobuf::internal::ArenaStringPtr source_;
11058   ::google::protobuf::internal::ArenaStringPtr mean_file_;
11059   static ::std::string* _default_crop_mode_;
11060   ::google::protobuf::internal::ArenaStringPtr crop_mode_;
11061   ::google::protobuf::internal::ArenaStringPtr root_folder_;
11062   ::google::protobuf::uint32 batch_size_;
11063   ::google::protobuf::uint32 crop_size_;
11064   bool mirror_;
11065   bool cache_images_;
11066   ::google::protobuf::uint32 context_pad_;
11067   float scale_;
11068   float fg_threshold_;
11069   float bg_threshold_;
11070   float fg_fraction_;
11071   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
11072   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
11073   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
11074   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
11075
11076   void InitAsDefaultInstance();
11077 };
11078 extern ::google::protobuf::internal::ExplicitlyConstructed<WindowDataParameter> WindowDataParameter_default_instance_;
11079
11080 // -------------------------------------------------------------------
11081
11082 class SPPParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.SPPParameter) */ {
11083  public:
11084   SPPParameter();
11085   virtual ~SPPParameter();
11086
11087   SPPParameter(const SPPParameter& from);
11088
11089   inline SPPParameter& operator=(const SPPParameter& from) {
11090     CopyFrom(from);
11091     return *this;
11092   }
11093
11094   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
11095     return _internal_metadata_.unknown_fields();
11096   }
11097
11098   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
11099     return _internal_metadata_.mutable_unknown_fields();
11100   }
11101
11102   static const ::google::protobuf::Descriptor* descriptor();
11103   static const SPPParameter& default_instance();
11104
11105   static const SPPParameter* internal_default_instance();
11106
11107   void Swap(SPPParameter* other);
11108
11109   // implements Message ----------------------------------------------
11110
11111   inline SPPParameter* New() const { return New(NULL); }
11112
11113   SPPParameter* New(::google::protobuf::Arena* arena) const;
11114   void CopyFrom(const ::google::protobuf::Message& from);
11115   void MergeFrom(const ::google::protobuf::Message& from);
11116   void CopyFrom(const SPPParameter& from);
11117   void MergeFrom(const SPPParameter& from);
11118   void Clear();
11119   bool IsInitialized() const;
11120
11121   size_t ByteSizeLong() const;
11122   bool MergePartialFromCodedStream(
11123       ::google::protobuf::io::CodedInputStream* input);
11124   void SerializeWithCachedSizes(
11125       ::google::protobuf::io::CodedOutputStream* output) const;
11126   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
11127       bool deterministic, ::google::protobuf::uint8* output) const;
11128   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
11129     return InternalSerializeWithCachedSizesToArray(false, output);
11130   }
11131   int GetCachedSize() const { return _cached_size_; }
11132   private:
11133   void SharedCtor();
11134   void SharedDtor();
11135   void SetCachedSize(int size) const;
11136   void InternalSwap(SPPParameter* other);
11137   void UnsafeMergeFrom(const SPPParameter& from);
11138   private:
11139   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
11140     return _internal_metadata_.arena();
11141   }
11142   inline void* MaybeArenaPtr() const {
11143     return _internal_metadata_.raw_arena_ptr();
11144   }
11145   public:
11146
11147   ::google::protobuf::Metadata GetMetadata() const;
11148
11149   // nested types ----------------------------------------------------
11150
11151   typedef SPPParameter_PoolMethod PoolMethod;
11152   static const PoolMethod MAX =
11153     SPPParameter_PoolMethod_MAX;
11154   static const PoolMethod AVE =
11155     SPPParameter_PoolMethod_AVE;
11156   static const PoolMethod STOCHASTIC =
11157     SPPParameter_PoolMethod_STOCHASTIC;
11158   static inline bool PoolMethod_IsValid(int value) {
11159     return SPPParameter_PoolMethod_IsValid(value);
11160   }
11161   static const PoolMethod PoolMethod_MIN =
11162     SPPParameter_PoolMethod_PoolMethod_MIN;
11163   static const PoolMethod PoolMethod_MAX =
11164     SPPParameter_PoolMethod_PoolMethod_MAX;
11165   static const int PoolMethod_ARRAYSIZE =
11166     SPPParameter_PoolMethod_PoolMethod_ARRAYSIZE;
11167   static inline const ::google::protobuf::EnumDescriptor*
11168   PoolMethod_descriptor() {
11169     return SPPParameter_PoolMethod_descriptor();
11170   }
11171   static inline const ::std::string& PoolMethod_Name(PoolMethod value) {
11172     return SPPParameter_PoolMethod_Name(value);
11173   }
11174   static inline bool PoolMethod_Parse(const ::std::string& name,
11175       PoolMethod* value) {
11176     return SPPParameter_PoolMethod_Parse(name, value);
11177   }
11178
11179   typedef SPPParameter_Engine Engine;
11180   static const Engine DEFAULT =
11181     SPPParameter_Engine_DEFAULT;
11182   static const Engine CAFFE =
11183     SPPParameter_Engine_CAFFE;
11184   static const Engine CUDNN =
11185     SPPParameter_Engine_CUDNN;
11186   static inline bool Engine_IsValid(int value) {
11187     return SPPParameter_Engine_IsValid(value);
11188   }
11189   static const Engine Engine_MIN =
11190     SPPParameter_Engine_Engine_MIN;
11191   static const Engine Engine_MAX =
11192     SPPParameter_Engine_Engine_MAX;
11193   static const int Engine_ARRAYSIZE =
11194     SPPParameter_Engine_Engine_ARRAYSIZE;
11195   static inline const ::google::protobuf::EnumDescriptor*
11196   Engine_descriptor() {
11197     return SPPParameter_Engine_descriptor();
11198   }
11199   static inline const ::std::string& Engine_Name(Engine value) {
11200     return SPPParameter_Engine_Name(value);
11201   }
11202   static inline bool Engine_Parse(const ::std::string& name,
11203       Engine* value) {
11204     return SPPParameter_Engine_Parse(name, value);
11205   }
11206
11207   // accessors -------------------------------------------------------
11208
11209   // optional uint32 pyramid_height = 1;
11210   bool has_pyramid_height() const;
11211   void clear_pyramid_height();
11212   static const int kPyramidHeightFieldNumber = 1;
11213   ::google::protobuf::uint32 pyramid_height() const;
11214   void set_pyramid_height(::google::protobuf::uint32 value);
11215
11216   // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
11217   bool has_pool() const;
11218   void clear_pool();
11219   static const int kPoolFieldNumber = 2;
11220   ::opencv_caffe::SPPParameter_PoolMethod pool() const;
11221   void set_pool(::opencv_caffe::SPPParameter_PoolMethod value);
11222
11223   // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
11224   bool has_engine() const;
11225   void clear_engine();
11226   static const int kEngineFieldNumber = 6;
11227   ::opencv_caffe::SPPParameter_Engine engine() const;
11228   void set_engine(::opencv_caffe::SPPParameter_Engine value);
11229
11230   // @@protoc_insertion_point(class_scope:opencv_caffe.SPPParameter)
11231  private:
11232   inline void set_has_pyramid_height();
11233   inline void clear_has_pyramid_height();
11234   inline void set_has_pool();
11235   inline void clear_has_pool();
11236   inline void set_has_engine();
11237   inline void clear_has_engine();
11238
11239   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
11240   ::google::protobuf::internal::HasBits<1> _has_bits_;
11241   mutable int _cached_size_;
11242   ::google::protobuf::uint32 pyramid_height_;
11243   int pool_;
11244   int engine_;
11245   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
11246   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
11247   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
11248   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
11249
11250   void InitAsDefaultInstance();
11251 };
11252 extern ::google::protobuf::internal::ExplicitlyConstructed<SPPParameter> SPPParameter_default_instance_;
11253
11254 // -------------------------------------------------------------------
11255
11256 class V1LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.V1LayerParameter) */ {
11257  public:
11258   V1LayerParameter();
11259   virtual ~V1LayerParameter();
11260
11261   V1LayerParameter(const V1LayerParameter& from);
11262
11263   inline V1LayerParameter& operator=(const V1LayerParameter& from) {
11264     CopyFrom(from);
11265     return *this;
11266   }
11267
11268   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
11269     return _internal_metadata_.unknown_fields();
11270   }
11271
11272   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
11273     return _internal_metadata_.mutable_unknown_fields();
11274   }
11275
11276   static const ::google::protobuf::Descriptor* descriptor();
11277   static const V1LayerParameter& default_instance();
11278
11279   static const V1LayerParameter* internal_default_instance();
11280
11281   void Swap(V1LayerParameter* other);
11282
11283   // implements Message ----------------------------------------------
11284
11285   inline V1LayerParameter* New() const { return New(NULL); }
11286
11287   V1LayerParameter* New(::google::protobuf::Arena* arena) const;
11288   void CopyFrom(const ::google::protobuf::Message& from);
11289   void MergeFrom(const ::google::protobuf::Message& from);
11290   void CopyFrom(const V1LayerParameter& from);
11291   void MergeFrom(const V1LayerParameter& from);
11292   void Clear();
11293   bool IsInitialized() const;
11294
11295   size_t ByteSizeLong() const;
11296   bool MergePartialFromCodedStream(
11297       ::google::protobuf::io::CodedInputStream* input);
11298   void SerializeWithCachedSizes(
11299       ::google::protobuf::io::CodedOutputStream* output) const;
11300   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
11301       bool deterministic, ::google::protobuf::uint8* output) const;
11302   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
11303     return InternalSerializeWithCachedSizesToArray(false, output);
11304   }
11305   int GetCachedSize() const { return _cached_size_; }
11306   private:
11307   void SharedCtor();
11308   void SharedDtor();
11309   void SetCachedSize(int size) const;
11310   void InternalSwap(V1LayerParameter* other);
11311   void UnsafeMergeFrom(const V1LayerParameter& from);
11312   private:
11313   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
11314     return _internal_metadata_.arena();
11315   }
11316   inline void* MaybeArenaPtr() const {
11317     return _internal_metadata_.raw_arena_ptr();
11318   }
11319   public:
11320
11321   ::google::protobuf::Metadata GetMetadata() const;
11322
11323   // nested types ----------------------------------------------------
11324
11325   typedef V1LayerParameter_LayerType LayerType;
11326   static const LayerType NONE =
11327     V1LayerParameter_LayerType_NONE;
11328   static const LayerType ABSVAL =
11329     V1LayerParameter_LayerType_ABSVAL;
11330   static const LayerType ACCURACY =
11331     V1LayerParameter_LayerType_ACCURACY;
11332   static const LayerType ARGMAX =
11333     V1LayerParameter_LayerType_ARGMAX;
11334   static const LayerType BNLL =
11335     V1LayerParameter_LayerType_BNLL;
11336   static const LayerType CONCAT =
11337     V1LayerParameter_LayerType_CONCAT;
11338   static const LayerType CONTRASTIVE_LOSS =
11339     V1LayerParameter_LayerType_CONTRASTIVE_LOSS;
11340   static const LayerType CONVOLUTION =
11341     V1LayerParameter_LayerType_CONVOLUTION;
11342   static const LayerType DATA =
11343     V1LayerParameter_LayerType_DATA;
11344   static const LayerType DECONVOLUTION =
11345     V1LayerParameter_LayerType_DECONVOLUTION;
11346   static const LayerType DROPOUT =
11347     V1LayerParameter_LayerType_DROPOUT;
11348   static const LayerType DUMMY_DATA =
11349     V1LayerParameter_LayerType_DUMMY_DATA;
11350   static const LayerType EUCLIDEAN_LOSS =
11351     V1LayerParameter_LayerType_EUCLIDEAN_LOSS;
11352   static const LayerType ELTWISE =
11353     V1LayerParameter_LayerType_ELTWISE;
11354   static const LayerType EXP =
11355     V1LayerParameter_LayerType_EXP;
11356   static const LayerType FLATTEN =
11357     V1LayerParameter_LayerType_FLATTEN;
11358   static const LayerType HDF5_DATA =
11359     V1LayerParameter_LayerType_HDF5_DATA;
11360   static const LayerType HDF5_OUTPUT =
11361     V1LayerParameter_LayerType_HDF5_OUTPUT;
11362   static const LayerType HINGE_LOSS =
11363     V1LayerParameter_LayerType_HINGE_LOSS;
11364   static const LayerType IM2COL =
11365     V1LayerParameter_LayerType_IM2COL;
11366   static const LayerType IMAGE_DATA =
11367     V1LayerParameter_LayerType_IMAGE_DATA;
11368   static const LayerType INFOGAIN_LOSS =
11369     V1LayerParameter_LayerType_INFOGAIN_LOSS;
11370   static const LayerType INNER_PRODUCT =
11371     V1LayerParameter_LayerType_INNER_PRODUCT;
11372   static const LayerType LRN =
11373     V1LayerParameter_LayerType_LRN;
11374   static const LayerType MEMORY_DATA =
11375     V1LayerParameter_LayerType_MEMORY_DATA;
11376   static const LayerType MULTINOMIAL_LOGISTIC_LOSS =
11377     V1LayerParameter_LayerType_MULTINOMIAL_LOGISTIC_LOSS;
11378   static const LayerType MVN =
11379     V1LayerParameter_LayerType_MVN;
11380   static const LayerType POOLING =
11381     V1LayerParameter_LayerType_POOLING;
11382   static const LayerType POWER =
11383     V1LayerParameter_LayerType_POWER;
11384   static const LayerType RELU =
11385     V1LayerParameter_LayerType_RELU;
11386   static const LayerType SIGMOID =
11387     V1LayerParameter_LayerType_SIGMOID;
11388   static const LayerType SIGMOID_CROSS_ENTROPY_LOSS =
11389     V1LayerParameter_LayerType_SIGMOID_CROSS_ENTROPY_LOSS;
11390   static const LayerType SILENCE =
11391     V1LayerParameter_LayerType_SILENCE;
11392   static const LayerType SOFTMAX =
11393     V1LayerParameter_LayerType_SOFTMAX;
11394   static const LayerType SOFTMAX_LOSS =
11395     V1LayerParameter_LayerType_SOFTMAX_LOSS;
11396   static const LayerType SPLIT =
11397     V1LayerParameter_LayerType_SPLIT;
11398   static const LayerType SLICE =
11399     V1LayerParameter_LayerType_SLICE;
11400   static const LayerType TANH =
11401     V1LayerParameter_LayerType_TANH;
11402   static const LayerType WINDOW_DATA =
11403     V1LayerParameter_LayerType_WINDOW_DATA;
11404   static const LayerType THRESHOLD =
11405     V1LayerParameter_LayerType_THRESHOLD;
11406   static inline bool LayerType_IsValid(int value) {
11407     return V1LayerParameter_LayerType_IsValid(value);
11408   }
11409   static const LayerType LayerType_MIN =
11410     V1LayerParameter_LayerType_LayerType_MIN;
11411   static const LayerType LayerType_MAX =
11412     V1LayerParameter_LayerType_LayerType_MAX;
11413   static const int LayerType_ARRAYSIZE =
11414     V1LayerParameter_LayerType_LayerType_ARRAYSIZE;
11415   static inline const ::google::protobuf::EnumDescriptor*
11416   LayerType_descriptor() {
11417     return V1LayerParameter_LayerType_descriptor();
11418   }
11419   static inline const ::std::string& LayerType_Name(LayerType value) {
11420     return V1LayerParameter_LayerType_Name(value);
11421   }
11422   static inline bool LayerType_Parse(const ::std::string& name,
11423       LayerType* value) {
11424     return V1LayerParameter_LayerType_Parse(name, value);
11425   }
11426
11427   typedef V1LayerParameter_DimCheckMode DimCheckMode;
11428   static const DimCheckMode STRICT =
11429     V1LayerParameter_DimCheckMode_STRICT;
11430   static const DimCheckMode PERMISSIVE =
11431     V1LayerParameter_DimCheckMode_PERMISSIVE;
11432   static inline bool DimCheckMode_IsValid(int value) {
11433     return V1LayerParameter_DimCheckMode_IsValid(value);
11434   }
11435   static const DimCheckMode DimCheckMode_MIN =
11436     V1LayerParameter_DimCheckMode_DimCheckMode_MIN;
11437   static const DimCheckMode DimCheckMode_MAX =
11438     V1LayerParameter_DimCheckMode_DimCheckMode_MAX;
11439   static const int DimCheckMode_ARRAYSIZE =
11440     V1LayerParameter_DimCheckMode_DimCheckMode_ARRAYSIZE;
11441   static inline const ::google::protobuf::EnumDescriptor*
11442   DimCheckMode_descriptor() {
11443     return V1LayerParameter_DimCheckMode_descriptor();
11444   }
11445   static inline const ::std::string& DimCheckMode_Name(DimCheckMode value) {
11446     return V1LayerParameter_DimCheckMode_Name(value);
11447   }
11448   static inline bool DimCheckMode_Parse(const ::std::string& name,
11449       DimCheckMode* value) {
11450     return V1LayerParameter_DimCheckMode_Parse(name, value);
11451   }
11452
11453   // accessors -------------------------------------------------------
11454
11455   // repeated string bottom = 2;
11456   int bottom_size() const;
11457   void clear_bottom();
11458   static const int kBottomFieldNumber = 2;
11459   const ::std::string& bottom(int index) const;
11460   ::std::string* mutable_bottom(int index);
11461   void set_bottom(int index, const ::std::string& value);
11462   void set_bottom(int index, const char* value);
11463   void set_bottom(int index, const char* value, size_t size);
11464   ::std::string* add_bottom();
11465   void add_bottom(const ::std::string& value);
11466   void add_bottom(const char* value);
11467   void add_bottom(const char* value, size_t size);
11468   const ::google::protobuf::RepeatedPtrField< ::std::string>& bottom() const;
11469   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_bottom();
11470
11471   // repeated string top = 3;
11472   int top_size() const;
11473   void clear_top();
11474   static const int kTopFieldNumber = 3;
11475   const ::std::string& top(int index) const;
11476   ::std::string* mutable_top(int index);
11477   void set_top(int index, const ::std::string& value);
11478   void set_top(int index, const char* value);
11479   void set_top(int index, const char* value, size_t size);
11480   ::std::string* add_top();
11481   void add_top(const ::std::string& value);
11482   void add_top(const char* value);
11483   void add_top(const char* value, size_t size);
11484   const ::google::protobuf::RepeatedPtrField< ::std::string>& top() const;
11485   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_top();
11486
11487   // optional string name = 4;
11488   bool has_name() const;
11489   void clear_name();
11490   static const int kNameFieldNumber = 4;
11491   const ::std::string& name() const;
11492   void set_name(const ::std::string& value);
11493   void set_name(const char* value);
11494   void set_name(const char* value, size_t size);
11495   ::std::string* mutable_name();
11496   ::std::string* release_name();
11497   void set_allocated_name(::std::string* name);
11498
11499   // repeated .opencv_caffe.NetStateRule include = 32;
11500   int include_size() const;
11501   void clear_include();
11502   static const int kIncludeFieldNumber = 32;
11503   const ::opencv_caffe::NetStateRule& include(int index) const;
11504   ::opencv_caffe::NetStateRule* mutable_include(int index);
11505   ::opencv_caffe::NetStateRule* add_include();
11506   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
11507       mutable_include();
11508   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
11509       include() const;
11510
11511   // repeated .opencv_caffe.NetStateRule exclude = 33;
11512   int exclude_size() const;
11513   void clear_exclude();
11514   static const int kExcludeFieldNumber = 33;
11515   const ::opencv_caffe::NetStateRule& exclude(int index) const;
11516   ::opencv_caffe::NetStateRule* mutable_exclude(int index);
11517   ::opencv_caffe::NetStateRule* add_exclude();
11518   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
11519       mutable_exclude();
11520   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
11521       exclude() const;
11522
11523   // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
11524   bool has_type() const;
11525   void clear_type();
11526   static const int kTypeFieldNumber = 5;
11527   ::opencv_caffe::V1LayerParameter_LayerType type() const;
11528   void set_type(::opencv_caffe::V1LayerParameter_LayerType value);
11529
11530   // repeated .opencv_caffe.BlobProto blobs = 6;
11531   int blobs_size() const;
11532   void clear_blobs();
11533   static const int kBlobsFieldNumber = 6;
11534   const ::opencv_caffe::BlobProto& blobs(int index) const;
11535   ::opencv_caffe::BlobProto* mutable_blobs(int index);
11536   ::opencv_caffe::BlobProto* add_blobs();
11537   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
11538       mutable_blobs();
11539   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
11540       blobs() const;
11541
11542   // repeated string param = 1001;
11543   int param_size() const;
11544   void clear_param();
11545   static const int kParamFieldNumber = 1001;
11546   const ::std::string& param(int index) const;
11547   ::std::string* mutable_param(int index);
11548   void set_param(int index, const ::std::string& value);
11549   void set_param(int index, const char* value);
11550   void set_param(int index, const char* value, size_t size);
11551   ::std::string* add_param();
11552   void add_param(const ::std::string& value);
11553   void add_param(const char* value);
11554   void add_param(const char* value, size_t size);
11555   const ::google::protobuf::RepeatedPtrField< ::std::string>& param() const;
11556   ::google::protobuf::RepeatedPtrField< ::std::string>* mutable_param();
11557
11558   // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
11559   int blob_share_mode_size() const;
11560   void clear_blob_share_mode();
11561   static const int kBlobShareModeFieldNumber = 1002;
11562   ::opencv_caffe::V1LayerParameter_DimCheckMode blob_share_mode(int index) const;
11563   void set_blob_share_mode(int index, ::opencv_caffe::V1LayerParameter_DimCheckMode value);
11564   void add_blob_share_mode(::opencv_caffe::V1LayerParameter_DimCheckMode value);
11565   const ::google::protobuf::RepeatedField<int>& blob_share_mode() const;
11566   ::google::protobuf::RepeatedField<int>* mutable_blob_share_mode();
11567
11568   // repeated float blobs_lr = 7;
11569   int blobs_lr_size() const;
11570   void clear_blobs_lr();
11571   static const int kBlobsLrFieldNumber = 7;
11572   float blobs_lr(int index) const;
11573   void set_blobs_lr(int index, float value);
11574   void add_blobs_lr(float value);
11575   const ::google::protobuf::RepeatedField< float >&
11576       blobs_lr() const;
11577   ::google::protobuf::RepeatedField< float >*
11578       mutable_blobs_lr();
11579
11580   // repeated float weight_decay = 8;
11581   int weight_decay_size() const;
11582   void clear_weight_decay();
11583   static const int kWeightDecayFieldNumber = 8;
11584   float weight_decay(int index) const;
11585   void set_weight_decay(int index, float value);
11586   void add_weight_decay(float value);
11587   const ::google::protobuf::RepeatedField< float >&
11588       weight_decay() const;
11589   ::google::protobuf::RepeatedField< float >*
11590       mutable_weight_decay();
11591
11592   // repeated float loss_weight = 35;
11593   int loss_weight_size() const;
11594   void clear_loss_weight();
11595   static const int kLossWeightFieldNumber = 35;
11596   float loss_weight(int index) const;
11597   void set_loss_weight(int index, float value);
11598   void add_loss_weight(float value);
11599   const ::google::protobuf::RepeatedField< float >&
11600       loss_weight() const;
11601   ::google::protobuf::RepeatedField< float >*
11602       mutable_loss_weight();
11603
11604   // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
11605   bool has_accuracy_param() const;
11606   void clear_accuracy_param();
11607   static const int kAccuracyParamFieldNumber = 27;
11608   const ::opencv_caffe::AccuracyParameter& accuracy_param() const;
11609   ::opencv_caffe::AccuracyParameter* mutable_accuracy_param();
11610   ::opencv_caffe::AccuracyParameter* release_accuracy_param();
11611   void set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param);
11612
11613   // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
11614   bool has_argmax_param() const;
11615   void clear_argmax_param();
11616   static const int kArgmaxParamFieldNumber = 23;
11617   const ::opencv_caffe::ArgMaxParameter& argmax_param() const;
11618   ::opencv_caffe::ArgMaxParameter* mutable_argmax_param();
11619   ::opencv_caffe::ArgMaxParameter* release_argmax_param();
11620   void set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param);
11621
11622   // optional .opencv_caffe.ConcatParameter concat_param = 9;
11623   bool has_concat_param() const;
11624   void clear_concat_param();
11625   static const int kConcatParamFieldNumber = 9;
11626   const ::opencv_caffe::ConcatParameter& concat_param() const;
11627   ::opencv_caffe::ConcatParameter* mutable_concat_param();
11628   ::opencv_caffe::ConcatParameter* release_concat_param();
11629   void set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param);
11630
11631   // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
11632   bool has_contrastive_loss_param() const;
11633   void clear_contrastive_loss_param();
11634   static const int kContrastiveLossParamFieldNumber = 40;
11635   const ::opencv_caffe::ContrastiveLossParameter& contrastive_loss_param() const;
11636   ::opencv_caffe::ContrastiveLossParameter* mutable_contrastive_loss_param();
11637   ::opencv_caffe::ContrastiveLossParameter* release_contrastive_loss_param();
11638   void set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param);
11639
11640   // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
11641   bool has_convolution_param() const;
11642   void clear_convolution_param();
11643   static const int kConvolutionParamFieldNumber = 10;
11644   const ::opencv_caffe::ConvolutionParameter& convolution_param() const;
11645   ::opencv_caffe::ConvolutionParameter* mutable_convolution_param();
11646   ::opencv_caffe::ConvolutionParameter* release_convolution_param();
11647   void set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param);
11648
11649   // optional .opencv_caffe.DataParameter data_param = 11;
11650   bool has_data_param() const;
11651   void clear_data_param();
11652   static const int kDataParamFieldNumber = 11;
11653   const ::opencv_caffe::DataParameter& data_param() const;
11654   ::opencv_caffe::DataParameter* mutable_data_param();
11655   ::opencv_caffe::DataParameter* release_data_param();
11656   void set_allocated_data_param(::opencv_caffe::DataParameter* data_param);
11657
11658   // optional .opencv_caffe.DropoutParameter dropout_param = 12;
11659   bool has_dropout_param() const;
11660   void clear_dropout_param();
11661   static const int kDropoutParamFieldNumber = 12;
11662   const ::opencv_caffe::DropoutParameter& dropout_param() const;
11663   ::opencv_caffe::DropoutParameter* mutable_dropout_param();
11664   ::opencv_caffe::DropoutParameter* release_dropout_param();
11665   void set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param);
11666
11667   // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
11668   bool has_dummy_data_param() const;
11669   void clear_dummy_data_param();
11670   static const int kDummyDataParamFieldNumber = 26;
11671   const ::opencv_caffe::DummyDataParameter& dummy_data_param() const;
11672   ::opencv_caffe::DummyDataParameter* mutable_dummy_data_param();
11673   ::opencv_caffe::DummyDataParameter* release_dummy_data_param();
11674   void set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param);
11675
11676   // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
11677   bool has_eltwise_param() const;
11678   void clear_eltwise_param();
11679   static const int kEltwiseParamFieldNumber = 24;
11680   const ::opencv_caffe::EltwiseParameter& eltwise_param() const;
11681   ::opencv_caffe::EltwiseParameter* mutable_eltwise_param();
11682   ::opencv_caffe::EltwiseParameter* release_eltwise_param();
11683   void set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param);
11684
11685   // optional .opencv_caffe.ExpParameter exp_param = 41;
11686   bool has_exp_param() const;
11687   void clear_exp_param();
11688   static const int kExpParamFieldNumber = 41;
11689   const ::opencv_caffe::ExpParameter& exp_param() const;
11690   ::opencv_caffe::ExpParameter* mutable_exp_param();
11691   ::opencv_caffe::ExpParameter* release_exp_param();
11692   void set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param);
11693
11694   // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
11695   bool has_hdf5_data_param() const;
11696   void clear_hdf5_data_param();
11697   static const int kHdf5DataParamFieldNumber = 13;
11698   const ::opencv_caffe::HDF5DataParameter& hdf5_data_param() const;
11699   ::opencv_caffe::HDF5DataParameter* mutable_hdf5_data_param();
11700   ::opencv_caffe::HDF5DataParameter* release_hdf5_data_param();
11701   void set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param);
11702
11703   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
11704   bool has_hdf5_output_param() const;
11705   void clear_hdf5_output_param();
11706   static const int kHdf5OutputParamFieldNumber = 14;
11707   const ::opencv_caffe::HDF5OutputParameter& hdf5_output_param() const;
11708   ::opencv_caffe::HDF5OutputParameter* mutable_hdf5_output_param();
11709   ::opencv_caffe::HDF5OutputParameter* release_hdf5_output_param();
11710   void set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param);
11711
11712   // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
11713   bool has_hinge_loss_param() const;
11714   void clear_hinge_loss_param();
11715   static const int kHingeLossParamFieldNumber = 29;
11716   const ::opencv_caffe::HingeLossParameter& hinge_loss_param() const;
11717   ::opencv_caffe::HingeLossParameter* mutable_hinge_loss_param();
11718   ::opencv_caffe::HingeLossParameter* release_hinge_loss_param();
11719   void set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param);
11720
11721   // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
11722   bool has_image_data_param() const;
11723   void clear_image_data_param();
11724   static const int kImageDataParamFieldNumber = 15;
11725   const ::opencv_caffe::ImageDataParameter& image_data_param() const;
11726   ::opencv_caffe::ImageDataParameter* mutable_image_data_param();
11727   ::opencv_caffe::ImageDataParameter* release_image_data_param();
11728   void set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param);
11729
11730   // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
11731   bool has_infogain_loss_param() const;
11732   void clear_infogain_loss_param();
11733   static const int kInfogainLossParamFieldNumber = 16;
11734   const ::opencv_caffe::InfogainLossParameter& infogain_loss_param() const;
11735   ::opencv_caffe::InfogainLossParameter* mutable_infogain_loss_param();
11736   ::opencv_caffe::InfogainLossParameter* release_infogain_loss_param();
11737   void set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param);
11738
11739   // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
11740   bool has_inner_product_param() const;
11741   void clear_inner_product_param();
11742   static const int kInnerProductParamFieldNumber = 17;
11743   const ::opencv_caffe::InnerProductParameter& inner_product_param() const;
11744   ::opencv_caffe::InnerProductParameter* mutable_inner_product_param();
11745   ::opencv_caffe::InnerProductParameter* release_inner_product_param();
11746   void set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param);
11747
11748   // optional .opencv_caffe.LRNParameter lrn_param = 18;
11749   bool has_lrn_param() const;
11750   void clear_lrn_param();
11751   static const int kLrnParamFieldNumber = 18;
11752   const ::opencv_caffe::LRNParameter& lrn_param() const;
11753   ::opencv_caffe::LRNParameter* mutable_lrn_param();
11754   ::opencv_caffe::LRNParameter* release_lrn_param();
11755   void set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param);
11756
11757   // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
11758   bool has_memory_data_param() const;
11759   void clear_memory_data_param();
11760   static const int kMemoryDataParamFieldNumber = 22;
11761   const ::opencv_caffe::MemoryDataParameter& memory_data_param() const;
11762   ::opencv_caffe::MemoryDataParameter* mutable_memory_data_param();
11763   ::opencv_caffe::MemoryDataParameter* release_memory_data_param();
11764   void set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param);
11765
11766   // optional .opencv_caffe.MVNParameter mvn_param = 34;
11767   bool has_mvn_param() const;
11768   void clear_mvn_param();
11769   static const int kMvnParamFieldNumber = 34;
11770   const ::opencv_caffe::MVNParameter& mvn_param() const;
11771   ::opencv_caffe::MVNParameter* mutable_mvn_param();
11772   ::opencv_caffe::MVNParameter* release_mvn_param();
11773   void set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param);
11774
11775   // optional .opencv_caffe.PoolingParameter pooling_param = 19;
11776   bool has_pooling_param() const;
11777   void clear_pooling_param();
11778   static const int kPoolingParamFieldNumber = 19;
11779   const ::opencv_caffe::PoolingParameter& pooling_param() const;
11780   ::opencv_caffe::PoolingParameter* mutable_pooling_param();
11781   ::opencv_caffe::PoolingParameter* release_pooling_param();
11782   void set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param);
11783
11784   // optional .opencv_caffe.PowerParameter power_param = 21;
11785   bool has_power_param() const;
11786   void clear_power_param();
11787   static const int kPowerParamFieldNumber = 21;
11788   const ::opencv_caffe::PowerParameter& power_param() const;
11789   ::opencv_caffe::PowerParameter* mutable_power_param();
11790   ::opencv_caffe::PowerParameter* release_power_param();
11791   void set_allocated_power_param(::opencv_caffe::PowerParameter* power_param);
11792
11793   // optional .opencv_caffe.ReLUParameter relu_param = 30;
11794   bool has_relu_param() const;
11795   void clear_relu_param();
11796   static const int kReluParamFieldNumber = 30;
11797   const ::opencv_caffe::ReLUParameter& relu_param() const;
11798   ::opencv_caffe::ReLUParameter* mutable_relu_param();
11799   ::opencv_caffe::ReLUParameter* release_relu_param();
11800   void set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param);
11801
11802   // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
11803   bool has_sigmoid_param() const;
11804   void clear_sigmoid_param();
11805   static const int kSigmoidParamFieldNumber = 38;
11806   const ::opencv_caffe::SigmoidParameter& sigmoid_param() const;
11807   ::opencv_caffe::SigmoidParameter* mutable_sigmoid_param();
11808   ::opencv_caffe::SigmoidParameter* release_sigmoid_param();
11809   void set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param);
11810
11811   // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
11812   bool has_softmax_param() const;
11813   void clear_softmax_param();
11814   static const int kSoftmaxParamFieldNumber = 39;
11815   const ::opencv_caffe::SoftmaxParameter& softmax_param() const;
11816   ::opencv_caffe::SoftmaxParameter* mutable_softmax_param();
11817   ::opencv_caffe::SoftmaxParameter* release_softmax_param();
11818   void set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param);
11819
11820   // optional .opencv_caffe.SliceParameter slice_param = 31;
11821   bool has_slice_param() const;
11822   void clear_slice_param();
11823   static const int kSliceParamFieldNumber = 31;
11824   const ::opencv_caffe::SliceParameter& slice_param() const;
11825   ::opencv_caffe::SliceParameter* mutable_slice_param();
11826   ::opencv_caffe::SliceParameter* release_slice_param();
11827   void set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param);
11828
11829   // optional .opencv_caffe.TanHParameter tanh_param = 37;
11830   bool has_tanh_param() const;
11831   void clear_tanh_param();
11832   static const int kTanhParamFieldNumber = 37;
11833   const ::opencv_caffe::TanHParameter& tanh_param() const;
11834   ::opencv_caffe::TanHParameter* mutable_tanh_param();
11835   ::opencv_caffe::TanHParameter* release_tanh_param();
11836   void set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param);
11837
11838   // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
11839   bool has_threshold_param() const;
11840   void clear_threshold_param();
11841   static const int kThresholdParamFieldNumber = 25;
11842   const ::opencv_caffe::ThresholdParameter& threshold_param() const;
11843   ::opencv_caffe::ThresholdParameter* mutable_threshold_param();
11844   ::opencv_caffe::ThresholdParameter* release_threshold_param();
11845   void set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param);
11846
11847   // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
11848   bool has_window_data_param() const;
11849   void clear_window_data_param();
11850   static const int kWindowDataParamFieldNumber = 20;
11851   const ::opencv_caffe::WindowDataParameter& window_data_param() const;
11852   ::opencv_caffe::WindowDataParameter* mutable_window_data_param();
11853   ::opencv_caffe::WindowDataParameter* release_window_data_param();
11854   void set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param);
11855
11856   // optional .opencv_caffe.TransformationParameter transform_param = 36;
11857   bool has_transform_param() const;
11858   void clear_transform_param();
11859   static const int kTransformParamFieldNumber = 36;
11860   const ::opencv_caffe::TransformationParameter& transform_param() const;
11861   ::opencv_caffe::TransformationParameter* mutable_transform_param();
11862   ::opencv_caffe::TransformationParameter* release_transform_param();
11863   void set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param);
11864
11865   // optional .opencv_caffe.LossParameter loss_param = 42;
11866   bool has_loss_param() const;
11867   void clear_loss_param();
11868   static const int kLossParamFieldNumber = 42;
11869   const ::opencv_caffe::LossParameter& loss_param() const;
11870   ::opencv_caffe::LossParameter* mutable_loss_param();
11871   ::opencv_caffe::LossParameter* release_loss_param();
11872   void set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param);
11873
11874   // optional .opencv_caffe.V0LayerParameter layer = 1;
11875   bool has_layer() const;
11876   void clear_layer();
11877   static const int kLayerFieldNumber = 1;
11878   const ::opencv_caffe::V0LayerParameter& layer() const;
11879   ::opencv_caffe::V0LayerParameter* mutable_layer();
11880   ::opencv_caffe::V0LayerParameter* release_layer();
11881   void set_allocated_layer(::opencv_caffe::V0LayerParameter* layer);
11882
11883   // @@protoc_insertion_point(class_scope:opencv_caffe.V1LayerParameter)
11884  private:
11885   inline void set_has_name();
11886   inline void clear_has_name();
11887   inline void set_has_type();
11888   inline void clear_has_type();
11889   inline void set_has_accuracy_param();
11890   inline void clear_has_accuracy_param();
11891   inline void set_has_argmax_param();
11892   inline void clear_has_argmax_param();
11893   inline void set_has_concat_param();
11894   inline void clear_has_concat_param();
11895   inline void set_has_contrastive_loss_param();
11896   inline void clear_has_contrastive_loss_param();
11897   inline void set_has_convolution_param();
11898   inline void clear_has_convolution_param();
11899   inline void set_has_data_param();
11900   inline void clear_has_data_param();
11901   inline void set_has_dropout_param();
11902   inline void clear_has_dropout_param();
11903   inline void set_has_dummy_data_param();
11904   inline void clear_has_dummy_data_param();
11905   inline void set_has_eltwise_param();
11906   inline void clear_has_eltwise_param();
11907   inline void set_has_exp_param();
11908   inline void clear_has_exp_param();
11909   inline void set_has_hdf5_data_param();
11910   inline void clear_has_hdf5_data_param();
11911   inline void set_has_hdf5_output_param();
11912   inline void clear_has_hdf5_output_param();
11913   inline void set_has_hinge_loss_param();
11914   inline void clear_has_hinge_loss_param();
11915   inline void set_has_image_data_param();
11916   inline void clear_has_image_data_param();
11917   inline void set_has_infogain_loss_param();
11918   inline void clear_has_infogain_loss_param();
11919   inline void set_has_inner_product_param();
11920   inline void clear_has_inner_product_param();
11921   inline void set_has_lrn_param();
11922   inline void clear_has_lrn_param();
11923   inline void set_has_memory_data_param();
11924   inline void clear_has_memory_data_param();
11925   inline void set_has_mvn_param();
11926   inline void clear_has_mvn_param();
11927   inline void set_has_pooling_param();
11928   inline void clear_has_pooling_param();
11929   inline void set_has_power_param();
11930   inline void clear_has_power_param();
11931   inline void set_has_relu_param();
11932   inline void clear_has_relu_param();
11933   inline void set_has_sigmoid_param();
11934   inline void clear_has_sigmoid_param();
11935   inline void set_has_softmax_param();
11936   inline void clear_has_softmax_param();
11937   inline void set_has_slice_param();
11938   inline void clear_has_slice_param();
11939   inline void set_has_tanh_param();
11940   inline void clear_has_tanh_param();
11941   inline void set_has_threshold_param();
11942   inline void clear_has_threshold_param();
11943   inline void set_has_window_data_param();
11944   inline void clear_has_window_data_param();
11945   inline void set_has_transform_param();
11946   inline void clear_has_transform_param();
11947   inline void set_has_loss_param();
11948   inline void clear_has_loss_param();
11949   inline void set_has_layer();
11950   inline void clear_has_layer();
11951
11952   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
11953   ::google::protobuf::internal::HasBits<2> _has_bits_;
11954   ::google::protobuf::RepeatedPtrField< ::std::string> bottom_;
11955   ::google::protobuf::RepeatedPtrField< ::std::string> top_;
11956   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > include_;
11957   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule > exclude_;
11958   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
11959   ::google::protobuf::RepeatedPtrField< ::std::string> param_;
11960   ::google::protobuf::RepeatedField<int> blob_share_mode_;
11961   ::google::protobuf::RepeatedField< float > blobs_lr_;
11962   ::google::protobuf::RepeatedField< float > weight_decay_;
11963   ::google::protobuf::RepeatedField< float > loss_weight_;
11964   ::google::protobuf::internal::ArenaStringPtr name_;
11965   ::opencv_caffe::AccuracyParameter* accuracy_param_;
11966   ::opencv_caffe::ArgMaxParameter* argmax_param_;
11967   ::opencv_caffe::ConcatParameter* concat_param_;
11968   ::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param_;
11969   ::opencv_caffe::ConvolutionParameter* convolution_param_;
11970   ::opencv_caffe::DataParameter* data_param_;
11971   ::opencv_caffe::DropoutParameter* dropout_param_;
11972   ::opencv_caffe::DummyDataParameter* dummy_data_param_;
11973   ::opencv_caffe::EltwiseParameter* eltwise_param_;
11974   ::opencv_caffe::ExpParameter* exp_param_;
11975   ::opencv_caffe::HDF5DataParameter* hdf5_data_param_;
11976   ::opencv_caffe::HDF5OutputParameter* hdf5_output_param_;
11977   ::opencv_caffe::HingeLossParameter* hinge_loss_param_;
11978   ::opencv_caffe::ImageDataParameter* image_data_param_;
11979   ::opencv_caffe::InfogainLossParameter* infogain_loss_param_;
11980   ::opencv_caffe::InnerProductParameter* inner_product_param_;
11981   ::opencv_caffe::LRNParameter* lrn_param_;
11982   ::opencv_caffe::MemoryDataParameter* memory_data_param_;
11983   ::opencv_caffe::MVNParameter* mvn_param_;
11984   ::opencv_caffe::PoolingParameter* pooling_param_;
11985   ::opencv_caffe::PowerParameter* power_param_;
11986   ::opencv_caffe::ReLUParameter* relu_param_;
11987   ::opencv_caffe::SigmoidParameter* sigmoid_param_;
11988   ::opencv_caffe::SoftmaxParameter* softmax_param_;
11989   ::opencv_caffe::SliceParameter* slice_param_;
11990   ::opencv_caffe::TanHParameter* tanh_param_;
11991   ::opencv_caffe::ThresholdParameter* threshold_param_;
11992   ::opencv_caffe::WindowDataParameter* window_data_param_;
11993   ::opencv_caffe::TransformationParameter* transform_param_;
11994   ::opencv_caffe::LossParameter* loss_param_;
11995   ::opencv_caffe::V0LayerParameter* layer_;
11996   int type_;
11997   mutable int _cached_size_;
11998   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
11999   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12000   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12001   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12002
12003   void InitAsDefaultInstance();
12004 };
12005 extern ::google::protobuf::internal::ExplicitlyConstructed<V1LayerParameter> V1LayerParameter_default_instance_;
12006
12007 // -------------------------------------------------------------------
12008
12009 class V0LayerParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.V0LayerParameter) */ {
12010  public:
12011   V0LayerParameter();
12012   virtual ~V0LayerParameter();
12013
12014   V0LayerParameter(const V0LayerParameter& from);
12015
12016   inline V0LayerParameter& operator=(const V0LayerParameter& from) {
12017     CopyFrom(from);
12018     return *this;
12019   }
12020
12021   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12022     return _internal_metadata_.unknown_fields();
12023   }
12024
12025   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12026     return _internal_metadata_.mutable_unknown_fields();
12027   }
12028
12029   static const ::google::protobuf::Descriptor* descriptor();
12030   static const V0LayerParameter& default_instance();
12031
12032   static const V0LayerParameter* internal_default_instance();
12033
12034   void Swap(V0LayerParameter* other);
12035
12036   // implements Message ----------------------------------------------
12037
12038   inline V0LayerParameter* New() const { return New(NULL); }
12039
12040   V0LayerParameter* New(::google::protobuf::Arena* arena) const;
12041   void CopyFrom(const ::google::protobuf::Message& from);
12042   void MergeFrom(const ::google::protobuf::Message& from);
12043   void CopyFrom(const V0LayerParameter& from);
12044   void MergeFrom(const V0LayerParameter& from);
12045   void Clear();
12046   bool IsInitialized() const;
12047
12048   size_t ByteSizeLong() const;
12049   bool MergePartialFromCodedStream(
12050       ::google::protobuf::io::CodedInputStream* input);
12051   void SerializeWithCachedSizes(
12052       ::google::protobuf::io::CodedOutputStream* output) const;
12053   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12054       bool deterministic, ::google::protobuf::uint8* output) const;
12055   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12056     return InternalSerializeWithCachedSizesToArray(false, output);
12057   }
12058   int GetCachedSize() const { return _cached_size_; }
12059   private:
12060   void SharedCtor();
12061   void SharedDtor();
12062   void SetCachedSize(int size) const;
12063   void InternalSwap(V0LayerParameter* other);
12064   void UnsafeMergeFrom(const V0LayerParameter& from);
12065   private:
12066   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12067     return _internal_metadata_.arena();
12068   }
12069   inline void* MaybeArenaPtr() const {
12070     return _internal_metadata_.raw_arena_ptr();
12071   }
12072   public:
12073
12074   ::google::protobuf::Metadata GetMetadata() const;
12075
12076   // nested types ----------------------------------------------------
12077
12078   typedef V0LayerParameter_PoolMethod PoolMethod;
12079   static const PoolMethod MAX =
12080     V0LayerParameter_PoolMethod_MAX;
12081   static const PoolMethod AVE =
12082     V0LayerParameter_PoolMethod_AVE;
12083   static const PoolMethod STOCHASTIC =
12084     V0LayerParameter_PoolMethod_STOCHASTIC;
12085   static inline bool PoolMethod_IsValid(int value) {
12086     return V0LayerParameter_PoolMethod_IsValid(value);
12087   }
12088   static const PoolMethod PoolMethod_MIN =
12089     V0LayerParameter_PoolMethod_PoolMethod_MIN;
12090   static const PoolMethod PoolMethod_MAX =
12091     V0LayerParameter_PoolMethod_PoolMethod_MAX;
12092   static const int PoolMethod_ARRAYSIZE =
12093     V0LayerParameter_PoolMethod_PoolMethod_ARRAYSIZE;
12094   static inline const ::google::protobuf::EnumDescriptor*
12095   PoolMethod_descriptor() {
12096     return V0LayerParameter_PoolMethod_descriptor();
12097   }
12098   static inline const ::std::string& PoolMethod_Name(PoolMethod value) {
12099     return V0LayerParameter_PoolMethod_Name(value);
12100   }
12101   static inline bool PoolMethod_Parse(const ::std::string& name,
12102       PoolMethod* value) {
12103     return V0LayerParameter_PoolMethod_Parse(name, value);
12104   }
12105
12106   // accessors -------------------------------------------------------
12107
12108   // optional string name = 1;
12109   bool has_name() const;
12110   void clear_name();
12111   static const int kNameFieldNumber = 1;
12112   const ::std::string& name() const;
12113   void set_name(const ::std::string& value);
12114   void set_name(const char* value);
12115   void set_name(const char* value, size_t size);
12116   ::std::string* mutable_name();
12117   ::std::string* release_name();
12118   void set_allocated_name(::std::string* name);
12119
12120   // optional string type = 2;
12121   bool has_type() const;
12122   void clear_type();
12123   static const int kTypeFieldNumber = 2;
12124   const ::std::string& type() const;
12125   void set_type(const ::std::string& value);
12126   void set_type(const char* value);
12127   void set_type(const char* value, size_t size);
12128   ::std::string* mutable_type();
12129   ::std::string* release_type();
12130   void set_allocated_type(::std::string* type);
12131
12132   // optional uint32 num_output = 3;
12133   bool has_num_output() const;
12134   void clear_num_output();
12135   static const int kNumOutputFieldNumber = 3;
12136   ::google::protobuf::uint32 num_output() const;
12137   void set_num_output(::google::protobuf::uint32 value);
12138
12139   // optional bool biasterm = 4 [default = true];
12140   bool has_biasterm() const;
12141   void clear_biasterm();
12142   static const int kBiastermFieldNumber = 4;
12143   bool biasterm() const;
12144   void set_biasterm(bool value);
12145
12146   // optional .opencv_caffe.FillerParameter weight_filler = 5;
12147   bool has_weight_filler() const;
12148   void clear_weight_filler();
12149   static const int kWeightFillerFieldNumber = 5;
12150   const ::opencv_caffe::FillerParameter& weight_filler() const;
12151   ::opencv_caffe::FillerParameter* mutable_weight_filler();
12152   ::opencv_caffe::FillerParameter* release_weight_filler();
12153   void set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler);
12154
12155   // optional .opencv_caffe.FillerParameter bias_filler = 6;
12156   bool has_bias_filler() const;
12157   void clear_bias_filler();
12158   static const int kBiasFillerFieldNumber = 6;
12159   const ::opencv_caffe::FillerParameter& bias_filler() const;
12160   ::opencv_caffe::FillerParameter* mutable_bias_filler();
12161   ::opencv_caffe::FillerParameter* release_bias_filler();
12162   void set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler);
12163
12164   // optional uint32 pad = 7 [default = 0];
12165   bool has_pad() const;
12166   void clear_pad();
12167   static const int kPadFieldNumber = 7;
12168   ::google::protobuf::uint32 pad() const;
12169   void set_pad(::google::protobuf::uint32 value);
12170
12171   // optional uint32 kernelsize = 8;
12172   bool has_kernelsize() const;
12173   void clear_kernelsize();
12174   static const int kKernelsizeFieldNumber = 8;
12175   ::google::protobuf::uint32 kernelsize() const;
12176   void set_kernelsize(::google::protobuf::uint32 value);
12177
12178   // optional uint32 group = 9 [default = 1];
12179   bool has_group() const;
12180   void clear_group();
12181   static const int kGroupFieldNumber = 9;
12182   ::google::protobuf::uint32 group() const;
12183   void set_group(::google::protobuf::uint32 value);
12184
12185   // optional uint32 stride = 10 [default = 1];
12186   bool has_stride() const;
12187   void clear_stride();
12188   static const int kStrideFieldNumber = 10;
12189   ::google::protobuf::uint32 stride() const;
12190   void set_stride(::google::protobuf::uint32 value);
12191
12192   // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
12193   bool has_pool() const;
12194   void clear_pool();
12195   static const int kPoolFieldNumber = 11;
12196   ::opencv_caffe::V0LayerParameter_PoolMethod pool() const;
12197   void set_pool(::opencv_caffe::V0LayerParameter_PoolMethod value);
12198
12199   // optional float dropout_ratio = 12 [default = 0.5];
12200   bool has_dropout_ratio() const;
12201   void clear_dropout_ratio();
12202   static const int kDropoutRatioFieldNumber = 12;
12203   float dropout_ratio() const;
12204   void set_dropout_ratio(float value);
12205
12206   // optional uint32 local_size = 13 [default = 5];
12207   bool has_local_size() const;
12208   void clear_local_size();
12209   static const int kLocalSizeFieldNumber = 13;
12210   ::google::protobuf::uint32 local_size() const;
12211   void set_local_size(::google::protobuf::uint32 value);
12212
12213   // optional float alpha = 14 [default = 1];
12214   bool has_alpha() const;
12215   void clear_alpha();
12216   static const int kAlphaFieldNumber = 14;
12217   float alpha() const;
12218   void set_alpha(float value);
12219
12220   // optional float beta = 15 [default = 0.75];
12221   bool has_beta() const;
12222   void clear_beta();
12223   static const int kBetaFieldNumber = 15;
12224   float beta() const;
12225   void set_beta(float value);
12226
12227   // optional float k = 22 [default = 1];
12228   bool has_k() const;
12229   void clear_k();
12230   static const int kKFieldNumber = 22;
12231   float k() const;
12232   void set_k(float value);
12233
12234   // optional string source = 16;
12235   bool has_source() const;
12236   void clear_source();
12237   static const int kSourceFieldNumber = 16;
12238   const ::std::string& source() const;
12239   void set_source(const ::std::string& value);
12240   void set_source(const char* value);
12241   void set_source(const char* value, size_t size);
12242   ::std::string* mutable_source();
12243   ::std::string* release_source();
12244   void set_allocated_source(::std::string* source);
12245
12246   // optional float scale = 17 [default = 1];
12247   bool has_scale() const;
12248   void clear_scale();
12249   static const int kScaleFieldNumber = 17;
12250   float scale() const;
12251   void set_scale(float value);
12252
12253   // optional string meanfile = 18;
12254   bool has_meanfile() const;
12255   void clear_meanfile();
12256   static const int kMeanfileFieldNumber = 18;
12257   const ::std::string& meanfile() const;
12258   void set_meanfile(const ::std::string& value);
12259   void set_meanfile(const char* value);
12260   void set_meanfile(const char* value, size_t size);
12261   ::std::string* mutable_meanfile();
12262   ::std::string* release_meanfile();
12263   void set_allocated_meanfile(::std::string* meanfile);
12264
12265   // optional uint32 batchsize = 19;
12266   bool has_batchsize() const;
12267   void clear_batchsize();
12268   static const int kBatchsizeFieldNumber = 19;
12269   ::google::protobuf::uint32 batchsize() const;
12270   void set_batchsize(::google::protobuf::uint32 value);
12271
12272   // optional uint32 cropsize = 20 [default = 0];
12273   bool has_cropsize() const;
12274   void clear_cropsize();
12275   static const int kCropsizeFieldNumber = 20;
12276   ::google::protobuf::uint32 cropsize() const;
12277   void set_cropsize(::google::protobuf::uint32 value);
12278
12279   // optional bool mirror = 21 [default = false];
12280   bool has_mirror() const;
12281   void clear_mirror();
12282   static const int kMirrorFieldNumber = 21;
12283   bool mirror() const;
12284   void set_mirror(bool value);
12285
12286   // repeated .opencv_caffe.BlobProto blobs = 50;
12287   int blobs_size() const;
12288   void clear_blobs();
12289   static const int kBlobsFieldNumber = 50;
12290   const ::opencv_caffe::BlobProto& blobs(int index) const;
12291   ::opencv_caffe::BlobProto* mutable_blobs(int index);
12292   ::opencv_caffe::BlobProto* add_blobs();
12293   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
12294       mutable_blobs();
12295   const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
12296       blobs() const;
12297
12298   // repeated float blobs_lr = 51;
12299   int blobs_lr_size() const;
12300   void clear_blobs_lr();
12301   static const int kBlobsLrFieldNumber = 51;
12302   float blobs_lr(int index) const;
12303   void set_blobs_lr(int index, float value);
12304   void add_blobs_lr(float value);
12305   const ::google::protobuf::RepeatedField< float >&
12306       blobs_lr() const;
12307   ::google::protobuf::RepeatedField< float >*
12308       mutable_blobs_lr();
12309
12310   // repeated float weight_decay = 52;
12311   int weight_decay_size() const;
12312   void clear_weight_decay();
12313   static const int kWeightDecayFieldNumber = 52;
12314   float weight_decay(int index) const;
12315   void set_weight_decay(int index, float value);
12316   void add_weight_decay(float value);
12317   const ::google::protobuf::RepeatedField< float >&
12318       weight_decay() const;
12319   ::google::protobuf::RepeatedField< float >*
12320       mutable_weight_decay();
12321
12322   // optional uint32 rand_skip = 53 [default = 0];
12323   bool has_rand_skip() const;
12324   void clear_rand_skip();
12325   static const int kRandSkipFieldNumber = 53;
12326   ::google::protobuf::uint32 rand_skip() const;
12327   void set_rand_skip(::google::protobuf::uint32 value);
12328
12329   // optional float det_fg_threshold = 54 [default = 0.5];
12330   bool has_det_fg_threshold() const;
12331   void clear_det_fg_threshold();
12332   static const int kDetFgThresholdFieldNumber = 54;
12333   float det_fg_threshold() const;
12334   void set_det_fg_threshold(float value);
12335
12336   // optional float det_bg_threshold = 55 [default = 0.5];
12337   bool has_det_bg_threshold() const;
12338   void clear_det_bg_threshold();
12339   static const int kDetBgThresholdFieldNumber = 55;
12340   float det_bg_threshold() const;
12341   void set_det_bg_threshold(float value);
12342
12343   // optional float det_fg_fraction = 56 [default = 0.25];
12344   bool has_det_fg_fraction() const;
12345   void clear_det_fg_fraction();
12346   static const int kDetFgFractionFieldNumber = 56;
12347   float det_fg_fraction() const;
12348   void set_det_fg_fraction(float value);
12349
12350   // optional uint32 det_context_pad = 58 [default = 0];
12351   bool has_det_context_pad() const;
12352   void clear_det_context_pad();
12353   static const int kDetContextPadFieldNumber = 58;
12354   ::google::protobuf::uint32 det_context_pad() const;
12355   void set_det_context_pad(::google::protobuf::uint32 value);
12356
12357   // optional string det_crop_mode = 59 [default = "warp"];
12358   bool has_det_crop_mode() const;
12359   void clear_det_crop_mode();
12360   static const int kDetCropModeFieldNumber = 59;
12361   const ::std::string& det_crop_mode() const;
12362   void set_det_crop_mode(const ::std::string& value);
12363   void set_det_crop_mode(const char* value);
12364   void set_det_crop_mode(const char* value, size_t size);
12365   ::std::string* mutable_det_crop_mode();
12366   ::std::string* release_det_crop_mode();
12367   void set_allocated_det_crop_mode(::std::string* det_crop_mode);
12368
12369   // optional int32 new_num = 60 [default = 0];
12370   bool has_new_num() const;
12371   void clear_new_num();
12372   static const int kNewNumFieldNumber = 60;
12373   ::google::protobuf::int32 new_num() const;
12374   void set_new_num(::google::protobuf::int32 value);
12375
12376   // optional int32 new_channels = 61 [default = 0];
12377   bool has_new_channels() const;
12378   void clear_new_channels();
12379   static const int kNewChannelsFieldNumber = 61;
12380   ::google::protobuf::int32 new_channels() const;
12381   void set_new_channels(::google::protobuf::int32 value);
12382
12383   // optional int32 new_height = 62 [default = 0];
12384   bool has_new_height() const;
12385   void clear_new_height();
12386   static const int kNewHeightFieldNumber = 62;
12387   ::google::protobuf::int32 new_height() const;
12388   void set_new_height(::google::protobuf::int32 value);
12389
12390   // optional int32 new_width = 63 [default = 0];
12391   bool has_new_width() const;
12392   void clear_new_width();
12393   static const int kNewWidthFieldNumber = 63;
12394   ::google::protobuf::int32 new_width() const;
12395   void set_new_width(::google::protobuf::int32 value);
12396
12397   // optional bool shuffle_images = 64 [default = false];
12398   bool has_shuffle_images() const;
12399   void clear_shuffle_images();
12400   static const int kShuffleImagesFieldNumber = 64;
12401   bool shuffle_images() const;
12402   void set_shuffle_images(bool value);
12403
12404   // optional uint32 concat_dim = 65 [default = 1];
12405   bool has_concat_dim() const;
12406   void clear_concat_dim();
12407   static const int kConcatDimFieldNumber = 65;
12408   ::google::protobuf::uint32 concat_dim() const;
12409   void set_concat_dim(::google::protobuf::uint32 value);
12410
12411   // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
12412   bool has_hdf5_output_param() const;
12413   void clear_hdf5_output_param();
12414   static const int kHdf5OutputParamFieldNumber = 1001;
12415   const ::opencv_caffe::HDF5OutputParameter& hdf5_output_param() const;
12416   ::opencv_caffe::HDF5OutputParameter* mutable_hdf5_output_param();
12417   ::opencv_caffe::HDF5OutputParameter* release_hdf5_output_param();
12418   void set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param);
12419
12420   // @@protoc_insertion_point(class_scope:opencv_caffe.V0LayerParameter)
12421  private:
12422   inline void set_has_name();
12423   inline void clear_has_name();
12424   inline void set_has_type();
12425   inline void clear_has_type();
12426   inline void set_has_num_output();
12427   inline void clear_has_num_output();
12428   inline void set_has_biasterm();
12429   inline void clear_has_biasterm();
12430   inline void set_has_weight_filler();
12431   inline void clear_has_weight_filler();
12432   inline void set_has_bias_filler();
12433   inline void clear_has_bias_filler();
12434   inline void set_has_pad();
12435   inline void clear_has_pad();
12436   inline void set_has_kernelsize();
12437   inline void clear_has_kernelsize();
12438   inline void set_has_group();
12439   inline void clear_has_group();
12440   inline void set_has_stride();
12441   inline void clear_has_stride();
12442   inline void set_has_pool();
12443   inline void clear_has_pool();
12444   inline void set_has_dropout_ratio();
12445   inline void clear_has_dropout_ratio();
12446   inline void set_has_local_size();
12447   inline void clear_has_local_size();
12448   inline void set_has_alpha();
12449   inline void clear_has_alpha();
12450   inline void set_has_beta();
12451   inline void clear_has_beta();
12452   inline void set_has_k();
12453   inline void clear_has_k();
12454   inline void set_has_source();
12455   inline void clear_has_source();
12456   inline void set_has_scale();
12457   inline void clear_has_scale();
12458   inline void set_has_meanfile();
12459   inline void clear_has_meanfile();
12460   inline void set_has_batchsize();
12461   inline void clear_has_batchsize();
12462   inline void set_has_cropsize();
12463   inline void clear_has_cropsize();
12464   inline void set_has_mirror();
12465   inline void clear_has_mirror();
12466   inline void set_has_rand_skip();
12467   inline void clear_has_rand_skip();
12468   inline void set_has_det_fg_threshold();
12469   inline void clear_has_det_fg_threshold();
12470   inline void set_has_det_bg_threshold();
12471   inline void clear_has_det_bg_threshold();
12472   inline void set_has_det_fg_fraction();
12473   inline void clear_has_det_fg_fraction();
12474   inline void set_has_det_context_pad();
12475   inline void clear_has_det_context_pad();
12476   inline void set_has_det_crop_mode();
12477   inline void clear_has_det_crop_mode();
12478   inline void set_has_new_num();
12479   inline void clear_has_new_num();
12480   inline void set_has_new_channels();
12481   inline void clear_has_new_channels();
12482   inline void set_has_new_height();
12483   inline void clear_has_new_height();
12484   inline void set_has_new_width();
12485   inline void clear_has_new_width();
12486   inline void set_has_shuffle_images();
12487   inline void clear_has_shuffle_images();
12488   inline void set_has_concat_dim();
12489   inline void clear_has_concat_dim();
12490   inline void set_has_hdf5_output_param();
12491   inline void clear_has_hdf5_output_param();
12492
12493   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12494   ::google::protobuf::internal::HasBits<2> _has_bits_;
12495   ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto > blobs_;
12496   ::google::protobuf::RepeatedField< float > blobs_lr_;
12497   ::google::protobuf::RepeatedField< float > weight_decay_;
12498   ::google::protobuf::internal::ArenaStringPtr name_;
12499   ::google::protobuf::internal::ArenaStringPtr type_;
12500   ::google::protobuf::internal::ArenaStringPtr source_;
12501   ::google::protobuf::internal::ArenaStringPtr meanfile_;
12502   static ::std::string* _default_det_crop_mode_;
12503   ::google::protobuf::internal::ArenaStringPtr det_crop_mode_;
12504   ::opencv_caffe::FillerParameter* weight_filler_;
12505   ::opencv_caffe::FillerParameter* bias_filler_;
12506   ::opencv_caffe::HDF5OutputParameter* hdf5_output_param_;
12507   ::google::protobuf::uint32 num_output_;
12508   ::google::protobuf::uint32 pad_;
12509   ::google::protobuf::uint32 kernelsize_;
12510   int pool_;
12511   ::google::protobuf::uint32 batchsize_;
12512   ::google::protobuf::uint32 cropsize_;
12513   ::google::protobuf::uint32 rand_skip_;
12514   bool mirror_;
12515   bool shuffle_images_;
12516   ::google::protobuf::uint32 det_context_pad_;
12517   ::google::protobuf::int32 new_num_;
12518   ::google::protobuf::int32 new_channels_;
12519   ::google::protobuf::int32 new_height_;
12520   ::google::protobuf::int32 new_width_;
12521   ::google::protobuf::uint32 concat_dim_;
12522   bool biasterm_;
12523   ::google::protobuf::uint32 group_;
12524   ::google::protobuf::uint32 stride_;
12525   float dropout_ratio_;
12526   ::google::protobuf::uint32 local_size_;
12527   float alpha_;
12528   float beta_;
12529   float k_;
12530   float scale_;
12531   float det_fg_threshold_;
12532   float det_bg_threshold_;
12533   float det_fg_fraction_;
12534   mutable int _cached_size_;
12535   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12536   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12537   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12538   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12539
12540   void InitAsDefaultInstance();
12541 };
12542 extern ::google::protobuf::internal::ExplicitlyConstructed<V0LayerParameter> V0LayerParameter_default_instance_;
12543
12544 // -------------------------------------------------------------------
12545
12546 class PReLUParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.PReLUParameter) */ {
12547  public:
12548   PReLUParameter();
12549   virtual ~PReLUParameter();
12550
12551   PReLUParameter(const PReLUParameter& from);
12552
12553   inline PReLUParameter& operator=(const PReLUParameter& from) {
12554     CopyFrom(from);
12555     return *this;
12556   }
12557
12558   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12559     return _internal_metadata_.unknown_fields();
12560   }
12561
12562   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12563     return _internal_metadata_.mutable_unknown_fields();
12564   }
12565
12566   static const ::google::protobuf::Descriptor* descriptor();
12567   static const PReLUParameter& default_instance();
12568
12569   static const PReLUParameter* internal_default_instance();
12570
12571   void Swap(PReLUParameter* other);
12572
12573   // implements Message ----------------------------------------------
12574
12575   inline PReLUParameter* New() const { return New(NULL); }
12576
12577   PReLUParameter* New(::google::protobuf::Arena* arena) const;
12578   void CopyFrom(const ::google::protobuf::Message& from);
12579   void MergeFrom(const ::google::protobuf::Message& from);
12580   void CopyFrom(const PReLUParameter& from);
12581   void MergeFrom(const PReLUParameter& from);
12582   void Clear();
12583   bool IsInitialized() const;
12584
12585   size_t ByteSizeLong() const;
12586   bool MergePartialFromCodedStream(
12587       ::google::protobuf::io::CodedInputStream* input);
12588   void SerializeWithCachedSizes(
12589       ::google::protobuf::io::CodedOutputStream* output) const;
12590   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12591       bool deterministic, ::google::protobuf::uint8* output) const;
12592   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12593     return InternalSerializeWithCachedSizesToArray(false, output);
12594   }
12595   int GetCachedSize() const { return _cached_size_; }
12596   private:
12597   void SharedCtor();
12598   void SharedDtor();
12599   void SetCachedSize(int size) const;
12600   void InternalSwap(PReLUParameter* other);
12601   void UnsafeMergeFrom(const PReLUParameter& from);
12602   private:
12603   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12604     return _internal_metadata_.arena();
12605   }
12606   inline void* MaybeArenaPtr() const {
12607     return _internal_metadata_.raw_arena_ptr();
12608   }
12609   public:
12610
12611   ::google::protobuf::Metadata GetMetadata() const;
12612
12613   // nested types ----------------------------------------------------
12614
12615   // accessors -------------------------------------------------------
12616
12617   // optional .opencv_caffe.FillerParameter filler = 1;
12618   bool has_filler() const;
12619   void clear_filler();
12620   static const int kFillerFieldNumber = 1;
12621   const ::opencv_caffe::FillerParameter& filler() const;
12622   ::opencv_caffe::FillerParameter* mutable_filler();
12623   ::opencv_caffe::FillerParameter* release_filler();
12624   void set_allocated_filler(::opencv_caffe::FillerParameter* filler);
12625
12626   // optional bool channel_shared = 2 [default = false];
12627   bool has_channel_shared() const;
12628   void clear_channel_shared();
12629   static const int kChannelSharedFieldNumber = 2;
12630   bool channel_shared() const;
12631   void set_channel_shared(bool value);
12632
12633   // @@protoc_insertion_point(class_scope:opencv_caffe.PReLUParameter)
12634  private:
12635   inline void set_has_filler();
12636   inline void clear_has_filler();
12637   inline void set_has_channel_shared();
12638   inline void clear_has_channel_shared();
12639
12640   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12641   ::google::protobuf::internal::HasBits<1> _has_bits_;
12642   mutable int _cached_size_;
12643   ::opencv_caffe::FillerParameter* filler_;
12644   bool channel_shared_;
12645   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12646   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12647   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12648   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12649
12650   void InitAsDefaultInstance();
12651 };
12652 extern ::google::protobuf::internal::ExplicitlyConstructed<PReLUParameter> PReLUParameter_default_instance_;
12653
12654 // -------------------------------------------------------------------
12655
12656 class NormalizedBBox : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.NormalizedBBox) */ {
12657  public:
12658   NormalizedBBox();
12659   virtual ~NormalizedBBox();
12660
12661   NormalizedBBox(const NormalizedBBox& from);
12662
12663   inline NormalizedBBox& operator=(const NormalizedBBox& from) {
12664     CopyFrom(from);
12665     return *this;
12666   }
12667
12668   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12669     return _internal_metadata_.unknown_fields();
12670   }
12671
12672   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12673     return _internal_metadata_.mutable_unknown_fields();
12674   }
12675
12676   static const ::google::protobuf::Descriptor* descriptor();
12677   static const NormalizedBBox& default_instance();
12678
12679   static const NormalizedBBox* internal_default_instance();
12680
12681   void Swap(NormalizedBBox* other);
12682
12683   // implements Message ----------------------------------------------
12684
12685   inline NormalizedBBox* New() const { return New(NULL); }
12686
12687   NormalizedBBox* New(::google::protobuf::Arena* arena) const;
12688   void CopyFrom(const ::google::protobuf::Message& from);
12689   void MergeFrom(const ::google::protobuf::Message& from);
12690   void CopyFrom(const NormalizedBBox& from);
12691   void MergeFrom(const NormalizedBBox& from);
12692   void Clear();
12693   bool IsInitialized() const;
12694
12695   size_t ByteSizeLong() const;
12696   bool MergePartialFromCodedStream(
12697       ::google::protobuf::io::CodedInputStream* input);
12698   void SerializeWithCachedSizes(
12699       ::google::protobuf::io::CodedOutputStream* output) const;
12700   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12701       bool deterministic, ::google::protobuf::uint8* output) const;
12702   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12703     return InternalSerializeWithCachedSizesToArray(false, output);
12704   }
12705   int GetCachedSize() const { return _cached_size_; }
12706   private:
12707   void SharedCtor();
12708   void SharedDtor();
12709   void SetCachedSize(int size) const;
12710   void InternalSwap(NormalizedBBox* other);
12711   void UnsafeMergeFrom(const NormalizedBBox& from);
12712   private:
12713   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12714     return _internal_metadata_.arena();
12715   }
12716   inline void* MaybeArenaPtr() const {
12717     return _internal_metadata_.raw_arena_ptr();
12718   }
12719   public:
12720
12721   ::google::protobuf::Metadata GetMetadata() const;
12722
12723   // nested types ----------------------------------------------------
12724
12725   // accessors -------------------------------------------------------
12726
12727   // optional float xmin = 1;
12728   bool has_xmin() const;
12729   void clear_xmin();
12730   static const int kXminFieldNumber = 1;
12731   float xmin() const;
12732   void set_xmin(float value);
12733
12734   // optional float ymin = 2;
12735   bool has_ymin() const;
12736   void clear_ymin();
12737   static const int kYminFieldNumber = 2;
12738   float ymin() const;
12739   void set_ymin(float value);
12740
12741   // optional float xmax = 3;
12742   bool has_xmax() const;
12743   void clear_xmax();
12744   static const int kXmaxFieldNumber = 3;
12745   float xmax() const;
12746   void set_xmax(float value);
12747
12748   // optional float ymax = 4;
12749   bool has_ymax() const;
12750   void clear_ymax();
12751   static const int kYmaxFieldNumber = 4;
12752   float ymax() const;
12753   void set_ymax(float value);
12754
12755   // optional int32 label = 5;
12756   bool has_label() const;
12757   void clear_label();
12758   static const int kLabelFieldNumber = 5;
12759   ::google::protobuf::int32 label() const;
12760   void set_label(::google::protobuf::int32 value);
12761
12762   // optional bool difficult = 6;
12763   bool has_difficult() const;
12764   void clear_difficult();
12765   static const int kDifficultFieldNumber = 6;
12766   bool difficult() const;
12767   void set_difficult(bool value);
12768
12769   // optional float score = 7;
12770   bool has_score() const;
12771   void clear_score();
12772   static const int kScoreFieldNumber = 7;
12773   float score() const;
12774   void set_score(float value);
12775
12776   // optional float size = 8;
12777   bool has_size() const;
12778   void clear_size();
12779   static const int kSizeFieldNumber = 8;
12780   float size() const;
12781   void set_size(float value);
12782
12783   // @@protoc_insertion_point(class_scope:opencv_caffe.NormalizedBBox)
12784  private:
12785   inline void set_has_xmin();
12786   inline void clear_has_xmin();
12787   inline void set_has_ymin();
12788   inline void clear_has_ymin();
12789   inline void set_has_xmax();
12790   inline void clear_has_xmax();
12791   inline void set_has_ymax();
12792   inline void clear_has_ymax();
12793   inline void set_has_label();
12794   inline void clear_has_label();
12795   inline void set_has_difficult();
12796   inline void clear_has_difficult();
12797   inline void set_has_score();
12798   inline void clear_has_score();
12799   inline void set_has_size();
12800   inline void clear_has_size();
12801
12802   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12803   ::google::protobuf::internal::HasBits<1> _has_bits_;
12804   mutable int _cached_size_;
12805   float xmin_;
12806   float ymin_;
12807   float xmax_;
12808   float ymax_;
12809   ::google::protobuf::int32 label_;
12810   bool difficult_;
12811   float score_;
12812   float size_;
12813   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12814   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12815   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12816   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12817
12818   void InitAsDefaultInstance();
12819 };
12820 extern ::google::protobuf::internal::ExplicitlyConstructed<NormalizedBBox> NormalizedBBox_default_instance_;
12821
12822 // -------------------------------------------------------------------
12823
12824 class ROIPoolingParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ROIPoolingParameter) */ {
12825  public:
12826   ROIPoolingParameter();
12827   virtual ~ROIPoolingParameter();
12828
12829   ROIPoolingParameter(const ROIPoolingParameter& from);
12830
12831   inline ROIPoolingParameter& operator=(const ROIPoolingParameter& from) {
12832     CopyFrom(from);
12833     return *this;
12834   }
12835
12836   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12837     return _internal_metadata_.unknown_fields();
12838   }
12839
12840   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12841     return _internal_metadata_.mutable_unknown_fields();
12842   }
12843
12844   static const ::google::protobuf::Descriptor* descriptor();
12845   static const ROIPoolingParameter& default_instance();
12846
12847   static const ROIPoolingParameter* internal_default_instance();
12848
12849   void Swap(ROIPoolingParameter* other);
12850
12851   // implements Message ----------------------------------------------
12852
12853   inline ROIPoolingParameter* New() const { return New(NULL); }
12854
12855   ROIPoolingParameter* New(::google::protobuf::Arena* arena) const;
12856   void CopyFrom(const ::google::protobuf::Message& from);
12857   void MergeFrom(const ::google::protobuf::Message& from);
12858   void CopyFrom(const ROIPoolingParameter& from);
12859   void MergeFrom(const ROIPoolingParameter& from);
12860   void Clear();
12861   bool IsInitialized() const;
12862
12863   size_t ByteSizeLong() const;
12864   bool MergePartialFromCodedStream(
12865       ::google::protobuf::io::CodedInputStream* input);
12866   void SerializeWithCachedSizes(
12867       ::google::protobuf::io::CodedOutputStream* output) const;
12868   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12869       bool deterministic, ::google::protobuf::uint8* output) const;
12870   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12871     return InternalSerializeWithCachedSizesToArray(false, output);
12872   }
12873   int GetCachedSize() const { return _cached_size_; }
12874   private:
12875   void SharedCtor();
12876   void SharedDtor();
12877   void SetCachedSize(int size) const;
12878   void InternalSwap(ROIPoolingParameter* other);
12879   void UnsafeMergeFrom(const ROIPoolingParameter& from);
12880   private:
12881   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
12882     return _internal_metadata_.arena();
12883   }
12884   inline void* MaybeArenaPtr() const {
12885     return _internal_metadata_.raw_arena_ptr();
12886   }
12887   public:
12888
12889   ::google::protobuf::Metadata GetMetadata() const;
12890
12891   // nested types ----------------------------------------------------
12892
12893   // accessors -------------------------------------------------------
12894
12895   // optional uint32 pooled_h = 1 [default = 0];
12896   bool has_pooled_h() const;
12897   void clear_pooled_h();
12898   static const int kPooledHFieldNumber = 1;
12899   ::google::protobuf::uint32 pooled_h() const;
12900   void set_pooled_h(::google::protobuf::uint32 value);
12901
12902   // optional uint32 pooled_w = 2 [default = 0];
12903   bool has_pooled_w() const;
12904   void clear_pooled_w();
12905   static const int kPooledWFieldNumber = 2;
12906   ::google::protobuf::uint32 pooled_w() const;
12907   void set_pooled_w(::google::protobuf::uint32 value);
12908
12909   // optional float spatial_scale = 3 [default = 1];
12910   bool has_spatial_scale() const;
12911   void clear_spatial_scale();
12912   static const int kSpatialScaleFieldNumber = 3;
12913   float spatial_scale() const;
12914   void set_spatial_scale(float value);
12915
12916   // @@protoc_insertion_point(class_scope:opencv_caffe.ROIPoolingParameter)
12917  private:
12918   inline void set_has_pooled_h();
12919   inline void clear_has_pooled_h();
12920   inline void set_has_pooled_w();
12921   inline void clear_has_pooled_w();
12922   inline void set_has_spatial_scale();
12923   inline void clear_has_spatial_scale();
12924
12925   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
12926   ::google::protobuf::internal::HasBits<1> _has_bits_;
12927   mutable int _cached_size_;
12928   ::google::protobuf::uint32 pooled_h_;
12929   ::google::protobuf::uint32 pooled_w_;
12930   float spatial_scale_;
12931   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
12932   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
12933   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
12934   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
12935
12936   void InitAsDefaultInstance();
12937 };
12938 extern ::google::protobuf::internal::ExplicitlyConstructed<ROIPoolingParameter> ROIPoolingParameter_default_instance_;
12939
12940 // -------------------------------------------------------------------
12941
12942 class ProposalParameter : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:opencv_caffe.ProposalParameter) */ {
12943  public:
12944   ProposalParameter();
12945   virtual ~ProposalParameter();
12946
12947   ProposalParameter(const ProposalParameter& from);
12948
12949   inline ProposalParameter& operator=(const ProposalParameter& from) {
12950     CopyFrom(from);
12951     return *this;
12952   }
12953
12954   inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const {
12955     return _internal_metadata_.unknown_fields();
12956   }
12957
12958   inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() {
12959     return _internal_metadata_.mutable_unknown_fields();
12960   }
12961
12962   static const ::google::protobuf::Descriptor* descriptor();
12963   static const ProposalParameter& default_instance();
12964
12965   static const ProposalParameter* internal_default_instance();
12966
12967   void Swap(ProposalParameter* other);
12968
12969   // implements Message ----------------------------------------------
12970
12971   inline ProposalParameter* New() const { return New(NULL); }
12972
12973   ProposalParameter* New(::google::protobuf::Arena* arena) const;
12974   void CopyFrom(const ::google::protobuf::Message& from);
12975   void MergeFrom(const ::google::protobuf::Message& from);
12976   void CopyFrom(const ProposalParameter& from);
12977   void MergeFrom(const ProposalParameter& from);
12978   void Clear();
12979   bool IsInitialized() const;
12980
12981   size_t ByteSizeLong() const;
12982   bool MergePartialFromCodedStream(
12983       ::google::protobuf::io::CodedInputStream* input);
12984   void SerializeWithCachedSizes(
12985       ::google::protobuf::io::CodedOutputStream* output) const;
12986   ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
12987       bool deterministic, ::google::protobuf::uint8* output) const;
12988   ::google::protobuf::uint8* SerializeWithCachedSizesToArray(::google::protobuf::uint8* output) const {
12989     return InternalSerializeWithCachedSizesToArray(false, output);
12990   }
12991   int GetCachedSize() const { return _cached_size_; }
12992   private:
12993   void SharedCtor();
12994   void SharedDtor();
12995   void SetCachedSize(int size) const;
12996   void InternalSwap(ProposalParameter* other);
12997   void UnsafeMergeFrom(const ProposalParameter& from);
12998   private:
12999   inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
13000     return _internal_metadata_.arena();
13001   }
13002   inline void* MaybeArenaPtr() const {
13003     return _internal_metadata_.raw_arena_ptr();
13004   }
13005   public:
13006
13007   ::google::protobuf::Metadata GetMetadata() const;
13008
13009   // nested types ----------------------------------------------------
13010
13011   // accessors -------------------------------------------------------
13012
13013   // optional uint32 feat_stride = 1 [default = 16];
13014   bool has_feat_stride() const;
13015   void clear_feat_stride();
13016   static const int kFeatStrideFieldNumber = 1;
13017   ::google::protobuf::uint32 feat_stride() const;
13018   void set_feat_stride(::google::protobuf::uint32 value);
13019
13020   // optional uint32 base_size = 2 [default = 16];
13021   bool has_base_size() const;
13022   void clear_base_size();
13023   static const int kBaseSizeFieldNumber = 2;
13024   ::google::protobuf::uint32 base_size() const;
13025   void set_base_size(::google::protobuf::uint32 value);
13026
13027   // optional uint32 min_size = 3 [default = 16];
13028   bool has_min_size() const;
13029   void clear_min_size();
13030   static const int kMinSizeFieldNumber = 3;
13031   ::google::protobuf::uint32 min_size() const;
13032   void set_min_size(::google::protobuf::uint32 value);
13033
13034   // repeated float ratio = 4;
13035   int ratio_size() const;
13036   void clear_ratio();
13037   static const int kRatioFieldNumber = 4;
13038   float ratio(int index) const;
13039   void set_ratio(int index, float value);
13040   void add_ratio(float value);
13041   const ::google::protobuf::RepeatedField< float >&
13042       ratio() const;
13043   ::google::protobuf::RepeatedField< float >*
13044       mutable_ratio();
13045
13046   // repeated float scale = 5;
13047   int scale_size() const;
13048   void clear_scale();
13049   static const int kScaleFieldNumber = 5;
13050   float scale(int index) const;
13051   void set_scale(int index, float value);
13052   void add_scale(float value);
13053   const ::google::protobuf::RepeatedField< float >&
13054       scale() const;
13055   ::google::protobuf::RepeatedField< float >*
13056       mutable_scale();
13057
13058   // optional uint32 pre_nms_topn = 6 [default = 6000];
13059   bool has_pre_nms_topn() const;
13060   void clear_pre_nms_topn();
13061   static const int kPreNmsTopnFieldNumber = 6;
13062   ::google::protobuf::uint32 pre_nms_topn() const;
13063   void set_pre_nms_topn(::google::protobuf::uint32 value);
13064
13065   // optional uint32 post_nms_topn = 7 [default = 300];
13066   bool has_post_nms_topn() const;
13067   void clear_post_nms_topn();
13068   static const int kPostNmsTopnFieldNumber = 7;
13069   ::google::protobuf::uint32 post_nms_topn() const;
13070   void set_post_nms_topn(::google::protobuf::uint32 value);
13071
13072   // optional float nms_thresh = 8 [default = 0.7];
13073   bool has_nms_thresh() const;
13074   void clear_nms_thresh();
13075   static const int kNmsThreshFieldNumber = 8;
13076   float nms_thresh() const;
13077   void set_nms_thresh(float value);
13078
13079   // @@protoc_insertion_point(class_scope:opencv_caffe.ProposalParameter)
13080  private:
13081   inline void set_has_feat_stride();
13082   inline void clear_has_feat_stride();
13083   inline void set_has_base_size();
13084   inline void clear_has_base_size();
13085   inline void set_has_min_size();
13086   inline void clear_has_min_size();
13087   inline void set_has_pre_nms_topn();
13088   inline void clear_has_pre_nms_topn();
13089   inline void set_has_post_nms_topn();
13090   inline void clear_has_post_nms_topn();
13091   inline void set_has_nms_thresh();
13092   inline void clear_has_nms_thresh();
13093
13094   ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
13095   ::google::protobuf::internal::HasBits<1> _has_bits_;
13096   mutable int _cached_size_;
13097   ::google::protobuf::RepeatedField< float > ratio_;
13098   ::google::protobuf::RepeatedField< float > scale_;
13099   ::google::protobuf::uint32 feat_stride_;
13100   ::google::protobuf::uint32 base_size_;
13101   ::google::protobuf::uint32 min_size_;
13102   ::google::protobuf::uint32 pre_nms_topn_;
13103   ::google::protobuf::uint32 post_nms_topn_;
13104   float nms_thresh_;
13105   friend void  protobuf_InitDefaults_opencv_2dcaffe_2eproto_impl();
13106   friend void  protobuf_AddDesc_opencv_2dcaffe_2eproto_impl();
13107   friend void protobuf_AssignDesc_opencv_2dcaffe_2eproto();
13108   friend void protobuf_ShutdownFile_opencv_2dcaffe_2eproto();
13109
13110   void InitAsDefaultInstance();
13111 };
13112 extern ::google::protobuf::internal::ExplicitlyConstructed<ProposalParameter> ProposalParameter_default_instance_;
13113
13114 // ===================================================================
13115
13116
13117 // ===================================================================
13118
13119 #if !PROTOBUF_INLINE_NOT_IN_HEADERS
13120 // BlobShape
13121
13122 // repeated int64 dim = 1 [packed = true];
13123 inline int BlobShape::dim_size() const {
13124   return dim_.size();
13125 }
13126 inline void BlobShape::clear_dim() {
13127   dim_.Clear();
13128 }
13129 inline ::google::protobuf::int64 BlobShape::dim(int index) const {
13130   // @@protoc_insertion_point(field_get:opencv_caffe.BlobShape.dim)
13131   return dim_.Get(index);
13132 }
13133 inline void BlobShape::set_dim(int index, ::google::protobuf::int64 value) {
13134   dim_.Set(index, value);
13135   // @@protoc_insertion_point(field_set:opencv_caffe.BlobShape.dim)
13136 }
13137 inline void BlobShape::add_dim(::google::protobuf::int64 value) {
13138   dim_.Add(value);
13139   // @@protoc_insertion_point(field_add:opencv_caffe.BlobShape.dim)
13140 }
13141 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int64 >&
13142 BlobShape::dim() const {
13143   // @@protoc_insertion_point(field_list:opencv_caffe.BlobShape.dim)
13144   return dim_;
13145 }
13146 inline ::google::protobuf::RepeatedField< ::google::protobuf::int64 >*
13147 BlobShape::mutable_dim() {
13148   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobShape.dim)
13149   return &dim_;
13150 }
13151
13152 inline const BlobShape* BlobShape::internal_default_instance() {
13153   return &BlobShape_default_instance_.get();
13154 }
13155 // -------------------------------------------------------------------
13156
13157 // BlobProto
13158
13159 // optional .opencv_caffe.BlobShape shape = 7;
13160 inline bool BlobProto::has_shape() const {
13161   return (_has_bits_[0] & 0x00000001u) != 0;
13162 }
13163 inline void BlobProto::set_has_shape() {
13164   _has_bits_[0] |= 0x00000001u;
13165 }
13166 inline void BlobProto::clear_has_shape() {
13167   _has_bits_[0] &= ~0x00000001u;
13168 }
13169 inline void BlobProto::clear_shape() {
13170   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
13171   clear_has_shape();
13172 }
13173 inline const ::opencv_caffe::BlobShape& BlobProto::shape() const {
13174   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.shape)
13175   return shape_ != NULL ? *shape_
13176                          : *::opencv_caffe::BlobShape::internal_default_instance();
13177 }
13178 inline ::opencv_caffe::BlobShape* BlobProto::mutable_shape() {
13179   set_has_shape();
13180   if (shape_ == NULL) {
13181     shape_ = new ::opencv_caffe::BlobShape;
13182   }
13183   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.shape)
13184   return shape_;
13185 }
13186 inline ::opencv_caffe::BlobShape* BlobProto::release_shape() {
13187   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.shape)
13188   clear_has_shape();
13189   ::opencv_caffe::BlobShape* temp = shape_;
13190   shape_ = NULL;
13191   return temp;
13192 }
13193 inline void BlobProto::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
13194   delete shape_;
13195   shape_ = shape;
13196   if (shape) {
13197     set_has_shape();
13198   } else {
13199     clear_has_shape();
13200   }
13201   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.shape)
13202 }
13203
13204 // repeated float data = 5 [packed = true];
13205 inline int BlobProto::data_size() const {
13206   return data_.size();
13207 }
13208 inline void BlobProto::clear_data() {
13209   data_.Clear();
13210 }
13211 inline float BlobProto::data(int index) const {
13212   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.data)
13213   return data_.Get(index);
13214 }
13215 inline void BlobProto::set_data(int index, float value) {
13216   data_.Set(index, value);
13217   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.data)
13218 }
13219 inline void BlobProto::add_data(float value) {
13220   data_.Add(value);
13221   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.data)
13222 }
13223 inline const ::google::protobuf::RepeatedField< float >&
13224 BlobProto::data() const {
13225   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.data)
13226   return data_;
13227 }
13228 inline ::google::protobuf::RepeatedField< float >*
13229 BlobProto::mutable_data() {
13230   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.data)
13231   return &data_;
13232 }
13233
13234 // repeated float diff = 6 [packed = true];
13235 inline int BlobProto::diff_size() const {
13236   return diff_.size();
13237 }
13238 inline void BlobProto::clear_diff() {
13239   diff_.Clear();
13240 }
13241 inline float BlobProto::diff(int index) const {
13242   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.diff)
13243   return diff_.Get(index);
13244 }
13245 inline void BlobProto::set_diff(int index, float value) {
13246   diff_.Set(index, value);
13247   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.diff)
13248 }
13249 inline void BlobProto::add_diff(float value) {
13250   diff_.Add(value);
13251   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.diff)
13252 }
13253 inline const ::google::protobuf::RepeatedField< float >&
13254 BlobProto::diff() const {
13255   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.diff)
13256   return diff_;
13257 }
13258 inline ::google::protobuf::RepeatedField< float >*
13259 BlobProto::mutable_diff() {
13260   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.diff)
13261   return &diff_;
13262 }
13263
13264 // repeated double double_data = 8 [packed = true];
13265 inline int BlobProto::double_data_size() const {
13266   return double_data_.size();
13267 }
13268 inline void BlobProto::clear_double_data() {
13269   double_data_.Clear();
13270 }
13271 inline double BlobProto::double_data(int index) const {
13272   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_data)
13273   return double_data_.Get(index);
13274 }
13275 inline void BlobProto::set_double_data(int index, double value) {
13276   double_data_.Set(index, value);
13277   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_data)
13278 }
13279 inline void BlobProto::add_double_data(double value) {
13280   double_data_.Add(value);
13281   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_data)
13282 }
13283 inline const ::google::protobuf::RepeatedField< double >&
13284 BlobProto::double_data() const {
13285   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_data)
13286   return double_data_;
13287 }
13288 inline ::google::protobuf::RepeatedField< double >*
13289 BlobProto::mutable_double_data() {
13290   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_data)
13291   return &double_data_;
13292 }
13293
13294 // repeated double double_diff = 9 [packed = true];
13295 inline int BlobProto::double_diff_size() const {
13296   return double_diff_.size();
13297 }
13298 inline void BlobProto::clear_double_diff() {
13299   double_diff_.Clear();
13300 }
13301 inline double BlobProto::double_diff(int index) const {
13302   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.double_diff)
13303   return double_diff_.Get(index);
13304 }
13305 inline void BlobProto::set_double_diff(int index, double value) {
13306   double_diff_.Set(index, value);
13307   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.double_diff)
13308 }
13309 inline void BlobProto::add_double_diff(double value) {
13310   double_diff_.Add(value);
13311   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProto.double_diff)
13312 }
13313 inline const ::google::protobuf::RepeatedField< double >&
13314 BlobProto::double_diff() const {
13315   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProto.double_diff)
13316   return double_diff_;
13317 }
13318 inline ::google::protobuf::RepeatedField< double >*
13319 BlobProto::mutable_double_diff() {
13320   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProto.double_diff)
13321   return &double_diff_;
13322 }
13323
13324 // optional .opencv_caffe.Type raw_data_type = 10;
13325 inline bool BlobProto::has_raw_data_type() const {
13326   return (_has_bits_[0] & 0x00000020u) != 0;
13327 }
13328 inline void BlobProto::set_has_raw_data_type() {
13329   _has_bits_[0] |= 0x00000020u;
13330 }
13331 inline void BlobProto::clear_has_raw_data_type() {
13332   _has_bits_[0] &= ~0x00000020u;
13333 }
13334 inline void BlobProto::clear_raw_data_type() {
13335   raw_data_type_ = 0;
13336   clear_has_raw_data_type();
13337 }
13338 inline ::opencv_caffe::Type BlobProto::raw_data_type() const {
13339   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data_type)
13340   return static_cast< ::opencv_caffe::Type >(raw_data_type_);
13341 }
13342 inline void BlobProto::set_raw_data_type(::opencv_caffe::Type value) {
13343   assert(::opencv_caffe::Type_IsValid(value));
13344   set_has_raw_data_type();
13345   raw_data_type_ = value;
13346   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data_type)
13347 }
13348
13349 // optional bytes raw_data = 12 [packed = false];
13350 inline bool BlobProto::has_raw_data() const {
13351   return (_has_bits_[0] & 0x00000040u) != 0;
13352 }
13353 inline void BlobProto::set_has_raw_data() {
13354   _has_bits_[0] |= 0x00000040u;
13355 }
13356 inline void BlobProto::clear_has_raw_data() {
13357   _has_bits_[0] &= ~0x00000040u;
13358 }
13359 inline void BlobProto::clear_raw_data() {
13360   raw_data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13361   clear_has_raw_data();
13362 }
13363 inline const ::std::string& BlobProto::raw_data() const {
13364   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.raw_data)
13365   return raw_data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13366 }
13367 inline void BlobProto::set_raw_data(const ::std::string& value) {
13368   set_has_raw_data();
13369   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
13370   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.raw_data)
13371 }
13372 inline void BlobProto::set_raw_data(const char* value) {
13373   set_has_raw_data();
13374   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
13375   // @@protoc_insertion_point(field_set_char:opencv_caffe.BlobProto.raw_data)
13376 }
13377 inline void BlobProto::set_raw_data(const void* value, size_t size) {
13378   set_has_raw_data();
13379   raw_data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
13380       ::std::string(reinterpret_cast<const char*>(value), size));
13381   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.BlobProto.raw_data)
13382 }
13383 inline ::std::string* BlobProto::mutable_raw_data() {
13384   set_has_raw_data();
13385   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProto.raw_data)
13386   return raw_data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13387 }
13388 inline ::std::string* BlobProto::release_raw_data() {
13389   // @@protoc_insertion_point(field_release:opencv_caffe.BlobProto.raw_data)
13390   clear_has_raw_data();
13391   return raw_data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
13392 }
13393 inline void BlobProto::set_allocated_raw_data(::std::string* raw_data) {
13394   if (raw_data != NULL) {
13395     set_has_raw_data();
13396   } else {
13397     clear_has_raw_data();
13398   }
13399   raw_data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), raw_data);
13400   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BlobProto.raw_data)
13401 }
13402
13403 // optional int32 num = 1 [default = 0];
13404 inline bool BlobProto::has_num() const {
13405   return (_has_bits_[0] & 0x00000080u) != 0;
13406 }
13407 inline void BlobProto::set_has_num() {
13408   _has_bits_[0] |= 0x00000080u;
13409 }
13410 inline void BlobProto::clear_has_num() {
13411   _has_bits_[0] &= ~0x00000080u;
13412 }
13413 inline void BlobProto::clear_num() {
13414   num_ = 0;
13415   clear_has_num();
13416 }
13417 inline ::google::protobuf::int32 BlobProto::num() const {
13418   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.num)
13419   return num_;
13420 }
13421 inline void BlobProto::set_num(::google::protobuf::int32 value) {
13422   set_has_num();
13423   num_ = value;
13424   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.num)
13425 }
13426
13427 // optional int32 channels = 2 [default = 0];
13428 inline bool BlobProto::has_channels() const {
13429   return (_has_bits_[0] & 0x00000100u) != 0;
13430 }
13431 inline void BlobProto::set_has_channels() {
13432   _has_bits_[0] |= 0x00000100u;
13433 }
13434 inline void BlobProto::clear_has_channels() {
13435   _has_bits_[0] &= ~0x00000100u;
13436 }
13437 inline void BlobProto::clear_channels() {
13438   channels_ = 0;
13439   clear_has_channels();
13440 }
13441 inline ::google::protobuf::int32 BlobProto::channels() const {
13442   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.channels)
13443   return channels_;
13444 }
13445 inline void BlobProto::set_channels(::google::protobuf::int32 value) {
13446   set_has_channels();
13447   channels_ = value;
13448   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.channels)
13449 }
13450
13451 // optional int32 height = 3 [default = 0];
13452 inline bool BlobProto::has_height() const {
13453   return (_has_bits_[0] & 0x00000200u) != 0;
13454 }
13455 inline void BlobProto::set_has_height() {
13456   _has_bits_[0] |= 0x00000200u;
13457 }
13458 inline void BlobProto::clear_has_height() {
13459   _has_bits_[0] &= ~0x00000200u;
13460 }
13461 inline void BlobProto::clear_height() {
13462   height_ = 0;
13463   clear_has_height();
13464 }
13465 inline ::google::protobuf::int32 BlobProto::height() const {
13466   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.height)
13467   return height_;
13468 }
13469 inline void BlobProto::set_height(::google::protobuf::int32 value) {
13470   set_has_height();
13471   height_ = value;
13472   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.height)
13473 }
13474
13475 // optional int32 width = 4 [default = 0];
13476 inline bool BlobProto::has_width() const {
13477   return (_has_bits_[0] & 0x00000400u) != 0;
13478 }
13479 inline void BlobProto::set_has_width() {
13480   _has_bits_[0] |= 0x00000400u;
13481 }
13482 inline void BlobProto::clear_has_width() {
13483   _has_bits_[0] &= ~0x00000400u;
13484 }
13485 inline void BlobProto::clear_width() {
13486   width_ = 0;
13487   clear_has_width();
13488 }
13489 inline ::google::protobuf::int32 BlobProto::width() const {
13490   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProto.width)
13491   return width_;
13492 }
13493 inline void BlobProto::set_width(::google::protobuf::int32 value) {
13494   set_has_width();
13495   width_ = value;
13496   // @@protoc_insertion_point(field_set:opencv_caffe.BlobProto.width)
13497 }
13498
13499 inline const BlobProto* BlobProto::internal_default_instance() {
13500   return &BlobProto_default_instance_.get();
13501 }
13502 // -------------------------------------------------------------------
13503
13504 // BlobProtoVector
13505
13506 // repeated .opencv_caffe.BlobProto blobs = 1;
13507 inline int BlobProtoVector::blobs_size() const {
13508   return blobs_.size();
13509 }
13510 inline void BlobProtoVector::clear_blobs() {
13511   blobs_.Clear();
13512 }
13513 inline const ::opencv_caffe::BlobProto& BlobProtoVector::blobs(int index) const {
13514   // @@protoc_insertion_point(field_get:opencv_caffe.BlobProtoVector.blobs)
13515   return blobs_.Get(index);
13516 }
13517 inline ::opencv_caffe::BlobProto* BlobProtoVector::mutable_blobs(int index) {
13518   // @@protoc_insertion_point(field_mutable:opencv_caffe.BlobProtoVector.blobs)
13519   return blobs_.Mutable(index);
13520 }
13521 inline ::opencv_caffe::BlobProto* BlobProtoVector::add_blobs() {
13522   // @@protoc_insertion_point(field_add:opencv_caffe.BlobProtoVector.blobs)
13523   return blobs_.Add();
13524 }
13525 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
13526 BlobProtoVector::mutable_blobs() {
13527   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.BlobProtoVector.blobs)
13528   return &blobs_;
13529 }
13530 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
13531 BlobProtoVector::blobs() const {
13532   // @@protoc_insertion_point(field_list:opencv_caffe.BlobProtoVector.blobs)
13533   return blobs_;
13534 }
13535
13536 inline const BlobProtoVector* BlobProtoVector::internal_default_instance() {
13537   return &BlobProtoVector_default_instance_.get();
13538 }
13539 // -------------------------------------------------------------------
13540
13541 // PermuteParameter
13542
13543 // repeated uint32 order = 1;
13544 inline int PermuteParameter::order_size() const {
13545   return order_.size();
13546 }
13547 inline void PermuteParameter::clear_order() {
13548   order_.Clear();
13549 }
13550 inline ::google::protobuf::uint32 PermuteParameter::order(int index) const {
13551   // @@protoc_insertion_point(field_get:opencv_caffe.PermuteParameter.order)
13552   return order_.Get(index);
13553 }
13554 inline void PermuteParameter::set_order(int index, ::google::protobuf::uint32 value) {
13555   order_.Set(index, value);
13556   // @@protoc_insertion_point(field_set:opencv_caffe.PermuteParameter.order)
13557 }
13558 inline void PermuteParameter::add_order(::google::protobuf::uint32 value) {
13559   order_.Add(value);
13560   // @@protoc_insertion_point(field_add:opencv_caffe.PermuteParameter.order)
13561 }
13562 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
13563 PermuteParameter::order() const {
13564   // @@protoc_insertion_point(field_list:opencv_caffe.PermuteParameter.order)
13565   return order_;
13566 }
13567 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
13568 PermuteParameter::mutable_order() {
13569   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PermuteParameter.order)
13570   return &order_;
13571 }
13572
13573 inline const PermuteParameter* PermuteParameter::internal_default_instance() {
13574   return &PermuteParameter_default_instance_.get();
13575 }
13576 // -------------------------------------------------------------------
13577
13578 // NormalizeBBoxParameter
13579
13580 // optional bool across_spatial = 1 [default = true];
13581 inline bool NormalizeBBoxParameter::has_across_spatial() const {
13582   return (_has_bits_[0] & 0x00000001u) != 0;
13583 }
13584 inline void NormalizeBBoxParameter::set_has_across_spatial() {
13585   _has_bits_[0] |= 0x00000001u;
13586 }
13587 inline void NormalizeBBoxParameter::clear_has_across_spatial() {
13588   _has_bits_[0] &= ~0x00000001u;
13589 }
13590 inline void NormalizeBBoxParameter::clear_across_spatial() {
13591   across_spatial_ = true;
13592   clear_has_across_spatial();
13593 }
13594 inline bool NormalizeBBoxParameter::across_spatial() const {
13595   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.across_spatial)
13596   return across_spatial_;
13597 }
13598 inline void NormalizeBBoxParameter::set_across_spatial(bool value) {
13599   set_has_across_spatial();
13600   across_spatial_ = value;
13601   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.across_spatial)
13602 }
13603
13604 // optional .opencv_caffe.FillerParameter scale_filler = 2;
13605 inline bool NormalizeBBoxParameter::has_scale_filler() const {
13606   return (_has_bits_[0] & 0x00000002u) != 0;
13607 }
13608 inline void NormalizeBBoxParameter::set_has_scale_filler() {
13609   _has_bits_[0] |= 0x00000002u;
13610 }
13611 inline void NormalizeBBoxParameter::clear_has_scale_filler() {
13612   _has_bits_[0] &= ~0x00000002u;
13613 }
13614 inline void NormalizeBBoxParameter::clear_scale_filler() {
13615   if (scale_filler_ != NULL) scale_filler_->::opencv_caffe::FillerParameter::Clear();
13616   clear_has_scale_filler();
13617 }
13618 inline const ::opencv_caffe::FillerParameter& NormalizeBBoxParameter::scale_filler() const {
13619   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13620   return scale_filler_ != NULL ? *scale_filler_
13621                          : *::opencv_caffe::FillerParameter::internal_default_instance();
13622 }
13623 inline ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::mutable_scale_filler() {
13624   set_has_scale_filler();
13625   if (scale_filler_ == NULL) {
13626     scale_filler_ = new ::opencv_caffe::FillerParameter;
13627   }
13628   // @@protoc_insertion_point(field_mutable:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13629   return scale_filler_;
13630 }
13631 inline ::opencv_caffe::FillerParameter* NormalizeBBoxParameter::release_scale_filler() {
13632   // @@protoc_insertion_point(field_release:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13633   clear_has_scale_filler();
13634   ::opencv_caffe::FillerParameter* temp = scale_filler_;
13635   scale_filler_ = NULL;
13636   return temp;
13637 }
13638 inline void NormalizeBBoxParameter::set_allocated_scale_filler(::opencv_caffe::FillerParameter* scale_filler) {
13639   delete scale_filler_;
13640   scale_filler_ = scale_filler;
13641   if (scale_filler) {
13642     set_has_scale_filler();
13643   } else {
13644     clear_has_scale_filler();
13645   }
13646   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NormalizeBBoxParameter.scale_filler)
13647 }
13648
13649 // optional bool channel_shared = 3 [default = true];
13650 inline bool NormalizeBBoxParameter::has_channel_shared() const {
13651   return (_has_bits_[0] & 0x00000004u) != 0;
13652 }
13653 inline void NormalizeBBoxParameter::set_has_channel_shared() {
13654   _has_bits_[0] |= 0x00000004u;
13655 }
13656 inline void NormalizeBBoxParameter::clear_has_channel_shared() {
13657   _has_bits_[0] &= ~0x00000004u;
13658 }
13659 inline void NormalizeBBoxParameter::clear_channel_shared() {
13660   channel_shared_ = true;
13661   clear_has_channel_shared();
13662 }
13663 inline bool NormalizeBBoxParameter::channel_shared() const {
13664   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.channel_shared)
13665   return channel_shared_;
13666 }
13667 inline void NormalizeBBoxParameter::set_channel_shared(bool value) {
13668   set_has_channel_shared();
13669   channel_shared_ = value;
13670   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.channel_shared)
13671 }
13672
13673 // optional float eps = 4 [default = 1e-10];
13674 inline bool NormalizeBBoxParameter::has_eps() const {
13675   return (_has_bits_[0] & 0x00000008u) != 0;
13676 }
13677 inline void NormalizeBBoxParameter::set_has_eps() {
13678   _has_bits_[0] |= 0x00000008u;
13679 }
13680 inline void NormalizeBBoxParameter::clear_has_eps() {
13681   _has_bits_[0] &= ~0x00000008u;
13682 }
13683 inline void NormalizeBBoxParameter::clear_eps() {
13684   eps_ = 1e-10f;
13685   clear_has_eps();
13686 }
13687 inline float NormalizeBBoxParameter::eps() const {
13688   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizeBBoxParameter.eps)
13689   return eps_;
13690 }
13691 inline void NormalizeBBoxParameter::set_eps(float value) {
13692   set_has_eps();
13693   eps_ = value;
13694   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizeBBoxParameter.eps)
13695 }
13696
13697 inline const NormalizeBBoxParameter* NormalizeBBoxParameter::internal_default_instance() {
13698   return &NormalizeBBoxParameter_default_instance_.get();
13699 }
13700 // -------------------------------------------------------------------
13701
13702 // PriorBoxParameter
13703
13704 // optional float min_size = 1;
13705 inline bool PriorBoxParameter::has_min_size() const {
13706   return (_has_bits_[0] & 0x00000001u) != 0;
13707 }
13708 inline void PriorBoxParameter::set_has_min_size() {
13709   _has_bits_[0] |= 0x00000001u;
13710 }
13711 inline void PriorBoxParameter::clear_has_min_size() {
13712   _has_bits_[0] &= ~0x00000001u;
13713 }
13714 inline void PriorBoxParameter::clear_min_size() {
13715   min_size_ = 0;
13716   clear_has_min_size();
13717 }
13718 inline float PriorBoxParameter::min_size() const {
13719   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.min_size)
13720   return min_size_;
13721 }
13722 inline void PriorBoxParameter::set_min_size(float value) {
13723   set_has_min_size();
13724   min_size_ = value;
13725   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.min_size)
13726 }
13727
13728 // optional float max_size = 2;
13729 inline bool PriorBoxParameter::has_max_size() const {
13730   return (_has_bits_[0] & 0x00000002u) != 0;
13731 }
13732 inline void PriorBoxParameter::set_has_max_size() {
13733   _has_bits_[0] |= 0x00000002u;
13734 }
13735 inline void PriorBoxParameter::clear_has_max_size() {
13736   _has_bits_[0] &= ~0x00000002u;
13737 }
13738 inline void PriorBoxParameter::clear_max_size() {
13739   max_size_ = 0;
13740   clear_has_max_size();
13741 }
13742 inline float PriorBoxParameter::max_size() const {
13743   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.max_size)
13744   return max_size_;
13745 }
13746 inline void PriorBoxParameter::set_max_size(float value) {
13747   set_has_max_size();
13748   max_size_ = value;
13749   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.max_size)
13750 }
13751
13752 // repeated float aspect_ratio = 3;
13753 inline int PriorBoxParameter::aspect_ratio_size() const {
13754   return aspect_ratio_.size();
13755 }
13756 inline void PriorBoxParameter::clear_aspect_ratio() {
13757   aspect_ratio_.Clear();
13758 }
13759 inline float PriorBoxParameter::aspect_ratio(int index) const {
13760   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.aspect_ratio)
13761   return aspect_ratio_.Get(index);
13762 }
13763 inline void PriorBoxParameter::set_aspect_ratio(int index, float value) {
13764   aspect_ratio_.Set(index, value);
13765   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.aspect_ratio)
13766 }
13767 inline void PriorBoxParameter::add_aspect_ratio(float value) {
13768   aspect_ratio_.Add(value);
13769   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.aspect_ratio)
13770 }
13771 inline const ::google::protobuf::RepeatedField< float >&
13772 PriorBoxParameter::aspect_ratio() const {
13773   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
13774   return aspect_ratio_;
13775 }
13776 inline ::google::protobuf::RepeatedField< float >*
13777 PriorBoxParameter::mutable_aspect_ratio() {
13778   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.aspect_ratio)
13779   return &aspect_ratio_;
13780 }
13781
13782 // optional bool flip = 4 [default = true];
13783 inline bool PriorBoxParameter::has_flip() const {
13784   return (_has_bits_[0] & 0x00000008u) != 0;
13785 }
13786 inline void PriorBoxParameter::set_has_flip() {
13787   _has_bits_[0] |= 0x00000008u;
13788 }
13789 inline void PriorBoxParameter::clear_has_flip() {
13790   _has_bits_[0] &= ~0x00000008u;
13791 }
13792 inline void PriorBoxParameter::clear_flip() {
13793   flip_ = true;
13794   clear_has_flip();
13795 }
13796 inline bool PriorBoxParameter::flip() const {
13797   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.flip)
13798   return flip_;
13799 }
13800 inline void PriorBoxParameter::set_flip(bool value) {
13801   set_has_flip();
13802   flip_ = value;
13803   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.flip)
13804 }
13805
13806 // optional bool clip = 5 [default = true];
13807 inline bool PriorBoxParameter::has_clip() const {
13808   return (_has_bits_[0] & 0x00000010u) != 0;
13809 }
13810 inline void PriorBoxParameter::set_has_clip() {
13811   _has_bits_[0] |= 0x00000010u;
13812 }
13813 inline void PriorBoxParameter::clear_has_clip() {
13814   _has_bits_[0] &= ~0x00000010u;
13815 }
13816 inline void PriorBoxParameter::clear_clip() {
13817   clip_ = true;
13818   clear_has_clip();
13819 }
13820 inline bool PriorBoxParameter::clip() const {
13821   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.clip)
13822   return clip_;
13823 }
13824 inline void PriorBoxParameter::set_clip(bool value) {
13825   set_has_clip();
13826   clip_ = value;
13827   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.clip)
13828 }
13829
13830 // repeated float variance = 6;
13831 inline int PriorBoxParameter::variance_size() const {
13832   return variance_.size();
13833 }
13834 inline void PriorBoxParameter::clear_variance() {
13835   variance_.Clear();
13836 }
13837 inline float PriorBoxParameter::variance(int index) const {
13838   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.variance)
13839   return variance_.Get(index);
13840 }
13841 inline void PriorBoxParameter::set_variance(int index, float value) {
13842   variance_.Set(index, value);
13843   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.variance)
13844 }
13845 inline void PriorBoxParameter::add_variance(float value) {
13846   variance_.Add(value);
13847   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.variance)
13848 }
13849 inline const ::google::protobuf::RepeatedField< float >&
13850 PriorBoxParameter::variance() const {
13851   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.variance)
13852   return variance_;
13853 }
13854 inline ::google::protobuf::RepeatedField< float >*
13855 PriorBoxParameter::mutable_variance() {
13856   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.variance)
13857   return &variance_;
13858 }
13859
13860 // optional uint32 img_size = 7;
13861 inline bool PriorBoxParameter::has_img_size() const {
13862   return (_has_bits_[0] & 0x00000040u) != 0;
13863 }
13864 inline void PriorBoxParameter::set_has_img_size() {
13865   _has_bits_[0] |= 0x00000040u;
13866 }
13867 inline void PriorBoxParameter::clear_has_img_size() {
13868   _has_bits_[0] &= ~0x00000040u;
13869 }
13870 inline void PriorBoxParameter::clear_img_size() {
13871   img_size_ = 0u;
13872   clear_has_img_size();
13873 }
13874 inline ::google::protobuf::uint32 PriorBoxParameter::img_size() const {
13875   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_size)
13876   return img_size_;
13877 }
13878 inline void PriorBoxParameter::set_img_size(::google::protobuf::uint32 value) {
13879   set_has_img_size();
13880   img_size_ = value;
13881   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_size)
13882 }
13883
13884 // optional uint32 img_h = 8;
13885 inline bool PriorBoxParameter::has_img_h() const {
13886   return (_has_bits_[0] & 0x00000080u) != 0;
13887 }
13888 inline void PriorBoxParameter::set_has_img_h() {
13889   _has_bits_[0] |= 0x00000080u;
13890 }
13891 inline void PriorBoxParameter::clear_has_img_h() {
13892   _has_bits_[0] &= ~0x00000080u;
13893 }
13894 inline void PriorBoxParameter::clear_img_h() {
13895   img_h_ = 0u;
13896   clear_has_img_h();
13897 }
13898 inline ::google::protobuf::uint32 PriorBoxParameter::img_h() const {
13899   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_h)
13900   return img_h_;
13901 }
13902 inline void PriorBoxParameter::set_img_h(::google::protobuf::uint32 value) {
13903   set_has_img_h();
13904   img_h_ = value;
13905   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_h)
13906 }
13907
13908 // optional uint32 img_w = 9;
13909 inline bool PriorBoxParameter::has_img_w() const {
13910   return (_has_bits_[0] & 0x00000100u) != 0;
13911 }
13912 inline void PriorBoxParameter::set_has_img_w() {
13913   _has_bits_[0] |= 0x00000100u;
13914 }
13915 inline void PriorBoxParameter::clear_has_img_w() {
13916   _has_bits_[0] &= ~0x00000100u;
13917 }
13918 inline void PriorBoxParameter::clear_img_w() {
13919   img_w_ = 0u;
13920   clear_has_img_w();
13921 }
13922 inline ::google::protobuf::uint32 PriorBoxParameter::img_w() const {
13923   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.img_w)
13924   return img_w_;
13925 }
13926 inline void PriorBoxParameter::set_img_w(::google::protobuf::uint32 value) {
13927   set_has_img_w();
13928   img_w_ = value;
13929   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.img_w)
13930 }
13931
13932 // optional float step = 10;
13933 inline bool PriorBoxParameter::has_step() const {
13934   return (_has_bits_[0] & 0x00000200u) != 0;
13935 }
13936 inline void PriorBoxParameter::set_has_step() {
13937   _has_bits_[0] |= 0x00000200u;
13938 }
13939 inline void PriorBoxParameter::clear_has_step() {
13940   _has_bits_[0] &= ~0x00000200u;
13941 }
13942 inline void PriorBoxParameter::clear_step() {
13943   step_ = 0;
13944   clear_has_step();
13945 }
13946 inline float PriorBoxParameter::step() const {
13947   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step)
13948   return step_;
13949 }
13950 inline void PriorBoxParameter::set_step(float value) {
13951   set_has_step();
13952   step_ = value;
13953   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step)
13954 }
13955
13956 // optional float step_h = 11;
13957 inline bool PriorBoxParameter::has_step_h() const {
13958   return (_has_bits_[0] & 0x00000400u) != 0;
13959 }
13960 inline void PriorBoxParameter::set_has_step_h() {
13961   _has_bits_[0] |= 0x00000400u;
13962 }
13963 inline void PriorBoxParameter::clear_has_step_h() {
13964   _has_bits_[0] &= ~0x00000400u;
13965 }
13966 inline void PriorBoxParameter::clear_step_h() {
13967   step_h_ = 0;
13968   clear_has_step_h();
13969 }
13970 inline float PriorBoxParameter::step_h() const {
13971   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_h)
13972   return step_h_;
13973 }
13974 inline void PriorBoxParameter::set_step_h(float value) {
13975   set_has_step_h();
13976   step_h_ = value;
13977   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_h)
13978 }
13979
13980 // optional float step_w = 12;
13981 inline bool PriorBoxParameter::has_step_w() const {
13982   return (_has_bits_[0] & 0x00000800u) != 0;
13983 }
13984 inline void PriorBoxParameter::set_has_step_w() {
13985   _has_bits_[0] |= 0x00000800u;
13986 }
13987 inline void PriorBoxParameter::clear_has_step_w() {
13988   _has_bits_[0] &= ~0x00000800u;
13989 }
13990 inline void PriorBoxParameter::clear_step_w() {
13991   step_w_ = 0;
13992   clear_has_step_w();
13993 }
13994 inline float PriorBoxParameter::step_w() const {
13995   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.step_w)
13996   return step_w_;
13997 }
13998 inline void PriorBoxParameter::set_step_w(float value) {
13999   set_has_step_w();
14000   step_w_ = value;
14001   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.step_w)
14002 }
14003
14004 // optional float offset = 13 [default = 0.5];
14005 inline bool PriorBoxParameter::has_offset() const {
14006   return (_has_bits_[0] & 0x00001000u) != 0;
14007 }
14008 inline void PriorBoxParameter::set_has_offset() {
14009   _has_bits_[0] |= 0x00001000u;
14010 }
14011 inline void PriorBoxParameter::clear_has_offset() {
14012   _has_bits_[0] &= ~0x00001000u;
14013 }
14014 inline void PriorBoxParameter::clear_offset() {
14015   offset_ = 0.5f;
14016   clear_has_offset();
14017 }
14018 inline float PriorBoxParameter::offset() const {
14019   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset)
14020   return offset_;
14021 }
14022 inline void PriorBoxParameter::set_offset(float value) {
14023   set_has_offset();
14024   offset_ = value;
14025   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset)
14026 }
14027
14028 // repeated float offset_h = 14;
14029 inline int PriorBoxParameter::offset_h_size() const {
14030   return offset_h_.size();
14031 }
14032 inline void PriorBoxParameter::clear_offset_h() {
14033   offset_h_.Clear();
14034 }
14035 inline float PriorBoxParameter::offset_h(int index) const {
14036   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_h)
14037   return offset_h_.Get(index);
14038 }
14039 inline void PriorBoxParameter::set_offset_h(int index, float value) {
14040   offset_h_.Set(index, value);
14041   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_h)
14042 }
14043 inline void PriorBoxParameter::add_offset_h(float value) {
14044   offset_h_.Add(value);
14045   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_h)
14046 }
14047 inline const ::google::protobuf::RepeatedField< float >&
14048 PriorBoxParameter::offset_h() const {
14049   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_h)
14050   return offset_h_;
14051 }
14052 inline ::google::protobuf::RepeatedField< float >*
14053 PriorBoxParameter::mutable_offset_h() {
14054   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_h)
14055   return &offset_h_;
14056 }
14057
14058 // repeated float offset_w = 15;
14059 inline int PriorBoxParameter::offset_w_size() const {
14060   return offset_w_.size();
14061 }
14062 inline void PriorBoxParameter::clear_offset_w() {
14063   offset_w_.Clear();
14064 }
14065 inline float PriorBoxParameter::offset_w(int index) const {
14066   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.offset_w)
14067   return offset_w_.Get(index);
14068 }
14069 inline void PriorBoxParameter::set_offset_w(int index, float value) {
14070   offset_w_.Set(index, value);
14071   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.offset_w)
14072 }
14073 inline void PriorBoxParameter::add_offset_w(float value) {
14074   offset_w_.Add(value);
14075   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.offset_w)
14076 }
14077 inline const ::google::protobuf::RepeatedField< float >&
14078 PriorBoxParameter::offset_w() const {
14079   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.offset_w)
14080   return offset_w_;
14081 }
14082 inline ::google::protobuf::RepeatedField< float >*
14083 PriorBoxParameter::mutable_offset_w() {
14084   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.offset_w)
14085   return &offset_w_;
14086 }
14087
14088 // repeated float width = 16;
14089 inline int PriorBoxParameter::width_size() const {
14090   return width_.size();
14091 }
14092 inline void PriorBoxParameter::clear_width() {
14093   width_.Clear();
14094 }
14095 inline float PriorBoxParameter::width(int index) const {
14096   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.width)
14097   return width_.Get(index);
14098 }
14099 inline void PriorBoxParameter::set_width(int index, float value) {
14100   width_.Set(index, value);
14101   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.width)
14102 }
14103 inline void PriorBoxParameter::add_width(float value) {
14104   width_.Add(value);
14105   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.width)
14106 }
14107 inline const ::google::protobuf::RepeatedField< float >&
14108 PriorBoxParameter::width() const {
14109   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.width)
14110   return width_;
14111 }
14112 inline ::google::protobuf::RepeatedField< float >*
14113 PriorBoxParameter::mutable_width() {
14114   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.width)
14115   return &width_;
14116 }
14117
14118 // repeated float height = 17;
14119 inline int PriorBoxParameter::height_size() const {
14120   return height_.size();
14121 }
14122 inline void PriorBoxParameter::clear_height() {
14123   height_.Clear();
14124 }
14125 inline float PriorBoxParameter::height(int index) const {
14126   // @@protoc_insertion_point(field_get:opencv_caffe.PriorBoxParameter.height)
14127   return height_.Get(index);
14128 }
14129 inline void PriorBoxParameter::set_height(int index, float value) {
14130   height_.Set(index, value);
14131   // @@protoc_insertion_point(field_set:opencv_caffe.PriorBoxParameter.height)
14132 }
14133 inline void PriorBoxParameter::add_height(float value) {
14134   height_.Add(value);
14135   // @@protoc_insertion_point(field_add:opencv_caffe.PriorBoxParameter.height)
14136 }
14137 inline const ::google::protobuf::RepeatedField< float >&
14138 PriorBoxParameter::height() const {
14139   // @@protoc_insertion_point(field_list:opencv_caffe.PriorBoxParameter.height)
14140   return height_;
14141 }
14142 inline ::google::protobuf::RepeatedField< float >*
14143 PriorBoxParameter::mutable_height() {
14144   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.PriorBoxParameter.height)
14145   return &height_;
14146 }
14147
14148 inline const PriorBoxParameter* PriorBoxParameter::internal_default_instance() {
14149   return &PriorBoxParameter_default_instance_.get();
14150 }
14151 // -------------------------------------------------------------------
14152
14153 // DetectionOutputParameter
14154
14155 // optional uint32 num_classes = 1;
14156 inline bool DetectionOutputParameter::has_num_classes() const {
14157   return (_has_bits_[0] & 0x00000001u) != 0;
14158 }
14159 inline void DetectionOutputParameter::set_has_num_classes() {
14160   _has_bits_[0] |= 0x00000001u;
14161 }
14162 inline void DetectionOutputParameter::clear_has_num_classes() {
14163   _has_bits_[0] &= ~0x00000001u;
14164 }
14165 inline void DetectionOutputParameter::clear_num_classes() {
14166   num_classes_ = 0u;
14167   clear_has_num_classes();
14168 }
14169 inline ::google::protobuf::uint32 DetectionOutputParameter::num_classes() const {
14170   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.num_classes)
14171   return num_classes_;
14172 }
14173 inline void DetectionOutputParameter::set_num_classes(::google::protobuf::uint32 value) {
14174   set_has_num_classes();
14175   num_classes_ = value;
14176   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.num_classes)
14177 }
14178
14179 // optional bool share_location = 2 [default = true];
14180 inline bool DetectionOutputParameter::has_share_location() const {
14181   return (_has_bits_[0] & 0x00000002u) != 0;
14182 }
14183 inline void DetectionOutputParameter::set_has_share_location() {
14184   _has_bits_[0] |= 0x00000002u;
14185 }
14186 inline void DetectionOutputParameter::clear_has_share_location() {
14187   _has_bits_[0] &= ~0x00000002u;
14188 }
14189 inline void DetectionOutputParameter::clear_share_location() {
14190   share_location_ = true;
14191   clear_has_share_location();
14192 }
14193 inline bool DetectionOutputParameter::share_location() const {
14194   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.share_location)
14195   return share_location_;
14196 }
14197 inline void DetectionOutputParameter::set_share_location(bool value) {
14198   set_has_share_location();
14199   share_location_ = value;
14200   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.share_location)
14201 }
14202
14203 // optional int32 background_label_id = 3 [default = 0];
14204 inline bool DetectionOutputParameter::has_background_label_id() const {
14205   return (_has_bits_[0] & 0x00000004u) != 0;
14206 }
14207 inline void DetectionOutputParameter::set_has_background_label_id() {
14208   _has_bits_[0] |= 0x00000004u;
14209 }
14210 inline void DetectionOutputParameter::clear_has_background_label_id() {
14211   _has_bits_[0] &= ~0x00000004u;
14212 }
14213 inline void DetectionOutputParameter::clear_background_label_id() {
14214   background_label_id_ = 0;
14215   clear_has_background_label_id();
14216 }
14217 inline ::google::protobuf::int32 DetectionOutputParameter::background_label_id() const {
14218   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.background_label_id)
14219   return background_label_id_;
14220 }
14221 inline void DetectionOutputParameter::set_background_label_id(::google::protobuf::int32 value) {
14222   set_has_background_label_id();
14223   background_label_id_ = value;
14224   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.background_label_id)
14225 }
14226
14227 // optional .opencv_caffe.NonMaximumSuppressionParameter nms_param = 4;
14228 inline bool DetectionOutputParameter::has_nms_param() const {
14229   return (_has_bits_[0] & 0x00000008u) != 0;
14230 }
14231 inline void DetectionOutputParameter::set_has_nms_param() {
14232   _has_bits_[0] |= 0x00000008u;
14233 }
14234 inline void DetectionOutputParameter::clear_has_nms_param() {
14235   _has_bits_[0] &= ~0x00000008u;
14236 }
14237 inline void DetectionOutputParameter::clear_nms_param() {
14238   if (nms_param_ != NULL) nms_param_->::opencv_caffe::NonMaximumSuppressionParameter::Clear();
14239   clear_has_nms_param();
14240 }
14241 inline const ::opencv_caffe::NonMaximumSuppressionParameter& DetectionOutputParameter::nms_param() const {
14242   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.nms_param)
14243   return nms_param_ != NULL ? *nms_param_
14244                          : *::opencv_caffe::NonMaximumSuppressionParameter::internal_default_instance();
14245 }
14246 inline ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::mutable_nms_param() {
14247   set_has_nms_param();
14248   if (nms_param_ == NULL) {
14249     nms_param_ = new ::opencv_caffe::NonMaximumSuppressionParameter;
14250   }
14251   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.nms_param)
14252   return nms_param_;
14253 }
14254 inline ::opencv_caffe::NonMaximumSuppressionParameter* DetectionOutputParameter::release_nms_param() {
14255   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.nms_param)
14256   clear_has_nms_param();
14257   ::opencv_caffe::NonMaximumSuppressionParameter* temp = nms_param_;
14258   nms_param_ = NULL;
14259   return temp;
14260 }
14261 inline void DetectionOutputParameter::set_allocated_nms_param(::opencv_caffe::NonMaximumSuppressionParameter* nms_param) {
14262   delete nms_param_;
14263   nms_param_ = nms_param;
14264   if (nms_param) {
14265     set_has_nms_param();
14266   } else {
14267     clear_has_nms_param();
14268   }
14269   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.nms_param)
14270 }
14271
14272 // optional .opencv_caffe.SaveOutputParameter save_output_param = 5;
14273 inline bool DetectionOutputParameter::has_save_output_param() const {
14274   return (_has_bits_[0] & 0x00000010u) != 0;
14275 }
14276 inline void DetectionOutputParameter::set_has_save_output_param() {
14277   _has_bits_[0] |= 0x00000010u;
14278 }
14279 inline void DetectionOutputParameter::clear_has_save_output_param() {
14280   _has_bits_[0] &= ~0x00000010u;
14281 }
14282 inline void DetectionOutputParameter::clear_save_output_param() {
14283   if (save_output_param_ != NULL) save_output_param_->::opencv_caffe::SaveOutputParameter::Clear();
14284   clear_has_save_output_param();
14285 }
14286 inline const ::opencv_caffe::SaveOutputParameter& DetectionOutputParameter::save_output_param() const {
14287   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.save_output_param)
14288   return save_output_param_ != NULL ? *save_output_param_
14289                          : *::opencv_caffe::SaveOutputParameter::internal_default_instance();
14290 }
14291 inline ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::mutable_save_output_param() {
14292   set_has_save_output_param();
14293   if (save_output_param_ == NULL) {
14294     save_output_param_ = new ::opencv_caffe::SaveOutputParameter;
14295   }
14296   // @@protoc_insertion_point(field_mutable:opencv_caffe.DetectionOutputParameter.save_output_param)
14297   return save_output_param_;
14298 }
14299 inline ::opencv_caffe::SaveOutputParameter* DetectionOutputParameter::release_save_output_param() {
14300   // @@protoc_insertion_point(field_release:opencv_caffe.DetectionOutputParameter.save_output_param)
14301   clear_has_save_output_param();
14302   ::opencv_caffe::SaveOutputParameter* temp = save_output_param_;
14303   save_output_param_ = NULL;
14304   return temp;
14305 }
14306 inline void DetectionOutputParameter::set_allocated_save_output_param(::opencv_caffe::SaveOutputParameter* save_output_param) {
14307   delete save_output_param_;
14308   save_output_param_ = save_output_param;
14309   if (save_output_param) {
14310     set_has_save_output_param();
14311   } else {
14312     clear_has_save_output_param();
14313   }
14314   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DetectionOutputParameter.save_output_param)
14315 }
14316
14317 // optional .opencv_caffe.PriorBoxParameter.CodeType code_type = 6 [default = CORNER];
14318 inline bool DetectionOutputParameter::has_code_type() const {
14319   return (_has_bits_[0] & 0x00000020u) != 0;
14320 }
14321 inline void DetectionOutputParameter::set_has_code_type() {
14322   _has_bits_[0] |= 0x00000020u;
14323 }
14324 inline void DetectionOutputParameter::clear_has_code_type() {
14325   _has_bits_[0] &= ~0x00000020u;
14326 }
14327 inline void DetectionOutputParameter::clear_code_type() {
14328   code_type_ = 1;
14329   clear_has_code_type();
14330 }
14331 inline ::opencv_caffe::PriorBoxParameter_CodeType DetectionOutputParameter::code_type() const {
14332   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.code_type)
14333   return static_cast< ::opencv_caffe::PriorBoxParameter_CodeType >(code_type_);
14334 }
14335 inline void DetectionOutputParameter::set_code_type(::opencv_caffe::PriorBoxParameter_CodeType value) {
14336   assert(::opencv_caffe::PriorBoxParameter_CodeType_IsValid(value));
14337   set_has_code_type();
14338   code_type_ = value;
14339   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.code_type)
14340 }
14341
14342 // optional bool variance_encoded_in_target = 8 [default = false];
14343 inline bool DetectionOutputParameter::has_variance_encoded_in_target() const {
14344   return (_has_bits_[0] & 0x00000040u) != 0;
14345 }
14346 inline void DetectionOutputParameter::set_has_variance_encoded_in_target() {
14347   _has_bits_[0] |= 0x00000040u;
14348 }
14349 inline void DetectionOutputParameter::clear_has_variance_encoded_in_target() {
14350   _has_bits_[0] &= ~0x00000040u;
14351 }
14352 inline void DetectionOutputParameter::clear_variance_encoded_in_target() {
14353   variance_encoded_in_target_ = false;
14354   clear_has_variance_encoded_in_target();
14355 }
14356 inline bool DetectionOutputParameter::variance_encoded_in_target() const {
14357   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
14358   return variance_encoded_in_target_;
14359 }
14360 inline void DetectionOutputParameter::set_variance_encoded_in_target(bool value) {
14361   set_has_variance_encoded_in_target();
14362   variance_encoded_in_target_ = value;
14363   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.variance_encoded_in_target)
14364 }
14365
14366 // optional int32 keep_top_k = 7 [default = -1];
14367 inline bool DetectionOutputParameter::has_keep_top_k() const {
14368   return (_has_bits_[0] & 0x00000080u) != 0;
14369 }
14370 inline void DetectionOutputParameter::set_has_keep_top_k() {
14371   _has_bits_[0] |= 0x00000080u;
14372 }
14373 inline void DetectionOutputParameter::clear_has_keep_top_k() {
14374   _has_bits_[0] &= ~0x00000080u;
14375 }
14376 inline void DetectionOutputParameter::clear_keep_top_k() {
14377   keep_top_k_ = -1;
14378   clear_has_keep_top_k();
14379 }
14380 inline ::google::protobuf::int32 DetectionOutputParameter::keep_top_k() const {
14381   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.keep_top_k)
14382   return keep_top_k_;
14383 }
14384 inline void DetectionOutputParameter::set_keep_top_k(::google::protobuf::int32 value) {
14385   set_has_keep_top_k();
14386   keep_top_k_ = value;
14387   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.keep_top_k)
14388 }
14389
14390 // optional float confidence_threshold = 9;
14391 inline bool DetectionOutputParameter::has_confidence_threshold() const {
14392   return (_has_bits_[0] & 0x00000100u) != 0;
14393 }
14394 inline void DetectionOutputParameter::set_has_confidence_threshold() {
14395   _has_bits_[0] |= 0x00000100u;
14396 }
14397 inline void DetectionOutputParameter::clear_has_confidence_threshold() {
14398   _has_bits_[0] &= ~0x00000100u;
14399 }
14400 inline void DetectionOutputParameter::clear_confidence_threshold() {
14401   confidence_threshold_ = 0;
14402   clear_has_confidence_threshold();
14403 }
14404 inline float DetectionOutputParameter::confidence_threshold() const {
14405   // @@protoc_insertion_point(field_get:opencv_caffe.DetectionOutputParameter.confidence_threshold)
14406   return confidence_threshold_;
14407 }
14408 inline void DetectionOutputParameter::set_confidence_threshold(float value) {
14409   set_has_confidence_threshold();
14410   confidence_threshold_ = value;
14411   // @@protoc_insertion_point(field_set:opencv_caffe.DetectionOutputParameter.confidence_threshold)
14412 }
14413
14414 inline const DetectionOutputParameter* DetectionOutputParameter::internal_default_instance() {
14415   return &DetectionOutputParameter_default_instance_.get();
14416 }
14417 // -------------------------------------------------------------------
14418
14419 // Datum
14420
14421 // optional int32 channels = 1;
14422 inline bool Datum::has_channels() const {
14423   return (_has_bits_[0] & 0x00000001u) != 0;
14424 }
14425 inline void Datum::set_has_channels() {
14426   _has_bits_[0] |= 0x00000001u;
14427 }
14428 inline void Datum::clear_has_channels() {
14429   _has_bits_[0] &= ~0x00000001u;
14430 }
14431 inline void Datum::clear_channels() {
14432   channels_ = 0;
14433   clear_has_channels();
14434 }
14435 inline ::google::protobuf::int32 Datum::channels() const {
14436   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.channels)
14437   return channels_;
14438 }
14439 inline void Datum::set_channels(::google::protobuf::int32 value) {
14440   set_has_channels();
14441   channels_ = value;
14442   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.channels)
14443 }
14444
14445 // optional int32 height = 2;
14446 inline bool Datum::has_height() const {
14447   return (_has_bits_[0] & 0x00000002u) != 0;
14448 }
14449 inline void Datum::set_has_height() {
14450   _has_bits_[0] |= 0x00000002u;
14451 }
14452 inline void Datum::clear_has_height() {
14453   _has_bits_[0] &= ~0x00000002u;
14454 }
14455 inline void Datum::clear_height() {
14456   height_ = 0;
14457   clear_has_height();
14458 }
14459 inline ::google::protobuf::int32 Datum::height() const {
14460   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.height)
14461   return height_;
14462 }
14463 inline void Datum::set_height(::google::protobuf::int32 value) {
14464   set_has_height();
14465   height_ = value;
14466   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.height)
14467 }
14468
14469 // optional int32 width = 3;
14470 inline bool Datum::has_width() const {
14471   return (_has_bits_[0] & 0x00000004u) != 0;
14472 }
14473 inline void Datum::set_has_width() {
14474   _has_bits_[0] |= 0x00000004u;
14475 }
14476 inline void Datum::clear_has_width() {
14477   _has_bits_[0] &= ~0x00000004u;
14478 }
14479 inline void Datum::clear_width() {
14480   width_ = 0;
14481   clear_has_width();
14482 }
14483 inline ::google::protobuf::int32 Datum::width() const {
14484   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.width)
14485   return width_;
14486 }
14487 inline void Datum::set_width(::google::protobuf::int32 value) {
14488   set_has_width();
14489   width_ = value;
14490   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.width)
14491 }
14492
14493 // optional bytes data = 4;
14494 inline bool Datum::has_data() const {
14495   return (_has_bits_[0] & 0x00000008u) != 0;
14496 }
14497 inline void Datum::set_has_data() {
14498   _has_bits_[0] |= 0x00000008u;
14499 }
14500 inline void Datum::clear_has_data() {
14501   _has_bits_[0] &= ~0x00000008u;
14502 }
14503 inline void Datum::clear_data() {
14504   data_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14505   clear_has_data();
14506 }
14507 inline const ::std::string& Datum::data() const {
14508   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.data)
14509   return data_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14510 }
14511 inline void Datum::set_data(const ::std::string& value) {
14512   set_has_data();
14513   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
14514   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.data)
14515 }
14516 inline void Datum::set_data(const char* value) {
14517   set_has_data();
14518   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
14519   // @@protoc_insertion_point(field_set_char:opencv_caffe.Datum.data)
14520 }
14521 inline void Datum::set_data(const void* value, size_t size) {
14522   set_has_data();
14523   data_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
14524       ::std::string(reinterpret_cast<const char*>(value), size));
14525   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.Datum.data)
14526 }
14527 inline ::std::string* Datum::mutable_data() {
14528   set_has_data();
14529   // @@protoc_insertion_point(field_mutable:opencv_caffe.Datum.data)
14530   return data_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14531 }
14532 inline ::std::string* Datum::release_data() {
14533   // @@protoc_insertion_point(field_release:opencv_caffe.Datum.data)
14534   clear_has_data();
14535   return data_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14536 }
14537 inline void Datum::set_allocated_data(::std::string* data) {
14538   if (data != NULL) {
14539     set_has_data();
14540   } else {
14541     clear_has_data();
14542   }
14543   data_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), data);
14544   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.Datum.data)
14545 }
14546
14547 // optional int32 label = 5;
14548 inline bool Datum::has_label() const {
14549   return (_has_bits_[0] & 0x00000010u) != 0;
14550 }
14551 inline void Datum::set_has_label() {
14552   _has_bits_[0] |= 0x00000010u;
14553 }
14554 inline void Datum::clear_has_label() {
14555   _has_bits_[0] &= ~0x00000010u;
14556 }
14557 inline void Datum::clear_label() {
14558   label_ = 0;
14559   clear_has_label();
14560 }
14561 inline ::google::protobuf::int32 Datum::label() const {
14562   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.label)
14563   return label_;
14564 }
14565 inline void Datum::set_label(::google::protobuf::int32 value) {
14566   set_has_label();
14567   label_ = value;
14568   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.label)
14569 }
14570
14571 // repeated float float_data = 6;
14572 inline int Datum::float_data_size() const {
14573   return float_data_.size();
14574 }
14575 inline void Datum::clear_float_data() {
14576   float_data_.Clear();
14577 }
14578 inline float Datum::float_data(int index) const {
14579   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.float_data)
14580   return float_data_.Get(index);
14581 }
14582 inline void Datum::set_float_data(int index, float value) {
14583   float_data_.Set(index, value);
14584   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.float_data)
14585 }
14586 inline void Datum::add_float_data(float value) {
14587   float_data_.Add(value);
14588   // @@protoc_insertion_point(field_add:opencv_caffe.Datum.float_data)
14589 }
14590 inline const ::google::protobuf::RepeatedField< float >&
14591 Datum::float_data() const {
14592   // @@protoc_insertion_point(field_list:opencv_caffe.Datum.float_data)
14593   return float_data_;
14594 }
14595 inline ::google::protobuf::RepeatedField< float >*
14596 Datum::mutable_float_data() {
14597   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.Datum.float_data)
14598   return &float_data_;
14599 }
14600
14601 // optional bool encoded = 7 [default = false];
14602 inline bool Datum::has_encoded() const {
14603   return (_has_bits_[0] & 0x00000040u) != 0;
14604 }
14605 inline void Datum::set_has_encoded() {
14606   _has_bits_[0] |= 0x00000040u;
14607 }
14608 inline void Datum::clear_has_encoded() {
14609   _has_bits_[0] &= ~0x00000040u;
14610 }
14611 inline void Datum::clear_encoded() {
14612   encoded_ = false;
14613   clear_has_encoded();
14614 }
14615 inline bool Datum::encoded() const {
14616   // @@protoc_insertion_point(field_get:opencv_caffe.Datum.encoded)
14617   return encoded_;
14618 }
14619 inline void Datum::set_encoded(bool value) {
14620   set_has_encoded();
14621   encoded_ = value;
14622   // @@protoc_insertion_point(field_set:opencv_caffe.Datum.encoded)
14623 }
14624
14625 inline const Datum* Datum::internal_default_instance() {
14626   return &Datum_default_instance_.get();
14627 }
14628 // -------------------------------------------------------------------
14629
14630 // FillerParameter
14631
14632 // optional string type = 1 [default = "constant"];
14633 inline bool FillerParameter::has_type() const {
14634   return (_has_bits_[0] & 0x00000001u) != 0;
14635 }
14636 inline void FillerParameter::set_has_type() {
14637   _has_bits_[0] |= 0x00000001u;
14638 }
14639 inline void FillerParameter::clear_has_type() {
14640   _has_bits_[0] &= ~0x00000001u;
14641 }
14642 inline void FillerParameter::clear_type() {
14643   type_.ClearToDefaultNoArena(_default_type_);
14644   clear_has_type();
14645 }
14646 inline const ::std::string& FillerParameter::type() const {
14647   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.type)
14648   return type_.GetNoArena(_default_type_);
14649 }
14650 inline void FillerParameter::set_type(const ::std::string& value) {
14651   set_has_type();
14652   type_.SetNoArena(_default_type_, value);
14653   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.type)
14654 }
14655 inline void FillerParameter::set_type(const char* value) {
14656   set_has_type();
14657   type_.SetNoArena(_default_type_, ::std::string(value));
14658   // @@protoc_insertion_point(field_set_char:opencv_caffe.FillerParameter.type)
14659 }
14660 inline void FillerParameter::set_type(const char* value, size_t size) {
14661   set_has_type();
14662   type_.SetNoArena(_default_type_,
14663       ::std::string(reinterpret_cast<const char*>(value), size));
14664   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.FillerParameter.type)
14665 }
14666 inline ::std::string* FillerParameter::mutable_type() {
14667   set_has_type();
14668   // @@protoc_insertion_point(field_mutable:opencv_caffe.FillerParameter.type)
14669   return type_.MutableNoArena(_default_type_);
14670 }
14671 inline ::std::string* FillerParameter::release_type() {
14672   // @@protoc_insertion_point(field_release:opencv_caffe.FillerParameter.type)
14673   clear_has_type();
14674   return type_.ReleaseNoArena(_default_type_);
14675 }
14676 inline void FillerParameter::set_allocated_type(::std::string* type) {
14677   if (type != NULL) {
14678     set_has_type();
14679   } else {
14680     clear_has_type();
14681   }
14682   type_.SetAllocatedNoArena(_default_type_, type);
14683   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.FillerParameter.type)
14684 }
14685
14686 // optional float value = 2 [default = 0];
14687 inline bool FillerParameter::has_value() const {
14688   return (_has_bits_[0] & 0x00000002u) != 0;
14689 }
14690 inline void FillerParameter::set_has_value() {
14691   _has_bits_[0] |= 0x00000002u;
14692 }
14693 inline void FillerParameter::clear_has_value() {
14694   _has_bits_[0] &= ~0x00000002u;
14695 }
14696 inline void FillerParameter::clear_value() {
14697   value_ = 0;
14698   clear_has_value();
14699 }
14700 inline float FillerParameter::value() const {
14701   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.value)
14702   return value_;
14703 }
14704 inline void FillerParameter::set_value(float value) {
14705   set_has_value();
14706   value_ = value;
14707   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.value)
14708 }
14709
14710 // optional float min = 3 [default = 0];
14711 inline bool FillerParameter::has_min() const {
14712   return (_has_bits_[0] & 0x00000004u) != 0;
14713 }
14714 inline void FillerParameter::set_has_min() {
14715   _has_bits_[0] |= 0x00000004u;
14716 }
14717 inline void FillerParameter::clear_has_min() {
14718   _has_bits_[0] &= ~0x00000004u;
14719 }
14720 inline void FillerParameter::clear_min() {
14721   min_ = 0;
14722   clear_has_min();
14723 }
14724 inline float FillerParameter::min() const {
14725   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.min)
14726   return min_;
14727 }
14728 inline void FillerParameter::set_min(float value) {
14729   set_has_min();
14730   min_ = value;
14731   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.min)
14732 }
14733
14734 // optional float max = 4 [default = 1];
14735 inline bool FillerParameter::has_max() const {
14736   return (_has_bits_[0] & 0x00000008u) != 0;
14737 }
14738 inline void FillerParameter::set_has_max() {
14739   _has_bits_[0] |= 0x00000008u;
14740 }
14741 inline void FillerParameter::clear_has_max() {
14742   _has_bits_[0] &= ~0x00000008u;
14743 }
14744 inline void FillerParameter::clear_max() {
14745   max_ = 1;
14746   clear_has_max();
14747 }
14748 inline float FillerParameter::max() const {
14749   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.max)
14750   return max_;
14751 }
14752 inline void FillerParameter::set_max(float value) {
14753   set_has_max();
14754   max_ = value;
14755   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.max)
14756 }
14757
14758 // optional float mean = 5 [default = 0];
14759 inline bool FillerParameter::has_mean() const {
14760   return (_has_bits_[0] & 0x00000010u) != 0;
14761 }
14762 inline void FillerParameter::set_has_mean() {
14763   _has_bits_[0] |= 0x00000010u;
14764 }
14765 inline void FillerParameter::clear_has_mean() {
14766   _has_bits_[0] &= ~0x00000010u;
14767 }
14768 inline void FillerParameter::clear_mean() {
14769   mean_ = 0;
14770   clear_has_mean();
14771 }
14772 inline float FillerParameter::mean() const {
14773   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.mean)
14774   return mean_;
14775 }
14776 inline void FillerParameter::set_mean(float value) {
14777   set_has_mean();
14778   mean_ = value;
14779   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.mean)
14780 }
14781
14782 // optional float std = 6 [default = 1];
14783 inline bool FillerParameter::has_std() const {
14784   return (_has_bits_[0] & 0x00000020u) != 0;
14785 }
14786 inline void FillerParameter::set_has_std() {
14787   _has_bits_[0] |= 0x00000020u;
14788 }
14789 inline void FillerParameter::clear_has_std() {
14790   _has_bits_[0] &= ~0x00000020u;
14791 }
14792 inline void FillerParameter::clear_std() {
14793   std_ = 1;
14794   clear_has_std();
14795 }
14796 inline float FillerParameter::std() const {
14797   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.std)
14798   return std_;
14799 }
14800 inline void FillerParameter::set_std(float value) {
14801   set_has_std();
14802   std_ = value;
14803   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.std)
14804 }
14805
14806 // optional int32 sparse = 7 [default = -1];
14807 inline bool FillerParameter::has_sparse() const {
14808   return (_has_bits_[0] & 0x00000040u) != 0;
14809 }
14810 inline void FillerParameter::set_has_sparse() {
14811   _has_bits_[0] |= 0x00000040u;
14812 }
14813 inline void FillerParameter::clear_has_sparse() {
14814   _has_bits_[0] &= ~0x00000040u;
14815 }
14816 inline void FillerParameter::clear_sparse() {
14817   sparse_ = -1;
14818   clear_has_sparse();
14819 }
14820 inline ::google::protobuf::int32 FillerParameter::sparse() const {
14821   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.sparse)
14822   return sparse_;
14823 }
14824 inline void FillerParameter::set_sparse(::google::protobuf::int32 value) {
14825   set_has_sparse();
14826   sparse_ = value;
14827   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.sparse)
14828 }
14829
14830 // optional .opencv_caffe.FillerParameter.VarianceNorm variance_norm = 8 [default = FAN_IN];
14831 inline bool FillerParameter::has_variance_norm() const {
14832   return (_has_bits_[0] & 0x00000080u) != 0;
14833 }
14834 inline void FillerParameter::set_has_variance_norm() {
14835   _has_bits_[0] |= 0x00000080u;
14836 }
14837 inline void FillerParameter::clear_has_variance_norm() {
14838   _has_bits_[0] &= ~0x00000080u;
14839 }
14840 inline void FillerParameter::clear_variance_norm() {
14841   variance_norm_ = 0;
14842   clear_has_variance_norm();
14843 }
14844 inline ::opencv_caffe::FillerParameter_VarianceNorm FillerParameter::variance_norm() const {
14845   // @@protoc_insertion_point(field_get:opencv_caffe.FillerParameter.variance_norm)
14846   return static_cast< ::opencv_caffe::FillerParameter_VarianceNorm >(variance_norm_);
14847 }
14848 inline void FillerParameter::set_variance_norm(::opencv_caffe::FillerParameter_VarianceNorm value) {
14849   assert(::opencv_caffe::FillerParameter_VarianceNorm_IsValid(value));
14850   set_has_variance_norm();
14851   variance_norm_ = value;
14852   // @@protoc_insertion_point(field_set:opencv_caffe.FillerParameter.variance_norm)
14853 }
14854
14855 inline const FillerParameter* FillerParameter::internal_default_instance() {
14856   return &FillerParameter_default_instance_.get();
14857 }
14858 // -------------------------------------------------------------------
14859
14860 // NetParameter
14861
14862 // optional string name = 1;
14863 inline bool NetParameter::has_name() const {
14864   return (_has_bits_[0] & 0x00000001u) != 0;
14865 }
14866 inline void NetParameter::set_has_name() {
14867   _has_bits_[0] |= 0x00000001u;
14868 }
14869 inline void NetParameter::clear_has_name() {
14870   _has_bits_[0] &= ~0x00000001u;
14871 }
14872 inline void NetParameter::clear_name() {
14873   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14874   clear_has_name();
14875 }
14876 inline const ::std::string& NetParameter::name() const {
14877   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.name)
14878   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14879 }
14880 inline void NetParameter::set_name(const ::std::string& value) {
14881   set_has_name();
14882   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
14883   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.name)
14884 }
14885 inline void NetParameter::set_name(const char* value) {
14886   set_has_name();
14887   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
14888   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.name)
14889 }
14890 inline void NetParameter::set_name(const char* value, size_t size) {
14891   set_has_name();
14892   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
14893       ::std::string(reinterpret_cast<const char*>(value), size));
14894   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.name)
14895 }
14896 inline ::std::string* NetParameter::mutable_name() {
14897   set_has_name();
14898   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.name)
14899   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14900 }
14901 inline ::std::string* NetParameter::release_name() {
14902   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.name)
14903   clear_has_name();
14904   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
14905 }
14906 inline void NetParameter::set_allocated_name(::std::string* name) {
14907   if (name != NULL) {
14908     set_has_name();
14909   } else {
14910     clear_has_name();
14911   }
14912   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
14913   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.name)
14914 }
14915
14916 // repeated string input = 3;
14917 inline int NetParameter::input_size() const {
14918   return input_.size();
14919 }
14920 inline void NetParameter::clear_input() {
14921   input_.Clear();
14922 }
14923 inline const ::std::string& NetParameter::input(int index) const {
14924   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input)
14925   return input_.Get(index);
14926 }
14927 inline ::std::string* NetParameter::mutable_input(int index) {
14928   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input)
14929   return input_.Mutable(index);
14930 }
14931 inline void NetParameter::set_input(int index, const ::std::string& value) {
14932   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input)
14933   input_.Mutable(index)->assign(value);
14934 }
14935 inline void NetParameter::set_input(int index, const char* value) {
14936   input_.Mutable(index)->assign(value);
14937   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetParameter.input)
14938 }
14939 inline void NetParameter::set_input(int index, const char* value, size_t size) {
14940   input_.Mutable(index)->assign(
14941     reinterpret_cast<const char*>(value), size);
14942   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetParameter.input)
14943 }
14944 inline ::std::string* NetParameter::add_input() {
14945   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetParameter.input)
14946   return input_.Add();
14947 }
14948 inline void NetParameter::add_input(const ::std::string& value) {
14949   input_.Add()->assign(value);
14950   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input)
14951 }
14952 inline void NetParameter::add_input(const char* value) {
14953   input_.Add()->assign(value);
14954   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetParameter.input)
14955 }
14956 inline void NetParameter::add_input(const char* value, size_t size) {
14957   input_.Add()->assign(reinterpret_cast<const char*>(value), size);
14958   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetParameter.input)
14959 }
14960 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
14961 NetParameter::input() const {
14962   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input)
14963   return input_;
14964 }
14965 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
14966 NetParameter::mutable_input() {
14967   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input)
14968   return &input_;
14969 }
14970
14971 // repeated .opencv_caffe.BlobShape input_shape = 8;
14972 inline int NetParameter::input_shape_size() const {
14973   return input_shape_.size();
14974 }
14975 inline void NetParameter::clear_input_shape() {
14976   input_shape_.Clear();
14977 }
14978 inline const ::opencv_caffe::BlobShape& NetParameter::input_shape(int index) const {
14979   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_shape)
14980   return input_shape_.Get(index);
14981 }
14982 inline ::opencv_caffe::BlobShape* NetParameter::mutable_input_shape(int index) {
14983   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.input_shape)
14984   return input_shape_.Mutable(index);
14985 }
14986 inline ::opencv_caffe::BlobShape* NetParameter::add_input_shape() {
14987   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_shape)
14988   return input_shape_.Add();
14989 }
14990 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
14991 NetParameter::mutable_input_shape() {
14992   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_shape)
14993   return &input_shape_;
14994 }
14995 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
14996 NetParameter::input_shape() const {
14997   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_shape)
14998   return input_shape_;
14999 }
15000
15001 // repeated int32 input_dim = 4;
15002 inline int NetParameter::input_dim_size() const {
15003   return input_dim_.size();
15004 }
15005 inline void NetParameter::clear_input_dim() {
15006   input_dim_.Clear();
15007 }
15008 inline ::google::protobuf::int32 NetParameter::input_dim(int index) const {
15009   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.input_dim)
15010   return input_dim_.Get(index);
15011 }
15012 inline void NetParameter::set_input_dim(int index, ::google::protobuf::int32 value) {
15013   input_dim_.Set(index, value);
15014   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.input_dim)
15015 }
15016 inline void NetParameter::add_input_dim(::google::protobuf::int32 value) {
15017   input_dim_.Add(value);
15018   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.input_dim)
15019 }
15020 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
15021 NetParameter::input_dim() const {
15022   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.input_dim)
15023   return input_dim_;
15024 }
15025 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
15026 NetParameter::mutable_input_dim() {
15027   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.input_dim)
15028   return &input_dim_;
15029 }
15030
15031 // optional bool force_backward = 5 [default = false];
15032 inline bool NetParameter::has_force_backward() const {
15033   return (_has_bits_[0] & 0x00000010u) != 0;
15034 }
15035 inline void NetParameter::set_has_force_backward() {
15036   _has_bits_[0] |= 0x00000010u;
15037 }
15038 inline void NetParameter::clear_has_force_backward() {
15039   _has_bits_[0] &= ~0x00000010u;
15040 }
15041 inline void NetParameter::clear_force_backward() {
15042   force_backward_ = false;
15043   clear_has_force_backward();
15044 }
15045 inline bool NetParameter::force_backward() const {
15046   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.force_backward)
15047   return force_backward_;
15048 }
15049 inline void NetParameter::set_force_backward(bool value) {
15050   set_has_force_backward();
15051   force_backward_ = value;
15052   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.force_backward)
15053 }
15054
15055 // optional .opencv_caffe.NetState state = 6;
15056 inline bool NetParameter::has_state() const {
15057   return (_has_bits_[0] & 0x00000020u) != 0;
15058 }
15059 inline void NetParameter::set_has_state() {
15060   _has_bits_[0] |= 0x00000020u;
15061 }
15062 inline void NetParameter::clear_has_state() {
15063   _has_bits_[0] &= ~0x00000020u;
15064 }
15065 inline void NetParameter::clear_state() {
15066   if (state_ != NULL) state_->::opencv_caffe::NetState::Clear();
15067   clear_has_state();
15068 }
15069 inline const ::opencv_caffe::NetState& NetParameter::state() const {
15070   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.state)
15071   return state_ != NULL ? *state_
15072                          : *::opencv_caffe::NetState::internal_default_instance();
15073 }
15074 inline ::opencv_caffe::NetState* NetParameter::mutable_state() {
15075   set_has_state();
15076   if (state_ == NULL) {
15077     state_ = new ::opencv_caffe::NetState;
15078   }
15079   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.state)
15080   return state_;
15081 }
15082 inline ::opencv_caffe::NetState* NetParameter::release_state() {
15083   // @@protoc_insertion_point(field_release:opencv_caffe.NetParameter.state)
15084   clear_has_state();
15085   ::opencv_caffe::NetState* temp = state_;
15086   state_ = NULL;
15087   return temp;
15088 }
15089 inline void NetParameter::set_allocated_state(::opencv_caffe::NetState* state) {
15090   delete state_;
15091   state_ = state;
15092   if (state) {
15093     set_has_state();
15094   } else {
15095     clear_has_state();
15096   }
15097   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.NetParameter.state)
15098 }
15099
15100 // optional bool debug_info = 7 [default = false];
15101 inline bool NetParameter::has_debug_info() const {
15102   return (_has_bits_[0] & 0x00000040u) != 0;
15103 }
15104 inline void NetParameter::set_has_debug_info() {
15105   _has_bits_[0] |= 0x00000040u;
15106 }
15107 inline void NetParameter::clear_has_debug_info() {
15108   _has_bits_[0] &= ~0x00000040u;
15109 }
15110 inline void NetParameter::clear_debug_info() {
15111   debug_info_ = false;
15112   clear_has_debug_info();
15113 }
15114 inline bool NetParameter::debug_info() const {
15115   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.debug_info)
15116   return debug_info_;
15117 }
15118 inline void NetParameter::set_debug_info(bool value) {
15119   set_has_debug_info();
15120   debug_info_ = value;
15121   // @@protoc_insertion_point(field_set:opencv_caffe.NetParameter.debug_info)
15122 }
15123
15124 // repeated .opencv_caffe.LayerParameter layer = 100;
15125 inline int NetParameter::layer_size() const {
15126   return layer_.size();
15127 }
15128 inline void NetParameter::clear_layer() {
15129   layer_.Clear();
15130 }
15131 inline const ::opencv_caffe::LayerParameter& NetParameter::layer(int index) const {
15132   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layer)
15133   return layer_.Get(index);
15134 }
15135 inline ::opencv_caffe::LayerParameter* NetParameter::mutable_layer(int index) {
15136   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layer)
15137   return layer_.Mutable(index);
15138 }
15139 inline ::opencv_caffe::LayerParameter* NetParameter::add_layer() {
15140   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layer)
15141   return layer_.Add();
15142 }
15143 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >*
15144 NetParameter::mutable_layer() {
15145   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layer)
15146   return &layer_;
15147 }
15148 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::LayerParameter >&
15149 NetParameter::layer() const {
15150   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layer)
15151   return layer_;
15152 }
15153
15154 // repeated .opencv_caffe.V1LayerParameter layers = 2;
15155 inline int NetParameter::layers_size() const {
15156   return layers_.size();
15157 }
15158 inline void NetParameter::clear_layers() {
15159   layers_.Clear();
15160 }
15161 inline const ::opencv_caffe::V1LayerParameter& NetParameter::layers(int index) const {
15162   // @@protoc_insertion_point(field_get:opencv_caffe.NetParameter.layers)
15163   return layers_.Get(index);
15164 }
15165 inline ::opencv_caffe::V1LayerParameter* NetParameter::mutable_layers(int index) {
15166   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetParameter.layers)
15167   return layers_.Mutable(index);
15168 }
15169 inline ::opencv_caffe::V1LayerParameter* NetParameter::add_layers() {
15170   // @@protoc_insertion_point(field_add:opencv_caffe.NetParameter.layers)
15171   return layers_.Add();
15172 }
15173 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >*
15174 NetParameter::mutable_layers() {
15175   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetParameter.layers)
15176   return &layers_;
15177 }
15178 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::V1LayerParameter >&
15179 NetParameter::layers() const {
15180   // @@protoc_insertion_point(field_list:opencv_caffe.NetParameter.layers)
15181   return layers_;
15182 }
15183
15184 inline const NetParameter* NetParameter::internal_default_instance() {
15185   return &NetParameter_default_instance_.get();
15186 }
15187 // -------------------------------------------------------------------
15188
15189 // SolverParameter
15190
15191 // optional string net = 24;
15192 inline bool SolverParameter::has_net() const {
15193   return (_has_bits_[0] & 0x00000001u) != 0;
15194 }
15195 inline void SolverParameter::set_has_net() {
15196   _has_bits_[0] |= 0x00000001u;
15197 }
15198 inline void SolverParameter::clear_has_net() {
15199   _has_bits_[0] &= ~0x00000001u;
15200 }
15201 inline void SolverParameter::clear_net() {
15202   net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15203   clear_has_net();
15204 }
15205 inline const ::std::string& SolverParameter::net() const {
15206   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net)
15207   return net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15208 }
15209 inline void SolverParameter::set_net(const ::std::string& value) {
15210   set_has_net();
15211   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15212   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.net)
15213 }
15214 inline void SolverParameter::set_net(const char* value) {
15215   set_has_net();
15216   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15217   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.net)
15218 }
15219 inline void SolverParameter::set_net(const char* value, size_t size) {
15220   set_has_net();
15221   net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15222       ::std::string(reinterpret_cast<const char*>(value), size));
15223   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.net)
15224 }
15225 inline ::std::string* SolverParameter::mutable_net() {
15226   set_has_net();
15227   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net)
15228   return net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15229 }
15230 inline ::std::string* SolverParameter::release_net() {
15231   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net)
15232   clear_has_net();
15233   return net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15234 }
15235 inline void SolverParameter::set_allocated_net(::std::string* net) {
15236   if (net != NULL) {
15237     set_has_net();
15238   } else {
15239     clear_has_net();
15240   }
15241   net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), net);
15242   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net)
15243 }
15244
15245 // optional .opencv_caffe.NetParameter net_param = 25;
15246 inline bool SolverParameter::has_net_param() const {
15247   return (_has_bits_[0] & 0x00000002u) != 0;
15248 }
15249 inline void SolverParameter::set_has_net_param() {
15250   _has_bits_[0] |= 0x00000002u;
15251 }
15252 inline void SolverParameter::clear_has_net_param() {
15253   _has_bits_[0] &= ~0x00000002u;
15254 }
15255 inline void SolverParameter::clear_net_param() {
15256   if (net_param_ != NULL) net_param_->::opencv_caffe::NetParameter::Clear();
15257   clear_has_net_param();
15258 }
15259 inline const ::opencv_caffe::NetParameter& SolverParameter::net_param() const {
15260   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.net_param)
15261   return net_param_ != NULL ? *net_param_
15262                          : *::opencv_caffe::NetParameter::internal_default_instance();
15263 }
15264 inline ::opencv_caffe::NetParameter* SolverParameter::mutable_net_param() {
15265   set_has_net_param();
15266   if (net_param_ == NULL) {
15267     net_param_ = new ::opencv_caffe::NetParameter;
15268   }
15269   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.net_param)
15270   return net_param_;
15271 }
15272 inline ::opencv_caffe::NetParameter* SolverParameter::release_net_param() {
15273   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.net_param)
15274   clear_has_net_param();
15275   ::opencv_caffe::NetParameter* temp = net_param_;
15276   net_param_ = NULL;
15277   return temp;
15278 }
15279 inline void SolverParameter::set_allocated_net_param(::opencv_caffe::NetParameter* net_param) {
15280   delete net_param_;
15281   net_param_ = net_param;
15282   if (net_param) {
15283     set_has_net_param();
15284   } else {
15285     clear_has_net_param();
15286   }
15287   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.net_param)
15288 }
15289
15290 // optional string train_net = 1;
15291 inline bool SolverParameter::has_train_net() const {
15292   return (_has_bits_[0] & 0x00000004u) != 0;
15293 }
15294 inline void SolverParameter::set_has_train_net() {
15295   _has_bits_[0] |= 0x00000004u;
15296 }
15297 inline void SolverParameter::clear_has_train_net() {
15298   _has_bits_[0] &= ~0x00000004u;
15299 }
15300 inline void SolverParameter::clear_train_net() {
15301   train_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15302   clear_has_train_net();
15303 }
15304 inline const ::std::string& SolverParameter::train_net() const {
15305   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net)
15306   return train_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15307 }
15308 inline void SolverParameter::set_train_net(const ::std::string& value) {
15309   set_has_train_net();
15310   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15311   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.train_net)
15312 }
15313 inline void SolverParameter::set_train_net(const char* value) {
15314   set_has_train_net();
15315   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15316   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.train_net)
15317 }
15318 inline void SolverParameter::set_train_net(const char* value, size_t size) {
15319   set_has_train_net();
15320   train_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15321       ::std::string(reinterpret_cast<const char*>(value), size));
15322   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.train_net)
15323 }
15324 inline ::std::string* SolverParameter::mutable_train_net() {
15325   set_has_train_net();
15326   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net)
15327   return train_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15328 }
15329 inline ::std::string* SolverParameter::release_train_net() {
15330   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net)
15331   clear_has_train_net();
15332   return train_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15333 }
15334 inline void SolverParameter::set_allocated_train_net(::std::string* train_net) {
15335   if (train_net != NULL) {
15336     set_has_train_net();
15337   } else {
15338     clear_has_train_net();
15339   }
15340   train_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), train_net);
15341   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net)
15342 }
15343
15344 // repeated string test_net = 2;
15345 inline int SolverParameter::test_net_size() const {
15346   return test_net_.size();
15347 }
15348 inline void SolverParameter::clear_test_net() {
15349   test_net_.Clear();
15350 }
15351 inline const ::std::string& SolverParameter::test_net(int index) const {
15352   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net)
15353   return test_net_.Get(index);
15354 }
15355 inline ::std::string* SolverParameter::mutable_test_net(int index) {
15356   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net)
15357   return test_net_.Mutable(index);
15358 }
15359 inline void SolverParameter::set_test_net(int index, const ::std::string& value) {
15360   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_net)
15361   test_net_.Mutable(index)->assign(value);
15362 }
15363 inline void SolverParameter::set_test_net(int index, const char* value) {
15364   test_net_.Mutable(index)->assign(value);
15365   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.test_net)
15366 }
15367 inline void SolverParameter::set_test_net(int index, const char* value, size_t size) {
15368   test_net_.Mutable(index)->assign(
15369     reinterpret_cast<const char*>(value), size);
15370   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.test_net)
15371 }
15372 inline ::std::string* SolverParameter::add_test_net() {
15373   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.SolverParameter.test_net)
15374   return test_net_.Add();
15375 }
15376 inline void SolverParameter::add_test_net(const ::std::string& value) {
15377   test_net_.Add()->assign(value);
15378   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net)
15379 }
15380 inline void SolverParameter::add_test_net(const char* value) {
15381   test_net_.Add()->assign(value);
15382   // @@protoc_insertion_point(field_add_char:opencv_caffe.SolverParameter.test_net)
15383 }
15384 inline void SolverParameter::add_test_net(const char* value, size_t size) {
15385   test_net_.Add()->assign(reinterpret_cast<const char*>(value), size);
15386   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.SolverParameter.test_net)
15387 }
15388 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
15389 SolverParameter::test_net() const {
15390   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net)
15391   return test_net_;
15392 }
15393 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
15394 SolverParameter::mutable_test_net() {
15395   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net)
15396   return &test_net_;
15397 }
15398
15399 // optional .opencv_caffe.NetParameter train_net_param = 21;
15400 inline bool SolverParameter::has_train_net_param() const {
15401   return (_has_bits_[0] & 0x00000010u) != 0;
15402 }
15403 inline void SolverParameter::set_has_train_net_param() {
15404   _has_bits_[0] |= 0x00000010u;
15405 }
15406 inline void SolverParameter::clear_has_train_net_param() {
15407   _has_bits_[0] &= ~0x00000010u;
15408 }
15409 inline void SolverParameter::clear_train_net_param() {
15410   if (train_net_param_ != NULL) train_net_param_->::opencv_caffe::NetParameter::Clear();
15411   clear_has_train_net_param();
15412 }
15413 inline const ::opencv_caffe::NetParameter& SolverParameter::train_net_param() const {
15414   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_net_param)
15415   return train_net_param_ != NULL ? *train_net_param_
15416                          : *::opencv_caffe::NetParameter::internal_default_instance();
15417 }
15418 inline ::opencv_caffe::NetParameter* SolverParameter::mutable_train_net_param() {
15419   set_has_train_net_param();
15420   if (train_net_param_ == NULL) {
15421     train_net_param_ = new ::opencv_caffe::NetParameter;
15422   }
15423   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_net_param)
15424   return train_net_param_;
15425 }
15426 inline ::opencv_caffe::NetParameter* SolverParameter::release_train_net_param() {
15427   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_net_param)
15428   clear_has_train_net_param();
15429   ::opencv_caffe::NetParameter* temp = train_net_param_;
15430   train_net_param_ = NULL;
15431   return temp;
15432 }
15433 inline void SolverParameter::set_allocated_train_net_param(::opencv_caffe::NetParameter* train_net_param) {
15434   delete train_net_param_;
15435   train_net_param_ = train_net_param;
15436   if (train_net_param) {
15437     set_has_train_net_param();
15438   } else {
15439     clear_has_train_net_param();
15440   }
15441   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_net_param)
15442 }
15443
15444 // repeated .opencv_caffe.NetParameter test_net_param = 22;
15445 inline int SolverParameter::test_net_param_size() const {
15446   return test_net_param_.size();
15447 }
15448 inline void SolverParameter::clear_test_net_param() {
15449   test_net_param_.Clear();
15450 }
15451 inline const ::opencv_caffe::NetParameter& SolverParameter::test_net_param(int index) const {
15452   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_net_param)
15453   return test_net_param_.Get(index);
15454 }
15455 inline ::opencv_caffe::NetParameter* SolverParameter::mutable_test_net_param(int index) {
15456   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_net_param)
15457   return test_net_param_.Mutable(index);
15458 }
15459 inline ::opencv_caffe::NetParameter* SolverParameter::add_test_net_param() {
15460   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_net_param)
15461   return test_net_param_.Add();
15462 }
15463 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >*
15464 SolverParameter::mutable_test_net_param() {
15465   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_net_param)
15466   return &test_net_param_;
15467 }
15468 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetParameter >&
15469 SolverParameter::test_net_param() const {
15470   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_net_param)
15471   return test_net_param_;
15472 }
15473
15474 // optional .opencv_caffe.NetState train_state = 26;
15475 inline bool SolverParameter::has_train_state() const {
15476   return (_has_bits_[0] & 0x00000040u) != 0;
15477 }
15478 inline void SolverParameter::set_has_train_state() {
15479   _has_bits_[0] |= 0x00000040u;
15480 }
15481 inline void SolverParameter::clear_has_train_state() {
15482   _has_bits_[0] &= ~0x00000040u;
15483 }
15484 inline void SolverParameter::clear_train_state() {
15485   if (train_state_ != NULL) train_state_->::opencv_caffe::NetState::Clear();
15486   clear_has_train_state();
15487 }
15488 inline const ::opencv_caffe::NetState& SolverParameter::train_state() const {
15489   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.train_state)
15490   return train_state_ != NULL ? *train_state_
15491                          : *::opencv_caffe::NetState::internal_default_instance();
15492 }
15493 inline ::opencv_caffe::NetState* SolverParameter::mutable_train_state() {
15494   set_has_train_state();
15495   if (train_state_ == NULL) {
15496     train_state_ = new ::opencv_caffe::NetState;
15497   }
15498   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.train_state)
15499   return train_state_;
15500 }
15501 inline ::opencv_caffe::NetState* SolverParameter::release_train_state() {
15502   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.train_state)
15503   clear_has_train_state();
15504   ::opencv_caffe::NetState* temp = train_state_;
15505   train_state_ = NULL;
15506   return temp;
15507 }
15508 inline void SolverParameter::set_allocated_train_state(::opencv_caffe::NetState* train_state) {
15509   delete train_state_;
15510   train_state_ = train_state;
15511   if (train_state) {
15512     set_has_train_state();
15513   } else {
15514     clear_has_train_state();
15515   }
15516   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.train_state)
15517 }
15518
15519 // repeated .opencv_caffe.NetState test_state = 27;
15520 inline int SolverParameter::test_state_size() const {
15521   return test_state_.size();
15522 }
15523 inline void SolverParameter::clear_test_state() {
15524   test_state_.Clear();
15525 }
15526 inline const ::opencv_caffe::NetState& SolverParameter::test_state(int index) const {
15527   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_state)
15528   return test_state_.Get(index);
15529 }
15530 inline ::opencv_caffe::NetState* SolverParameter::mutable_test_state(int index) {
15531   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.test_state)
15532   return test_state_.Mutable(index);
15533 }
15534 inline ::opencv_caffe::NetState* SolverParameter::add_test_state() {
15535   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_state)
15536   return test_state_.Add();
15537 }
15538 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >*
15539 SolverParameter::mutable_test_state() {
15540   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_state)
15541   return &test_state_;
15542 }
15543 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetState >&
15544 SolverParameter::test_state() const {
15545   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_state)
15546   return test_state_;
15547 }
15548
15549 // repeated int32 test_iter = 3;
15550 inline int SolverParameter::test_iter_size() const {
15551   return test_iter_.size();
15552 }
15553 inline void SolverParameter::clear_test_iter() {
15554   test_iter_.Clear();
15555 }
15556 inline ::google::protobuf::int32 SolverParameter::test_iter(int index) const {
15557   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_iter)
15558   return test_iter_.Get(index);
15559 }
15560 inline void SolverParameter::set_test_iter(int index, ::google::protobuf::int32 value) {
15561   test_iter_.Set(index, value);
15562   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_iter)
15563 }
15564 inline void SolverParameter::add_test_iter(::google::protobuf::int32 value) {
15565   test_iter_.Add(value);
15566   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.test_iter)
15567 }
15568 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
15569 SolverParameter::test_iter() const {
15570   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.test_iter)
15571   return test_iter_;
15572 }
15573 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
15574 SolverParameter::mutable_test_iter() {
15575   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.test_iter)
15576   return &test_iter_;
15577 }
15578
15579 // optional int32 test_interval = 4 [default = 0];
15580 inline bool SolverParameter::has_test_interval() const {
15581   return (_has_bits_[0] & 0x00000200u) != 0;
15582 }
15583 inline void SolverParameter::set_has_test_interval() {
15584   _has_bits_[0] |= 0x00000200u;
15585 }
15586 inline void SolverParameter::clear_has_test_interval() {
15587   _has_bits_[0] &= ~0x00000200u;
15588 }
15589 inline void SolverParameter::clear_test_interval() {
15590   test_interval_ = 0;
15591   clear_has_test_interval();
15592 }
15593 inline ::google::protobuf::int32 SolverParameter::test_interval() const {
15594   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_interval)
15595   return test_interval_;
15596 }
15597 inline void SolverParameter::set_test_interval(::google::protobuf::int32 value) {
15598   set_has_test_interval();
15599   test_interval_ = value;
15600   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_interval)
15601 }
15602
15603 // optional bool test_compute_loss = 19 [default = false];
15604 inline bool SolverParameter::has_test_compute_loss() const {
15605   return (_has_bits_[0] & 0x00000400u) != 0;
15606 }
15607 inline void SolverParameter::set_has_test_compute_loss() {
15608   _has_bits_[0] |= 0x00000400u;
15609 }
15610 inline void SolverParameter::clear_has_test_compute_loss() {
15611   _has_bits_[0] &= ~0x00000400u;
15612 }
15613 inline void SolverParameter::clear_test_compute_loss() {
15614   test_compute_loss_ = false;
15615   clear_has_test_compute_loss();
15616 }
15617 inline bool SolverParameter::test_compute_loss() const {
15618   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_compute_loss)
15619   return test_compute_loss_;
15620 }
15621 inline void SolverParameter::set_test_compute_loss(bool value) {
15622   set_has_test_compute_loss();
15623   test_compute_loss_ = value;
15624   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_compute_loss)
15625 }
15626
15627 // optional bool test_initialization = 32 [default = true];
15628 inline bool SolverParameter::has_test_initialization() const {
15629   return (_has_bits_[0] & 0x00000800u) != 0;
15630 }
15631 inline void SolverParameter::set_has_test_initialization() {
15632   _has_bits_[0] |= 0x00000800u;
15633 }
15634 inline void SolverParameter::clear_has_test_initialization() {
15635   _has_bits_[0] &= ~0x00000800u;
15636 }
15637 inline void SolverParameter::clear_test_initialization() {
15638   test_initialization_ = true;
15639   clear_has_test_initialization();
15640 }
15641 inline bool SolverParameter::test_initialization() const {
15642   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.test_initialization)
15643   return test_initialization_;
15644 }
15645 inline void SolverParameter::set_test_initialization(bool value) {
15646   set_has_test_initialization();
15647   test_initialization_ = value;
15648   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.test_initialization)
15649 }
15650
15651 // optional float base_lr = 5;
15652 inline bool SolverParameter::has_base_lr() const {
15653   return (_has_bits_[0] & 0x00001000u) != 0;
15654 }
15655 inline void SolverParameter::set_has_base_lr() {
15656   _has_bits_[0] |= 0x00001000u;
15657 }
15658 inline void SolverParameter::clear_has_base_lr() {
15659   _has_bits_[0] &= ~0x00001000u;
15660 }
15661 inline void SolverParameter::clear_base_lr() {
15662   base_lr_ = 0;
15663   clear_has_base_lr();
15664 }
15665 inline float SolverParameter::base_lr() const {
15666   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.base_lr)
15667   return base_lr_;
15668 }
15669 inline void SolverParameter::set_base_lr(float value) {
15670   set_has_base_lr();
15671   base_lr_ = value;
15672   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.base_lr)
15673 }
15674
15675 // optional int32 display = 6;
15676 inline bool SolverParameter::has_display() const {
15677   return (_has_bits_[0] & 0x00002000u) != 0;
15678 }
15679 inline void SolverParameter::set_has_display() {
15680   _has_bits_[0] |= 0x00002000u;
15681 }
15682 inline void SolverParameter::clear_has_display() {
15683   _has_bits_[0] &= ~0x00002000u;
15684 }
15685 inline void SolverParameter::clear_display() {
15686   display_ = 0;
15687   clear_has_display();
15688 }
15689 inline ::google::protobuf::int32 SolverParameter::display() const {
15690   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.display)
15691   return display_;
15692 }
15693 inline void SolverParameter::set_display(::google::protobuf::int32 value) {
15694   set_has_display();
15695   display_ = value;
15696   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.display)
15697 }
15698
15699 // optional int32 average_loss = 33 [default = 1];
15700 inline bool SolverParameter::has_average_loss() const {
15701   return (_has_bits_[0] & 0x00004000u) != 0;
15702 }
15703 inline void SolverParameter::set_has_average_loss() {
15704   _has_bits_[0] |= 0x00004000u;
15705 }
15706 inline void SolverParameter::clear_has_average_loss() {
15707   _has_bits_[0] &= ~0x00004000u;
15708 }
15709 inline void SolverParameter::clear_average_loss() {
15710   average_loss_ = 1;
15711   clear_has_average_loss();
15712 }
15713 inline ::google::protobuf::int32 SolverParameter::average_loss() const {
15714   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.average_loss)
15715   return average_loss_;
15716 }
15717 inline void SolverParameter::set_average_loss(::google::protobuf::int32 value) {
15718   set_has_average_loss();
15719   average_loss_ = value;
15720   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.average_loss)
15721 }
15722
15723 // optional int32 max_iter = 7;
15724 inline bool SolverParameter::has_max_iter() const {
15725   return (_has_bits_[0] & 0x00008000u) != 0;
15726 }
15727 inline void SolverParameter::set_has_max_iter() {
15728   _has_bits_[0] |= 0x00008000u;
15729 }
15730 inline void SolverParameter::clear_has_max_iter() {
15731   _has_bits_[0] &= ~0x00008000u;
15732 }
15733 inline void SolverParameter::clear_max_iter() {
15734   max_iter_ = 0;
15735   clear_has_max_iter();
15736 }
15737 inline ::google::protobuf::int32 SolverParameter::max_iter() const {
15738   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.max_iter)
15739   return max_iter_;
15740 }
15741 inline void SolverParameter::set_max_iter(::google::protobuf::int32 value) {
15742   set_has_max_iter();
15743   max_iter_ = value;
15744   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.max_iter)
15745 }
15746
15747 // optional int32 iter_size = 36 [default = 1];
15748 inline bool SolverParameter::has_iter_size() const {
15749   return (_has_bits_[0] & 0x00010000u) != 0;
15750 }
15751 inline void SolverParameter::set_has_iter_size() {
15752   _has_bits_[0] |= 0x00010000u;
15753 }
15754 inline void SolverParameter::clear_has_iter_size() {
15755   _has_bits_[0] &= ~0x00010000u;
15756 }
15757 inline void SolverParameter::clear_iter_size() {
15758   iter_size_ = 1;
15759   clear_has_iter_size();
15760 }
15761 inline ::google::protobuf::int32 SolverParameter::iter_size() const {
15762   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.iter_size)
15763   return iter_size_;
15764 }
15765 inline void SolverParameter::set_iter_size(::google::protobuf::int32 value) {
15766   set_has_iter_size();
15767   iter_size_ = value;
15768   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.iter_size)
15769 }
15770
15771 // optional string lr_policy = 8;
15772 inline bool SolverParameter::has_lr_policy() const {
15773   return (_has_bits_[0] & 0x00020000u) != 0;
15774 }
15775 inline void SolverParameter::set_has_lr_policy() {
15776   _has_bits_[0] |= 0x00020000u;
15777 }
15778 inline void SolverParameter::clear_has_lr_policy() {
15779   _has_bits_[0] &= ~0x00020000u;
15780 }
15781 inline void SolverParameter::clear_lr_policy() {
15782   lr_policy_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15783   clear_has_lr_policy();
15784 }
15785 inline const ::std::string& SolverParameter::lr_policy() const {
15786   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.lr_policy)
15787   return lr_policy_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15788 }
15789 inline void SolverParameter::set_lr_policy(const ::std::string& value) {
15790   set_has_lr_policy();
15791   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
15792   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.lr_policy)
15793 }
15794 inline void SolverParameter::set_lr_policy(const char* value) {
15795   set_has_lr_policy();
15796   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
15797   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.lr_policy)
15798 }
15799 inline void SolverParameter::set_lr_policy(const char* value, size_t size) {
15800   set_has_lr_policy();
15801   lr_policy_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
15802       ::std::string(reinterpret_cast<const char*>(value), size));
15803   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.lr_policy)
15804 }
15805 inline ::std::string* SolverParameter::mutable_lr_policy() {
15806   set_has_lr_policy();
15807   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.lr_policy)
15808   return lr_policy_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15809 }
15810 inline ::std::string* SolverParameter::release_lr_policy() {
15811   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.lr_policy)
15812   clear_has_lr_policy();
15813   return lr_policy_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
15814 }
15815 inline void SolverParameter::set_allocated_lr_policy(::std::string* lr_policy) {
15816   if (lr_policy != NULL) {
15817     set_has_lr_policy();
15818   } else {
15819     clear_has_lr_policy();
15820   }
15821   lr_policy_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), lr_policy);
15822   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.lr_policy)
15823 }
15824
15825 // optional float gamma = 9;
15826 inline bool SolverParameter::has_gamma() const {
15827   return (_has_bits_[0] & 0x00040000u) != 0;
15828 }
15829 inline void SolverParameter::set_has_gamma() {
15830   _has_bits_[0] |= 0x00040000u;
15831 }
15832 inline void SolverParameter::clear_has_gamma() {
15833   _has_bits_[0] &= ~0x00040000u;
15834 }
15835 inline void SolverParameter::clear_gamma() {
15836   gamma_ = 0;
15837   clear_has_gamma();
15838 }
15839 inline float SolverParameter::gamma() const {
15840   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.gamma)
15841   return gamma_;
15842 }
15843 inline void SolverParameter::set_gamma(float value) {
15844   set_has_gamma();
15845   gamma_ = value;
15846   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.gamma)
15847 }
15848
15849 // optional float power = 10;
15850 inline bool SolverParameter::has_power() const {
15851   return (_has_bits_[0] & 0x00080000u) != 0;
15852 }
15853 inline void SolverParameter::set_has_power() {
15854   _has_bits_[0] |= 0x00080000u;
15855 }
15856 inline void SolverParameter::clear_has_power() {
15857   _has_bits_[0] &= ~0x00080000u;
15858 }
15859 inline void SolverParameter::clear_power() {
15860   power_ = 0;
15861   clear_has_power();
15862 }
15863 inline float SolverParameter::power() const {
15864   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.power)
15865   return power_;
15866 }
15867 inline void SolverParameter::set_power(float value) {
15868   set_has_power();
15869   power_ = value;
15870   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.power)
15871 }
15872
15873 // optional float momentum = 11;
15874 inline bool SolverParameter::has_momentum() const {
15875   return (_has_bits_[0] & 0x00100000u) != 0;
15876 }
15877 inline void SolverParameter::set_has_momentum() {
15878   _has_bits_[0] |= 0x00100000u;
15879 }
15880 inline void SolverParameter::clear_has_momentum() {
15881   _has_bits_[0] &= ~0x00100000u;
15882 }
15883 inline void SolverParameter::clear_momentum() {
15884   momentum_ = 0;
15885   clear_has_momentum();
15886 }
15887 inline float SolverParameter::momentum() const {
15888   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum)
15889   return momentum_;
15890 }
15891 inline void SolverParameter::set_momentum(float value) {
15892   set_has_momentum();
15893   momentum_ = value;
15894   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum)
15895 }
15896
15897 // optional float weight_decay = 12;
15898 inline bool SolverParameter::has_weight_decay() const {
15899   return (_has_bits_[0] & 0x00200000u) != 0;
15900 }
15901 inline void SolverParameter::set_has_weight_decay() {
15902   _has_bits_[0] |= 0x00200000u;
15903 }
15904 inline void SolverParameter::clear_has_weight_decay() {
15905   _has_bits_[0] &= ~0x00200000u;
15906 }
15907 inline void SolverParameter::clear_weight_decay() {
15908   weight_decay_ = 0;
15909   clear_has_weight_decay();
15910 }
15911 inline float SolverParameter::weight_decay() const {
15912   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.weight_decay)
15913   return weight_decay_;
15914 }
15915 inline void SolverParameter::set_weight_decay(float value) {
15916   set_has_weight_decay();
15917   weight_decay_ = value;
15918   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.weight_decay)
15919 }
15920
15921 // optional string regularization_type = 29 [default = "L2"];
15922 inline bool SolverParameter::has_regularization_type() const {
15923   return (_has_bits_[0] & 0x00400000u) != 0;
15924 }
15925 inline void SolverParameter::set_has_regularization_type() {
15926   _has_bits_[0] |= 0x00400000u;
15927 }
15928 inline void SolverParameter::clear_has_regularization_type() {
15929   _has_bits_[0] &= ~0x00400000u;
15930 }
15931 inline void SolverParameter::clear_regularization_type() {
15932   regularization_type_.ClearToDefaultNoArena(_default_regularization_type_);
15933   clear_has_regularization_type();
15934 }
15935 inline const ::std::string& SolverParameter::regularization_type() const {
15936   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.regularization_type)
15937   return regularization_type_.GetNoArena(_default_regularization_type_);
15938 }
15939 inline void SolverParameter::set_regularization_type(const ::std::string& value) {
15940   set_has_regularization_type();
15941   regularization_type_.SetNoArena(_default_regularization_type_, value);
15942   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.regularization_type)
15943 }
15944 inline void SolverParameter::set_regularization_type(const char* value) {
15945   set_has_regularization_type();
15946   regularization_type_.SetNoArena(_default_regularization_type_, ::std::string(value));
15947   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.regularization_type)
15948 }
15949 inline void SolverParameter::set_regularization_type(const char* value, size_t size) {
15950   set_has_regularization_type();
15951   regularization_type_.SetNoArena(_default_regularization_type_,
15952       ::std::string(reinterpret_cast<const char*>(value), size));
15953   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.regularization_type)
15954 }
15955 inline ::std::string* SolverParameter::mutable_regularization_type() {
15956   set_has_regularization_type();
15957   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.regularization_type)
15958   return regularization_type_.MutableNoArena(_default_regularization_type_);
15959 }
15960 inline ::std::string* SolverParameter::release_regularization_type() {
15961   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.regularization_type)
15962   clear_has_regularization_type();
15963   return regularization_type_.ReleaseNoArena(_default_regularization_type_);
15964 }
15965 inline void SolverParameter::set_allocated_regularization_type(::std::string* regularization_type) {
15966   if (regularization_type != NULL) {
15967     set_has_regularization_type();
15968   } else {
15969     clear_has_regularization_type();
15970   }
15971   regularization_type_.SetAllocatedNoArena(_default_regularization_type_, regularization_type);
15972   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.regularization_type)
15973 }
15974
15975 // optional int32 stepsize = 13;
15976 inline bool SolverParameter::has_stepsize() const {
15977   return (_has_bits_[0] & 0x00800000u) != 0;
15978 }
15979 inline void SolverParameter::set_has_stepsize() {
15980   _has_bits_[0] |= 0x00800000u;
15981 }
15982 inline void SolverParameter::clear_has_stepsize() {
15983   _has_bits_[0] &= ~0x00800000u;
15984 }
15985 inline void SolverParameter::clear_stepsize() {
15986   stepsize_ = 0;
15987   clear_has_stepsize();
15988 }
15989 inline ::google::protobuf::int32 SolverParameter::stepsize() const {
15990   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepsize)
15991   return stepsize_;
15992 }
15993 inline void SolverParameter::set_stepsize(::google::protobuf::int32 value) {
15994   set_has_stepsize();
15995   stepsize_ = value;
15996   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepsize)
15997 }
15998
15999 // repeated int32 stepvalue = 34;
16000 inline int SolverParameter::stepvalue_size() const {
16001   return stepvalue_.size();
16002 }
16003 inline void SolverParameter::clear_stepvalue() {
16004   stepvalue_.Clear();
16005 }
16006 inline ::google::protobuf::int32 SolverParameter::stepvalue(int index) const {
16007   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.stepvalue)
16008   return stepvalue_.Get(index);
16009 }
16010 inline void SolverParameter::set_stepvalue(int index, ::google::protobuf::int32 value) {
16011   stepvalue_.Set(index, value);
16012   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.stepvalue)
16013 }
16014 inline void SolverParameter::add_stepvalue(::google::protobuf::int32 value) {
16015   stepvalue_.Add(value);
16016   // @@protoc_insertion_point(field_add:opencv_caffe.SolverParameter.stepvalue)
16017 }
16018 inline const ::google::protobuf::RepeatedField< ::google::protobuf::int32 >&
16019 SolverParameter::stepvalue() const {
16020   // @@protoc_insertion_point(field_list:opencv_caffe.SolverParameter.stepvalue)
16021   return stepvalue_;
16022 }
16023 inline ::google::protobuf::RepeatedField< ::google::protobuf::int32 >*
16024 SolverParameter::mutable_stepvalue() {
16025   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverParameter.stepvalue)
16026   return &stepvalue_;
16027 }
16028
16029 // optional float clip_gradients = 35 [default = -1];
16030 inline bool SolverParameter::has_clip_gradients() const {
16031   return (_has_bits_[0] & 0x02000000u) != 0;
16032 }
16033 inline void SolverParameter::set_has_clip_gradients() {
16034   _has_bits_[0] |= 0x02000000u;
16035 }
16036 inline void SolverParameter::clear_has_clip_gradients() {
16037   _has_bits_[0] &= ~0x02000000u;
16038 }
16039 inline void SolverParameter::clear_clip_gradients() {
16040   clip_gradients_ = -1;
16041   clear_has_clip_gradients();
16042 }
16043 inline float SolverParameter::clip_gradients() const {
16044   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.clip_gradients)
16045   return clip_gradients_;
16046 }
16047 inline void SolverParameter::set_clip_gradients(float value) {
16048   set_has_clip_gradients();
16049   clip_gradients_ = value;
16050   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.clip_gradients)
16051 }
16052
16053 // optional int32 snapshot = 14 [default = 0];
16054 inline bool SolverParameter::has_snapshot() const {
16055   return (_has_bits_[0] & 0x04000000u) != 0;
16056 }
16057 inline void SolverParameter::set_has_snapshot() {
16058   _has_bits_[0] |= 0x04000000u;
16059 }
16060 inline void SolverParameter::clear_has_snapshot() {
16061   _has_bits_[0] &= ~0x04000000u;
16062 }
16063 inline void SolverParameter::clear_snapshot() {
16064   snapshot_ = 0;
16065   clear_has_snapshot();
16066 }
16067 inline ::google::protobuf::int32 SolverParameter::snapshot() const {
16068   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot)
16069   return snapshot_;
16070 }
16071 inline void SolverParameter::set_snapshot(::google::protobuf::int32 value) {
16072   set_has_snapshot();
16073   snapshot_ = value;
16074   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot)
16075 }
16076
16077 // optional string snapshot_prefix = 15;
16078 inline bool SolverParameter::has_snapshot_prefix() const {
16079   return (_has_bits_[0] & 0x08000000u) != 0;
16080 }
16081 inline void SolverParameter::set_has_snapshot_prefix() {
16082   _has_bits_[0] |= 0x08000000u;
16083 }
16084 inline void SolverParameter::clear_has_snapshot_prefix() {
16085   _has_bits_[0] &= ~0x08000000u;
16086 }
16087 inline void SolverParameter::clear_snapshot_prefix() {
16088   snapshot_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16089   clear_has_snapshot_prefix();
16090 }
16091 inline const ::std::string& SolverParameter::snapshot_prefix() const {
16092   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_prefix)
16093   return snapshot_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16094 }
16095 inline void SolverParameter::set_snapshot_prefix(const ::std::string& value) {
16096   set_has_snapshot_prefix();
16097   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
16098   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_prefix)
16099 }
16100 inline void SolverParameter::set_snapshot_prefix(const char* value) {
16101   set_has_snapshot_prefix();
16102   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
16103   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.snapshot_prefix)
16104 }
16105 inline void SolverParameter::set_snapshot_prefix(const char* value, size_t size) {
16106   set_has_snapshot_prefix();
16107   snapshot_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
16108       ::std::string(reinterpret_cast<const char*>(value), size));
16109   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.snapshot_prefix)
16110 }
16111 inline ::std::string* SolverParameter::mutable_snapshot_prefix() {
16112   set_has_snapshot_prefix();
16113   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.snapshot_prefix)
16114   return snapshot_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16115 }
16116 inline ::std::string* SolverParameter::release_snapshot_prefix() {
16117   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.snapshot_prefix)
16118   clear_has_snapshot_prefix();
16119   return snapshot_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16120 }
16121 inline void SolverParameter::set_allocated_snapshot_prefix(::std::string* snapshot_prefix) {
16122   if (snapshot_prefix != NULL) {
16123     set_has_snapshot_prefix();
16124   } else {
16125     clear_has_snapshot_prefix();
16126   }
16127   snapshot_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), snapshot_prefix);
16128   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.snapshot_prefix)
16129 }
16130
16131 // optional bool snapshot_diff = 16 [default = false];
16132 inline bool SolverParameter::has_snapshot_diff() const {
16133   return (_has_bits_[0] & 0x10000000u) != 0;
16134 }
16135 inline void SolverParameter::set_has_snapshot_diff() {
16136   _has_bits_[0] |= 0x10000000u;
16137 }
16138 inline void SolverParameter::clear_has_snapshot_diff() {
16139   _has_bits_[0] &= ~0x10000000u;
16140 }
16141 inline void SolverParameter::clear_snapshot_diff() {
16142   snapshot_diff_ = false;
16143   clear_has_snapshot_diff();
16144 }
16145 inline bool SolverParameter::snapshot_diff() const {
16146   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_diff)
16147   return snapshot_diff_;
16148 }
16149 inline void SolverParameter::set_snapshot_diff(bool value) {
16150   set_has_snapshot_diff();
16151   snapshot_diff_ = value;
16152   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_diff)
16153 }
16154
16155 // optional .opencv_caffe.SolverParameter.SnapshotFormat snapshot_format = 37 [default = BINARYPROTO];
16156 inline bool SolverParameter::has_snapshot_format() const {
16157   return (_has_bits_[0] & 0x20000000u) != 0;
16158 }
16159 inline void SolverParameter::set_has_snapshot_format() {
16160   _has_bits_[0] |= 0x20000000u;
16161 }
16162 inline void SolverParameter::clear_has_snapshot_format() {
16163   _has_bits_[0] &= ~0x20000000u;
16164 }
16165 inline void SolverParameter::clear_snapshot_format() {
16166   snapshot_format_ = 1;
16167   clear_has_snapshot_format();
16168 }
16169 inline ::opencv_caffe::SolverParameter_SnapshotFormat SolverParameter::snapshot_format() const {
16170   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_format)
16171   return static_cast< ::opencv_caffe::SolverParameter_SnapshotFormat >(snapshot_format_);
16172 }
16173 inline void SolverParameter::set_snapshot_format(::opencv_caffe::SolverParameter_SnapshotFormat value) {
16174   assert(::opencv_caffe::SolverParameter_SnapshotFormat_IsValid(value));
16175   set_has_snapshot_format();
16176   snapshot_format_ = value;
16177   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_format)
16178 }
16179
16180 // optional .opencv_caffe.SolverParameter.SolverMode solver_mode = 17 [default = GPU];
16181 inline bool SolverParameter::has_solver_mode() const {
16182   return (_has_bits_[0] & 0x40000000u) != 0;
16183 }
16184 inline void SolverParameter::set_has_solver_mode() {
16185   _has_bits_[0] |= 0x40000000u;
16186 }
16187 inline void SolverParameter::clear_has_solver_mode() {
16188   _has_bits_[0] &= ~0x40000000u;
16189 }
16190 inline void SolverParameter::clear_solver_mode() {
16191   solver_mode_ = 1;
16192   clear_has_solver_mode();
16193 }
16194 inline ::opencv_caffe::SolverParameter_SolverMode SolverParameter::solver_mode() const {
16195   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_mode)
16196   return static_cast< ::opencv_caffe::SolverParameter_SolverMode >(solver_mode_);
16197 }
16198 inline void SolverParameter::set_solver_mode(::opencv_caffe::SolverParameter_SolverMode value) {
16199   assert(::opencv_caffe::SolverParameter_SolverMode_IsValid(value));
16200   set_has_solver_mode();
16201   solver_mode_ = value;
16202   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_mode)
16203 }
16204
16205 // optional int32 device_id = 18 [default = 0];
16206 inline bool SolverParameter::has_device_id() const {
16207   return (_has_bits_[0] & 0x80000000u) != 0;
16208 }
16209 inline void SolverParameter::set_has_device_id() {
16210   _has_bits_[0] |= 0x80000000u;
16211 }
16212 inline void SolverParameter::clear_has_device_id() {
16213   _has_bits_[0] &= ~0x80000000u;
16214 }
16215 inline void SolverParameter::clear_device_id() {
16216   device_id_ = 0;
16217   clear_has_device_id();
16218 }
16219 inline ::google::protobuf::int32 SolverParameter::device_id() const {
16220   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.device_id)
16221   return device_id_;
16222 }
16223 inline void SolverParameter::set_device_id(::google::protobuf::int32 value) {
16224   set_has_device_id();
16225   device_id_ = value;
16226   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.device_id)
16227 }
16228
16229 // optional int64 random_seed = 20 [default = -1];
16230 inline bool SolverParameter::has_random_seed() const {
16231   return (_has_bits_[1] & 0x00000001u) != 0;
16232 }
16233 inline void SolverParameter::set_has_random_seed() {
16234   _has_bits_[1] |= 0x00000001u;
16235 }
16236 inline void SolverParameter::clear_has_random_seed() {
16237   _has_bits_[1] &= ~0x00000001u;
16238 }
16239 inline void SolverParameter::clear_random_seed() {
16240   random_seed_ = GOOGLE_LONGLONG(-1);
16241   clear_has_random_seed();
16242 }
16243 inline ::google::protobuf::int64 SolverParameter::random_seed() const {
16244   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.random_seed)
16245   return random_seed_;
16246 }
16247 inline void SolverParameter::set_random_seed(::google::protobuf::int64 value) {
16248   set_has_random_seed();
16249   random_seed_ = value;
16250   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.random_seed)
16251 }
16252
16253 // optional string type = 40 [default = "SGD"];
16254 inline bool SolverParameter::has_type() const {
16255   return (_has_bits_[1] & 0x00000002u) != 0;
16256 }
16257 inline void SolverParameter::set_has_type() {
16258   _has_bits_[1] |= 0x00000002u;
16259 }
16260 inline void SolverParameter::clear_has_type() {
16261   _has_bits_[1] &= ~0x00000002u;
16262 }
16263 inline void SolverParameter::clear_type() {
16264   type_.ClearToDefaultNoArena(_default_type_);
16265   clear_has_type();
16266 }
16267 inline const ::std::string& SolverParameter::type() const {
16268   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.type)
16269   return type_.GetNoArena(_default_type_);
16270 }
16271 inline void SolverParameter::set_type(const ::std::string& value) {
16272   set_has_type();
16273   type_.SetNoArena(_default_type_, value);
16274   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.type)
16275 }
16276 inline void SolverParameter::set_type(const char* value) {
16277   set_has_type();
16278   type_.SetNoArena(_default_type_, ::std::string(value));
16279   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverParameter.type)
16280 }
16281 inline void SolverParameter::set_type(const char* value, size_t size) {
16282   set_has_type();
16283   type_.SetNoArena(_default_type_,
16284       ::std::string(reinterpret_cast<const char*>(value), size));
16285   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverParameter.type)
16286 }
16287 inline ::std::string* SolverParameter::mutable_type() {
16288   set_has_type();
16289   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverParameter.type)
16290   return type_.MutableNoArena(_default_type_);
16291 }
16292 inline ::std::string* SolverParameter::release_type() {
16293   // @@protoc_insertion_point(field_release:opencv_caffe.SolverParameter.type)
16294   clear_has_type();
16295   return type_.ReleaseNoArena(_default_type_);
16296 }
16297 inline void SolverParameter::set_allocated_type(::std::string* type) {
16298   if (type != NULL) {
16299     set_has_type();
16300   } else {
16301     clear_has_type();
16302   }
16303   type_.SetAllocatedNoArena(_default_type_, type);
16304   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverParameter.type)
16305 }
16306
16307 // optional float delta = 31 [default = 1e-08];
16308 inline bool SolverParameter::has_delta() const {
16309   return (_has_bits_[1] & 0x00000004u) != 0;
16310 }
16311 inline void SolverParameter::set_has_delta() {
16312   _has_bits_[1] |= 0x00000004u;
16313 }
16314 inline void SolverParameter::clear_has_delta() {
16315   _has_bits_[1] &= ~0x00000004u;
16316 }
16317 inline void SolverParameter::clear_delta() {
16318   delta_ = 1e-08f;
16319   clear_has_delta();
16320 }
16321 inline float SolverParameter::delta() const {
16322   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.delta)
16323   return delta_;
16324 }
16325 inline void SolverParameter::set_delta(float value) {
16326   set_has_delta();
16327   delta_ = value;
16328   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.delta)
16329 }
16330
16331 // optional float momentum2 = 39 [default = 0.999];
16332 inline bool SolverParameter::has_momentum2() const {
16333   return (_has_bits_[1] & 0x00000008u) != 0;
16334 }
16335 inline void SolverParameter::set_has_momentum2() {
16336   _has_bits_[1] |= 0x00000008u;
16337 }
16338 inline void SolverParameter::clear_has_momentum2() {
16339   _has_bits_[1] &= ~0x00000008u;
16340 }
16341 inline void SolverParameter::clear_momentum2() {
16342   momentum2_ = 0.999f;
16343   clear_has_momentum2();
16344 }
16345 inline float SolverParameter::momentum2() const {
16346   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.momentum2)
16347   return momentum2_;
16348 }
16349 inline void SolverParameter::set_momentum2(float value) {
16350   set_has_momentum2();
16351   momentum2_ = value;
16352   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.momentum2)
16353 }
16354
16355 // optional float rms_decay = 38 [default = 0.99];
16356 inline bool SolverParameter::has_rms_decay() const {
16357   return (_has_bits_[1] & 0x00000010u) != 0;
16358 }
16359 inline void SolverParameter::set_has_rms_decay() {
16360   _has_bits_[1] |= 0x00000010u;
16361 }
16362 inline void SolverParameter::clear_has_rms_decay() {
16363   _has_bits_[1] &= ~0x00000010u;
16364 }
16365 inline void SolverParameter::clear_rms_decay() {
16366   rms_decay_ = 0.99f;
16367   clear_has_rms_decay();
16368 }
16369 inline float SolverParameter::rms_decay() const {
16370   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.rms_decay)
16371   return rms_decay_;
16372 }
16373 inline void SolverParameter::set_rms_decay(float value) {
16374   set_has_rms_decay();
16375   rms_decay_ = value;
16376   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.rms_decay)
16377 }
16378
16379 // optional bool debug_info = 23 [default = false];
16380 inline bool SolverParameter::has_debug_info() const {
16381   return (_has_bits_[1] & 0x00000020u) != 0;
16382 }
16383 inline void SolverParameter::set_has_debug_info() {
16384   _has_bits_[1] |= 0x00000020u;
16385 }
16386 inline void SolverParameter::clear_has_debug_info() {
16387   _has_bits_[1] &= ~0x00000020u;
16388 }
16389 inline void SolverParameter::clear_debug_info() {
16390   debug_info_ = false;
16391   clear_has_debug_info();
16392 }
16393 inline bool SolverParameter::debug_info() const {
16394   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.debug_info)
16395   return debug_info_;
16396 }
16397 inline void SolverParameter::set_debug_info(bool value) {
16398   set_has_debug_info();
16399   debug_info_ = value;
16400   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.debug_info)
16401 }
16402
16403 // optional bool snapshot_after_train = 28 [default = true];
16404 inline bool SolverParameter::has_snapshot_after_train() const {
16405   return (_has_bits_[1] & 0x00000040u) != 0;
16406 }
16407 inline void SolverParameter::set_has_snapshot_after_train() {
16408   _has_bits_[1] |= 0x00000040u;
16409 }
16410 inline void SolverParameter::clear_has_snapshot_after_train() {
16411   _has_bits_[1] &= ~0x00000040u;
16412 }
16413 inline void SolverParameter::clear_snapshot_after_train() {
16414   snapshot_after_train_ = true;
16415   clear_has_snapshot_after_train();
16416 }
16417 inline bool SolverParameter::snapshot_after_train() const {
16418   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.snapshot_after_train)
16419   return snapshot_after_train_;
16420 }
16421 inline void SolverParameter::set_snapshot_after_train(bool value) {
16422   set_has_snapshot_after_train();
16423   snapshot_after_train_ = value;
16424   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.snapshot_after_train)
16425 }
16426
16427 // optional .opencv_caffe.SolverParameter.SolverType solver_type = 30 [default = SGD];
16428 inline bool SolverParameter::has_solver_type() const {
16429   return (_has_bits_[1] & 0x00000080u) != 0;
16430 }
16431 inline void SolverParameter::set_has_solver_type() {
16432   _has_bits_[1] |= 0x00000080u;
16433 }
16434 inline void SolverParameter::clear_has_solver_type() {
16435   _has_bits_[1] &= ~0x00000080u;
16436 }
16437 inline void SolverParameter::clear_solver_type() {
16438   solver_type_ = 0;
16439   clear_has_solver_type();
16440 }
16441 inline ::opencv_caffe::SolverParameter_SolverType SolverParameter::solver_type() const {
16442   // @@protoc_insertion_point(field_get:opencv_caffe.SolverParameter.solver_type)
16443   return static_cast< ::opencv_caffe::SolverParameter_SolverType >(solver_type_);
16444 }
16445 inline void SolverParameter::set_solver_type(::opencv_caffe::SolverParameter_SolverType value) {
16446   assert(::opencv_caffe::SolverParameter_SolverType_IsValid(value));
16447   set_has_solver_type();
16448   solver_type_ = value;
16449   // @@protoc_insertion_point(field_set:opencv_caffe.SolverParameter.solver_type)
16450 }
16451
16452 inline const SolverParameter* SolverParameter::internal_default_instance() {
16453   return &SolverParameter_default_instance_.get();
16454 }
16455 // -------------------------------------------------------------------
16456
16457 // SolverState
16458
16459 // optional int32 iter = 1;
16460 inline bool SolverState::has_iter() const {
16461   return (_has_bits_[0] & 0x00000001u) != 0;
16462 }
16463 inline void SolverState::set_has_iter() {
16464   _has_bits_[0] |= 0x00000001u;
16465 }
16466 inline void SolverState::clear_has_iter() {
16467   _has_bits_[0] &= ~0x00000001u;
16468 }
16469 inline void SolverState::clear_iter() {
16470   iter_ = 0;
16471   clear_has_iter();
16472 }
16473 inline ::google::protobuf::int32 SolverState::iter() const {
16474   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.iter)
16475   return iter_;
16476 }
16477 inline void SolverState::set_iter(::google::protobuf::int32 value) {
16478   set_has_iter();
16479   iter_ = value;
16480   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.iter)
16481 }
16482
16483 // optional string learned_net = 2;
16484 inline bool SolverState::has_learned_net() const {
16485   return (_has_bits_[0] & 0x00000002u) != 0;
16486 }
16487 inline void SolverState::set_has_learned_net() {
16488   _has_bits_[0] |= 0x00000002u;
16489 }
16490 inline void SolverState::clear_has_learned_net() {
16491   _has_bits_[0] &= ~0x00000002u;
16492 }
16493 inline void SolverState::clear_learned_net() {
16494   learned_net_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16495   clear_has_learned_net();
16496 }
16497 inline const ::std::string& SolverState::learned_net() const {
16498   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.learned_net)
16499   return learned_net_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16500 }
16501 inline void SolverState::set_learned_net(const ::std::string& value) {
16502   set_has_learned_net();
16503   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
16504   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.learned_net)
16505 }
16506 inline void SolverState::set_learned_net(const char* value) {
16507   set_has_learned_net();
16508   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
16509   // @@protoc_insertion_point(field_set_char:opencv_caffe.SolverState.learned_net)
16510 }
16511 inline void SolverState::set_learned_net(const char* value, size_t size) {
16512   set_has_learned_net();
16513   learned_net_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
16514       ::std::string(reinterpret_cast<const char*>(value), size));
16515   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SolverState.learned_net)
16516 }
16517 inline ::std::string* SolverState::mutable_learned_net() {
16518   set_has_learned_net();
16519   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.learned_net)
16520   return learned_net_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16521 }
16522 inline ::std::string* SolverState::release_learned_net() {
16523   // @@protoc_insertion_point(field_release:opencv_caffe.SolverState.learned_net)
16524   clear_has_learned_net();
16525   return learned_net_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16526 }
16527 inline void SolverState::set_allocated_learned_net(::std::string* learned_net) {
16528   if (learned_net != NULL) {
16529     set_has_learned_net();
16530   } else {
16531     clear_has_learned_net();
16532   }
16533   learned_net_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), learned_net);
16534   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SolverState.learned_net)
16535 }
16536
16537 // repeated .opencv_caffe.BlobProto history = 3;
16538 inline int SolverState::history_size() const {
16539   return history_.size();
16540 }
16541 inline void SolverState::clear_history() {
16542   history_.Clear();
16543 }
16544 inline const ::opencv_caffe::BlobProto& SolverState::history(int index) const {
16545   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.history)
16546   return history_.Get(index);
16547 }
16548 inline ::opencv_caffe::BlobProto* SolverState::mutable_history(int index) {
16549   // @@protoc_insertion_point(field_mutable:opencv_caffe.SolverState.history)
16550   return history_.Mutable(index);
16551 }
16552 inline ::opencv_caffe::BlobProto* SolverState::add_history() {
16553   // @@protoc_insertion_point(field_add:opencv_caffe.SolverState.history)
16554   return history_.Add();
16555 }
16556 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
16557 SolverState::mutable_history() {
16558   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SolverState.history)
16559   return &history_;
16560 }
16561 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
16562 SolverState::history() const {
16563   // @@protoc_insertion_point(field_list:opencv_caffe.SolverState.history)
16564   return history_;
16565 }
16566
16567 // optional int32 current_step = 4 [default = 0];
16568 inline bool SolverState::has_current_step() const {
16569   return (_has_bits_[0] & 0x00000008u) != 0;
16570 }
16571 inline void SolverState::set_has_current_step() {
16572   _has_bits_[0] |= 0x00000008u;
16573 }
16574 inline void SolverState::clear_has_current_step() {
16575   _has_bits_[0] &= ~0x00000008u;
16576 }
16577 inline void SolverState::clear_current_step() {
16578   current_step_ = 0;
16579   clear_has_current_step();
16580 }
16581 inline ::google::protobuf::int32 SolverState::current_step() const {
16582   // @@protoc_insertion_point(field_get:opencv_caffe.SolverState.current_step)
16583   return current_step_;
16584 }
16585 inline void SolverState::set_current_step(::google::protobuf::int32 value) {
16586   set_has_current_step();
16587   current_step_ = value;
16588   // @@protoc_insertion_point(field_set:opencv_caffe.SolverState.current_step)
16589 }
16590
16591 inline const SolverState* SolverState::internal_default_instance() {
16592   return &SolverState_default_instance_.get();
16593 }
16594 // -------------------------------------------------------------------
16595
16596 // NetState
16597
16598 // optional .opencv_caffe.Phase phase = 1 [default = TEST];
16599 inline bool NetState::has_phase() const {
16600   return (_has_bits_[0] & 0x00000001u) != 0;
16601 }
16602 inline void NetState::set_has_phase() {
16603   _has_bits_[0] |= 0x00000001u;
16604 }
16605 inline void NetState::clear_has_phase() {
16606   _has_bits_[0] &= ~0x00000001u;
16607 }
16608 inline void NetState::clear_phase() {
16609   phase_ = 1;
16610   clear_has_phase();
16611 }
16612 inline ::opencv_caffe::Phase NetState::phase() const {
16613   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.phase)
16614   return static_cast< ::opencv_caffe::Phase >(phase_);
16615 }
16616 inline void NetState::set_phase(::opencv_caffe::Phase value) {
16617   assert(::opencv_caffe::Phase_IsValid(value));
16618   set_has_phase();
16619   phase_ = value;
16620   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.phase)
16621 }
16622
16623 // optional int32 level = 2 [default = 0];
16624 inline bool NetState::has_level() const {
16625   return (_has_bits_[0] & 0x00000002u) != 0;
16626 }
16627 inline void NetState::set_has_level() {
16628   _has_bits_[0] |= 0x00000002u;
16629 }
16630 inline void NetState::clear_has_level() {
16631   _has_bits_[0] &= ~0x00000002u;
16632 }
16633 inline void NetState::clear_level() {
16634   level_ = 0;
16635   clear_has_level();
16636 }
16637 inline ::google::protobuf::int32 NetState::level() const {
16638   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.level)
16639   return level_;
16640 }
16641 inline void NetState::set_level(::google::protobuf::int32 value) {
16642   set_has_level();
16643   level_ = value;
16644   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.level)
16645 }
16646
16647 // repeated string stage = 3;
16648 inline int NetState::stage_size() const {
16649   return stage_.size();
16650 }
16651 inline void NetState::clear_stage() {
16652   stage_.Clear();
16653 }
16654 inline const ::std::string& NetState::stage(int index) const {
16655   // @@protoc_insertion_point(field_get:opencv_caffe.NetState.stage)
16656   return stage_.Get(index);
16657 }
16658 inline ::std::string* NetState::mutable_stage(int index) {
16659   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetState.stage)
16660   return stage_.Mutable(index);
16661 }
16662 inline void NetState::set_stage(int index, const ::std::string& value) {
16663   // @@protoc_insertion_point(field_set:opencv_caffe.NetState.stage)
16664   stage_.Mutable(index)->assign(value);
16665 }
16666 inline void NetState::set_stage(int index, const char* value) {
16667   stage_.Mutable(index)->assign(value);
16668   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetState.stage)
16669 }
16670 inline void NetState::set_stage(int index, const char* value, size_t size) {
16671   stage_.Mutable(index)->assign(
16672     reinterpret_cast<const char*>(value), size);
16673   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetState.stage)
16674 }
16675 inline ::std::string* NetState::add_stage() {
16676   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetState.stage)
16677   return stage_.Add();
16678 }
16679 inline void NetState::add_stage(const ::std::string& value) {
16680   stage_.Add()->assign(value);
16681   // @@protoc_insertion_point(field_add:opencv_caffe.NetState.stage)
16682 }
16683 inline void NetState::add_stage(const char* value) {
16684   stage_.Add()->assign(value);
16685   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetState.stage)
16686 }
16687 inline void NetState::add_stage(const char* value, size_t size) {
16688   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
16689   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetState.stage)
16690 }
16691 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
16692 NetState::stage() const {
16693   // @@protoc_insertion_point(field_list:opencv_caffe.NetState.stage)
16694   return stage_;
16695 }
16696 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
16697 NetState::mutable_stage() {
16698   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetState.stage)
16699   return &stage_;
16700 }
16701
16702 inline const NetState* NetState::internal_default_instance() {
16703   return &NetState_default_instance_.get();
16704 }
16705 // -------------------------------------------------------------------
16706
16707 // NetStateRule
16708
16709 // optional .opencv_caffe.Phase phase = 1;
16710 inline bool NetStateRule::has_phase() const {
16711   return (_has_bits_[0] & 0x00000001u) != 0;
16712 }
16713 inline void NetStateRule::set_has_phase() {
16714   _has_bits_[0] |= 0x00000001u;
16715 }
16716 inline void NetStateRule::clear_has_phase() {
16717   _has_bits_[0] &= ~0x00000001u;
16718 }
16719 inline void NetStateRule::clear_phase() {
16720   phase_ = 0;
16721   clear_has_phase();
16722 }
16723 inline ::opencv_caffe::Phase NetStateRule::phase() const {
16724   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.phase)
16725   return static_cast< ::opencv_caffe::Phase >(phase_);
16726 }
16727 inline void NetStateRule::set_phase(::opencv_caffe::Phase value) {
16728   assert(::opencv_caffe::Phase_IsValid(value));
16729   set_has_phase();
16730   phase_ = value;
16731   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.phase)
16732 }
16733
16734 // optional int32 min_level = 2;
16735 inline bool NetStateRule::has_min_level() const {
16736   return (_has_bits_[0] & 0x00000002u) != 0;
16737 }
16738 inline void NetStateRule::set_has_min_level() {
16739   _has_bits_[0] |= 0x00000002u;
16740 }
16741 inline void NetStateRule::clear_has_min_level() {
16742   _has_bits_[0] &= ~0x00000002u;
16743 }
16744 inline void NetStateRule::clear_min_level() {
16745   min_level_ = 0;
16746   clear_has_min_level();
16747 }
16748 inline ::google::protobuf::int32 NetStateRule::min_level() const {
16749   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.min_level)
16750   return min_level_;
16751 }
16752 inline void NetStateRule::set_min_level(::google::protobuf::int32 value) {
16753   set_has_min_level();
16754   min_level_ = value;
16755   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.min_level)
16756 }
16757
16758 // optional int32 max_level = 3;
16759 inline bool NetStateRule::has_max_level() const {
16760   return (_has_bits_[0] & 0x00000004u) != 0;
16761 }
16762 inline void NetStateRule::set_has_max_level() {
16763   _has_bits_[0] |= 0x00000004u;
16764 }
16765 inline void NetStateRule::clear_has_max_level() {
16766   _has_bits_[0] &= ~0x00000004u;
16767 }
16768 inline void NetStateRule::clear_max_level() {
16769   max_level_ = 0;
16770   clear_has_max_level();
16771 }
16772 inline ::google::protobuf::int32 NetStateRule::max_level() const {
16773   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.max_level)
16774   return max_level_;
16775 }
16776 inline void NetStateRule::set_max_level(::google::protobuf::int32 value) {
16777   set_has_max_level();
16778   max_level_ = value;
16779   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.max_level)
16780 }
16781
16782 // repeated string stage = 4;
16783 inline int NetStateRule::stage_size() const {
16784   return stage_.size();
16785 }
16786 inline void NetStateRule::clear_stage() {
16787   stage_.Clear();
16788 }
16789 inline const ::std::string& NetStateRule::stage(int index) const {
16790   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.stage)
16791   return stage_.Get(index);
16792 }
16793 inline ::std::string* NetStateRule::mutable_stage(int index) {
16794   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.stage)
16795   return stage_.Mutable(index);
16796 }
16797 inline void NetStateRule::set_stage(int index, const ::std::string& value) {
16798   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.stage)
16799   stage_.Mutable(index)->assign(value);
16800 }
16801 inline void NetStateRule::set_stage(int index, const char* value) {
16802   stage_.Mutable(index)->assign(value);
16803   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.stage)
16804 }
16805 inline void NetStateRule::set_stage(int index, const char* value, size_t size) {
16806   stage_.Mutable(index)->assign(
16807     reinterpret_cast<const char*>(value), size);
16808   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.stage)
16809 }
16810 inline ::std::string* NetStateRule::add_stage() {
16811   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.stage)
16812   return stage_.Add();
16813 }
16814 inline void NetStateRule::add_stage(const ::std::string& value) {
16815   stage_.Add()->assign(value);
16816   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.stage)
16817 }
16818 inline void NetStateRule::add_stage(const char* value) {
16819   stage_.Add()->assign(value);
16820   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.stage)
16821 }
16822 inline void NetStateRule::add_stage(const char* value, size_t size) {
16823   stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
16824   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.stage)
16825 }
16826 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
16827 NetStateRule::stage() const {
16828   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.stage)
16829   return stage_;
16830 }
16831 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
16832 NetStateRule::mutable_stage() {
16833   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.stage)
16834   return &stage_;
16835 }
16836
16837 // repeated string not_stage = 5;
16838 inline int NetStateRule::not_stage_size() const {
16839   return not_stage_.size();
16840 }
16841 inline void NetStateRule::clear_not_stage() {
16842   not_stage_.Clear();
16843 }
16844 inline const ::std::string& NetStateRule::not_stage(int index) const {
16845   // @@protoc_insertion_point(field_get:opencv_caffe.NetStateRule.not_stage)
16846   return not_stage_.Get(index);
16847 }
16848 inline ::std::string* NetStateRule::mutable_not_stage(int index) {
16849   // @@protoc_insertion_point(field_mutable:opencv_caffe.NetStateRule.not_stage)
16850   return not_stage_.Mutable(index);
16851 }
16852 inline void NetStateRule::set_not_stage(int index, const ::std::string& value) {
16853   // @@protoc_insertion_point(field_set:opencv_caffe.NetStateRule.not_stage)
16854   not_stage_.Mutable(index)->assign(value);
16855 }
16856 inline void NetStateRule::set_not_stage(int index, const char* value) {
16857   not_stage_.Mutable(index)->assign(value);
16858   // @@protoc_insertion_point(field_set_char:opencv_caffe.NetStateRule.not_stage)
16859 }
16860 inline void NetStateRule::set_not_stage(int index, const char* value, size_t size) {
16861   not_stage_.Mutable(index)->assign(
16862     reinterpret_cast<const char*>(value), size);
16863   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.NetStateRule.not_stage)
16864 }
16865 inline ::std::string* NetStateRule::add_not_stage() {
16866   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.NetStateRule.not_stage)
16867   return not_stage_.Add();
16868 }
16869 inline void NetStateRule::add_not_stage(const ::std::string& value) {
16870   not_stage_.Add()->assign(value);
16871   // @@protoc_insertion_point(field_add:opencv_caffe.NetStateRule.not_stage)
16872 }
16873 inline void NetStateRule::add_not_stage(const char* value) {
16874   not_stage_.Add()->assign(value);
16875   // @@protoc_insertion_point(field_add_char:opencv_caffe.NetStateRule.not_stage)
16876 }
16877 inline void NetStateRule::add_not_stage(const char* value, size_t size) {
16878   not_stage_.Add()->assign(reinterpret_cast<const char*>(value), size);
16879   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.NetStateRule.not_stage)
16880 }
16881 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
16882 NetStateRule::not_stage() const {
16883   // @@protoc_insertion_point(field_list:opencv_caffe.NetStateRule.not_stage)
16884   return not_stage_;
16885 }
16886 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
16887 NetStateRule::mutable_not_stage() {
16888   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.NetStateRule.not_stage)
16889   return &not_stage_;
16890 }
16891
16892 inline const NetStateRule* NetStateRule::internal_default_instance() {
16893   return &NetStateRule_default_instance_.get();
16894 }
16895 // -------------------------------------------------------------------
16896
16897 // ParamSpec
16898
16899 // optional string name = 1;
16900 inline bool ParamSpec::has_name() const {
16901   return (_has_bits_[0] & 0x00000001u) != 0;
16902 }
16903 inline void ParamSpec::set_has_name() {
16904   _has_bits_[0] |= 0x00000001u;
16905 }
16906 inline void ParamSpec::clear_has_name() {
16907   _has_bits_[0] &= ~0x00000001u;
16908 }
16909 inline void ParamSpec::clear_name() {
16910   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16911   clear_has_name();
16912 }
16913 inline const ::std::string& ParamSpec::name() const {
16914   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.name)
16915   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16916 }
16917 inline void ParamSpec::set_name(const ::std::string& value) {
16918   set_has_name();
16919   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
16920   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.name)
16921 }
16922 inline void ParamSpec::set_name(const char* value) {
16923   set_has_name();
16924   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
16925   // @@protoc_insertion_point(field_set_char:opencv_caffe.ParamSpec.name)
16926 }
16927 inline void ParamSpec::set_name(const char* value, size_t size) {
16928   set_has_name();
16929   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
16930       ::std::string(reinterpret_cast<const char*>(value), size));
16931   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ParamSpec.name)
16932 }
16933 inline ::std::string* ParamSpec::mutable_name() {
16934   set_has_name();
16935   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParamSpec.name)
16936   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16937 }
16938 inline ::std::string* ParamSpec::release_name() {
16939   // @@protoc_insertion_point(field_release:opencv_caffe.ParamSpec.name)
16940   clear_has_name();
16941   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
16942 }
16943 inline void ParamSpec::set_allocated_name(::std::string* name) {
16944   if (name != NULL) {
16945     set_has_name();
16946   } else {
16947     clear_has_name();
16948   }
16949   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
16950   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParamSpec.name)
16951 }
16952
16953 // optional .opencv_caffe.ParamSpec.DimCheckMode share_mode = 2;
16954 inline bool ParamSpec::has_share_mode() const {
16955   return (_has_bits_[0] & 0x00000002u) != 0;
16956 }
16957 inline void ParamSpec::set_has_share_mode() {
16958   _has_bits_[0] |= 0x00000002u;
16959 }
16960 inline void ParamSpec::clear_has_share_mode() {
16961   _has_bits_[0] &= ~0x00000002u;
16962 }
16963 inline void ParamSpec::clear_share_mode() {
16964   share_mode_ = 0;
16965   clear_has_share_mode();
16966 }
16967 inline ::opencv_caffe::ParamSpec_DimCheckMode ParamSpec::share_mode() const {
16968   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.share_mode)
16969   return static_cast< ::opencv_caffe::ParamSpec_DimCheckMode >(share_mode_);
16970 }
16971 inline void ParamSpec::set_share_mode(::opencv_caffe::ParamSpec_DimCheckMode value) {
16972   assert(::opencv_caffe::ParamSpec_DimCheckMode_IsValid(value));
16973   set_has_share_mode();
16974   share_mode_ = value;
16975   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.share_mode)
16976 }
16977
16978 // optional float lr_mult = 3 [default = 1];
16979 inline bool ParamSpec::has_lr_mult() const {
16980   return (_has_bits_[0] & 0x00000004u) != 0;
16981 }
16982 inline void ParamSpec::set_has_lr_mult() {
16983   _has_bits_[0] |= 0x00000004u;
16984 }
16985 inline void ParamSpec::clear_has_lr_mult() {
16986   _has_bits_[0] &= ~0x00000004u;
16987 }
16988 inline void ParamSpec::clear_lr_mult() {
16989   lr_mult_ = 1;
16990   clear_has_lr_mult();
16991 }
16992 inline float ParamSpec::lr_mult() const {
16993   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.lr_mult)
16994   return lr_mult_;
16995 }
16996 inline void ParamSpec::set_lr_mult(float value) {
16997   set_has_lr_mult();
16998   lr_mult_ = value;
16999   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.lr_mult)
17000 }
17001
17002 // optional float decay_mult = 4 [default = 1];
17003 inline bool ParamSpec::has_decay_mult() const {
17004   return (_has_bits_[0] & 0x00000008u) != 0;
17005 }
17006 inline void ParamSpec::set_has_decay_mult() {
17007   _has_bits_[0] |= 0x00000008u;
17008 }
17009 inline void ParamSpec::clear_has_decay_mult() {
17010   _has_bits_[0] &= ~0x00000008u;
17011 }
17012 inline void ParamSpec::clear_decay_mult() {
17013   decay_mult_ = 1;
17014   clear_has_decay_mult();
17015 }
17016 inline float ParamSpec::decay_mult() const {
17017   // @@protoc_insertion_point(field_get:opencv_caffe.ParamSpec.decay_mult)
17018   return decay_mult_;
17019 }
17020 inline void ParamSpec::set_decay_mult(float value) {
17021   set_has_decay_mult();
17022   decay_mult_ = value;
17023   // @@protoc_insertion_point(field_set:opencv_caffe.ParamSpec.decay_mult)
17024 }
17025
17026 inline const ParamSpec* ParamSpec::internal_default_instance() {
17027   return &ParamSpec_default_instance_.get();
17028 }
17029 // -------------------------------------------------------------------
17030
17031 // LayerParameter
17032
17033 // optional string name = 1;
17034 inline bool LayerParameter::has_name() const {
17035   return (_has_bits_[0] & 0x00000001u) != 0;
17036 }
17037 inline void LayerParameter::set_has_name() {
17038   _has_bits_[0] |= 0x00000001u;
17039 }
17040 inline void LayerParameter::clear_has_name() {
17041   _has_bits_[0] &= ~0x00000001u;
17042 }
17043 inline void LayerParameter::clear_name() {
17044   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17045   clear_has_name();
17046 }
17047 inline const ::std::string& LayerParameter::name() const {
17048   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.name)
17049   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17050 }
17051 inline void LayerParameter::set_name(const ::std::string& value) {
17052   set_has_name();
17053   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
17054   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.name)
17055 }
17056 inline void LayerParameter::set_name(const char* value) {
17057   set_has_name();
17058   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
17059   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.name)
17060 }
17061 inline void LayerParameter::set_name(const char* value, size_t size) {
17062   set_has_name();
17063   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
17064       ::std::string(reinterpret_cast<const char*>(value), size));
17065   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.name)
17066 }
17067 inline ::std::string* LayerParameter::mutable_name() {
17068   set_has_name();
17069   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.name)
17070   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17071 }
17072 inline ::std::string* LayerParameter::release_name() {
17073   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.name)
17074   clear_has_name();
17075   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17076 }
17077 inline void LayerParameter::set_allocated_name(::std::string* name) {
17078   if (name != NULL) {
17079     set_has_name();
17080   } else {
17081     clear_has_name();
17082   }
17083   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
17084   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.name)
17085 }
17086
17087 // optional string type = 2;
17088 inline bool LayerParameter::has_type() const {
17089   return (_has_bits_[0] & 0x00000002u) != 0;
17090 }
17091 inline void LayerParameter::set_has_type() {
17092   _has_bits_[0] |= 0x00000002u;
17093 }
17094 inline void LayerParameter::clear_has_type() {
17095   _has_bits_[0] &= ~0x00000002u;
17096 }
17097 inline void LayerParameter::clear_type() {
17098   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17099   clear_has_type();
17100 }
17101 inline const ::std::string& LayerParameter::type() const {
17102   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.type)
17103   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17104 }
17105 inline void LayerParameter::set_type(const ::std::string& value) {
17106   set_has_type();
17107   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
17108   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.type)
17109 }
17110 inline void LayerParameter::set_type(const char* value) {
17111   set_has_type();
17112   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
17113   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.type)
17114 }
17115 inline void LayerParameter::set_type(const char* value, size_t size) {
17116   set_has_type();
17117   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
17118       ::std::string(reinterpret_cast<const char*>(value), size));
17119   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.type)
17120 }
17121 inline ::std::string* LayerParameter::mutable_type() {
17122   set_has_type();
17123   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.type)
17124   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17125 }
17126 inline ::std::string* LayerParameter::release_type() {
17127   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.type)
17128   clear_has_type();
17129   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
17130 }
17131 inline void LayerParameter::set_allocated_type(::std::string* type) {
17132   if (type != NULL) {
17133     set_has_type();
17134   } else {
17135     clear_has_type();
17136   }
17137   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
17138   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.type)
17139 }
17140
17141 // repeated string bottom = 3;
17142 inline int LayerParameter::bottom_size() const {
17143   return bottom_.size();
17144 }
17145 inline void LayerParameter::clear_bottom() {
17146   bottom_.Clear();
17147 }
17148 inline const ::std::string& LayerParameter::bottom(int index) const {
17149   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bottom)
17150   return bottom_.Get(index);
17151 }
17152 inline ::std::string* LayerParameter::mutable_bottom(int index) {
17153   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bottom)
17154   return bottom_.Mutable(index);
17155 }
17156 inline void LayerParameter::set_bottom(int index, const ::std::string& value) {
17157   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.bottom)
17158   bottom_.Mutable(index)->assign(value);
17159 }
17160 inline void LayerParameter::set_bottom(int index, const char* value) {
17161   bottom_.Mutable(index)->assign(value);
17162   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.bottom)
17163 }
17164 inline void LayerParameter::set_bottom(int index, const char* value, size_t size) {
17165   bottom_.Mutable(index)->assign(
17166     reinterpret_cast<const char*>(value), size);
17167   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.bottom)
17168 }
17169 inline ::std::string* LayerParameter::add_bottom() {
17170   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.bottom)
17171   return bottom_.Add();
17172 }
17173 inline void LayerParameter::add_bottom(const ::std::string& value) {
17174   bottom_.Add()->assign(value);
17175   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.bottom)
17176 }
17177 inline void LayerParameter::add_bottom(const char* value) {
17178   bottom_.Add()->assign(value);
17179   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.bottom)
17180 }
17181 inline void LayerParameter::add_bottom(const char* value, size_t size) {
17182   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
17183   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.bottom)
17184 }
17185 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
17186 LayerParameter::bottom() const {
17187   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.bottom)
17188   return bottom_;
17189 }
17190 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
17191 LayerParameter::mutable_bottom() {
17192   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.bottom)
17193   return &bottom_;
17194 }
17195
17196 // repeated string top = 4;
17197 inline int LayerParameter::top_size() const {
17198   return top_.size();
17199 }
17200 inline void LayerParameter::clear_top() {
17201   top_.Clear();
17202 }
17203 inline const ::std::string& LayerParameter::top(int index) const {
17204   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.top)
17205   return top_.Get(index);
17206 }
17207 inline ::std::string* LayerParameter::mutable_top(int index) {
17208   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.top)
17209   return top_.Mutable(index);
17210 }
17211 inline void LayerParameter::set_top(int index, const ::std::string& value) {
17212   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.top)
17213   top_.Mutable(index)->assign(value);
17214 }
17215 inline void LayerParameter::set_top(int index, const char* value) {
17216   top_.Mutable(index)->assign(value);
17217   // @@protoc_insertion_point(field_set_char:opencv_caffe.LayerParameter.top)
17218 }
17219 inline void LayerParameter::set_top(int index, const char* value, size_t size) {
17220   top_.Mutable(index)->assign(
17221     reinterpret_cast<const char*>(value), size);
17222   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.LayerParameter.top)
17223 }
17224 inline ::std::string* LayerParameter::add_top() {
17225   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.LayerParameter.top)
17226   return top_.Add();
17227 }
17228 inline void LayerParameter::add_top(const ::std::string& value) {
17229   top_.Add()->assign(value);
17230   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.top)
17231 }
17232 inline void LayerParameter::add_top(const char* value) {
17233   top_.Add()->assign(value);
17234   // @@protoc_insertion_point(field_add_char:opencv_caffe.LayerParameter.top)
17235 }
17236 inline void LayerParameter::add_top(const char* value, size_t size) {
17237   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
17238   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.LayerParameter.top)
17239 }
17240 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
17241 LayerParameter::top() const {
17242   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.top)
17243   return top_;
17244 }
17245 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
17246 LayerParameter::mutable_top() {
17247   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.top)
17248   return &top_;
17249 }
17250
17251 // optional .opencv_caffe.Phase phase = 10;
17252 inline bool LayerParameter::has_phase() const {
17253   return (_has_bits_[0] & 0x00000010u) != 0;
17254 }
17255 inline void LayerParameter::set_has_phase() {
17256   _has_bits_[0] |= 0x00000010u;
17257 }
17258 inline void LayerParameter::clear_has_phase() {
17259   _has_bits_[0] &= ~0x00000010u;
17260 }
17261 inline void LayerParameter::clear_phase() {
17262   phase_ = 0;
17263   clear_has_phase();
17264 }
17265 inline ::opencv_caffe::Phase LayerParameter::phase() const {
17266   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.phase)
17267   return static_cast< ::opencv_caffe::Phase >(phase_);
17268 }
17269 inline void LayerParameter::set_phase(::opencv_caffe::Phase value) {
17270   assert(::opencv_caffe::Phase_IsValid(value));
17271   set_has_phase();
17272   phase_ = value;
17273   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.phase)
17274 }
17275
17276 // repeated float loss_weight = 5;
17277 inline int LayerParameter::loss_weight_size() const {
17278   return loss_weight_.size();
17279 }
17280 inline void LayerParameter::clear_loss_weight() {
17281   loss_weight_.Clear();
17282 }
17283 inline float LayerParameter::loss_weight(int index) const {
17284   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_weight)
17285   return loss_weight_.Get(index);
17286 }
17287 inline void LayerParameter::set_loss_weight(int index, float value) {
17288   loss_weight_.Set(index, value);
17289   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.loss_weight)
17290 }
17291 inline void LayerParameter::add_loss_weight(float value) {
17292   loss_weight_.Add(value);
17293   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.loss_weight)
17294 }
17295 inline const ::google::protobuf::RepeatedField< float >&
17296 LayerParameter::loss_weight() const {
17297   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.loss_weight)
17298   return loss_weight_;
17299 }
17300 inline ::google::protobuf::RepeatedField< float >*
17301 LayerParameter::mutable_loss_weight() {
17302   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.loss_weight)
17303   return &loss_weight_;
17304 }
17305
17306 // repeated .opencv_caffe.ParamSpec param = 6;
17307 inline int LayerParameter::param_size() const {
17308   return param_.size();
17309 }
17310 inline void LayerParameter::clear_param() {
17311   param_.Clear();
17312 }
17313 inline const ::opencv_caffe::ParamSpec& LayerParameter::param(int index) const {
17314   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.param)
17315   return param_.Get(index);
17316 }
17317 inline ::opencv_caffe::ParamSpec* LayerParameter::mutable_param(int index) {
17318   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.param)
17319   return param_.Mutable(index);
17320 }
17321 inline ::opencv_caffe::ParamSpec* LayerParameter::add_param() {
17322   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.param)
17323   return param_.Add();
17324 }
17325 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >*
17326 LayerParameter::mutable_param() {
17327   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.param)
17328   return &param_;
17329 }
17330 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::ParamSpec >&
17331 LayerParameter::param() const {
17332   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.param)
17333   return param_;
17334 }
17335
17336 // repeated .opencv_caffe.BlobProto blobs = 7;
17337 inline int LayerParameter::blobs_size() const {
17338   return blobs_.size();
17339 }
17340 inline void LayerParameter::clear_blobs() {
17341   blobs_.Clear();
17342 }
17343 inline const ::opencv_caffe::BlobProto& LayerParameter::blobs(int index) const {
17344   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.blobs)
17345   return blobs_.Get(index);
17346 }
17347 inline ::opencv_caffe::BlobProto* LayerParameter::mutable_blobs(int index) {
17348   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.blobs)
17349   return blobs_.Mutable(index);
17350 }
17351 inline ::opencv_caffe::BlobProto* LayerParameter::add_blobs() {
17352   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.blobs)
17353   return blobs_.Add();
17354 }
17355 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
17356 LayerParameter::mutable_blobs() {
17357   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.blobs)
17358   return &blobs_;
17359 }
17360 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
17361 LayerParameter::blobs() const {
17362   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.blobs)
17363   return blobs_;
17364 }
17365
17366 // repeated bool propagate_down = 11;
17367 inline int LayerParameter::propagate_down_size() const {
17368   return propagate_down_.size();
17369 }
17370 inline void LayerParameter::clear_propagate_down() {
17371   propagate_down_.Clear();
17372 }
17373 inline bool LayerParameter::propagate_down(int index) const {
17374   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.propagate_down)
17375   return propagate_down_.Get(index);
17376 }
17377 inline void LayerParameter::set_propagate_down(int index, bool value) {
17378   propagate_down_.Set(index, value);
17379   // @@protoc_insertion_point(field_set:opencv_caffe.LayerParameter.propagate_down)
17380 }
17381 inline void LayerParameter::add_propagate_down(bool value) {
17382   propagate_down_.Add(value);
17383   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.propagate_down)
17384 }
17385 inline const ::google::protobuf::RepeatedField< bool >&
17386 LayerParameter::propagate_down() const {
17387   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.propagate_down)
17388   return propagate_down_;
17389 }
17390 inline ::google::protobuf::RepeatedField< bool >*
17391 LayerParameter::mutable_propagate_down() {
17392   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.propagate_down)
17393   return &propagate_down_;
17394 }
17395
17396 // repeated .opencv_caffe.NetStateRule include = 8;
17397 inline int LayerParameter::include_size() const {
17398   return include_.size();
17399 }
17400 inline void LayerParameter::clear_include() {
17401   include_.Clear();
17402 }
17403 inline const ::opencv_caffe::NetStateRule& LayerParameter::include(int index) const {
17404   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.include)
17405   return include_.Get(index);
17406 }
17407 inline ::opencv_caffe::NetStateRule* LayerParameter::mutable_include(int index) {
17408   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.include)
17409   return include_.Mutable(index);
17410 }
17411 inline ::opencv_caffe::NetStateRule* LayerParameter::add_include() {
17412   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.include)
17413   return include_.Add();
17414 }
17415 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
17416 LayerParameter::mutable_include() {
17417   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.include)
17418   return &include_;
17419 }
17420 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
17421 LayerParameter::include() const {
17422   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.include)
17423   return include_;
17424 }
17425
17426 // repeated .opencv_caffe.NetStateRule exclude = 9;
17427 inline int LayerParameter::exclude_size() const {
17428   return exclude_.size();
17429 }
17430 inline void LayerParameter::clear_exclude() {
17431   exclude_.Clear();
17432 }
17433 inline const ::opencv_caffe::NetStateRule& LayerParameter::exclude(int index) const {
17434   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exclude)
17435   return exclude_.Get(index);
17436 }
17437 inline ::opencv_caffe::NetStateRule* LayerParameter::mutable_exclude(int index) {
17438   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exclude)
17439   return exclude_.Mutable(index);
17440 }
17441 inline ::opencv_caffe::NetStateRule* LayerParameter::add_exclude() {
17442   // @@protoc_insertion_point(field_add:opencv_caffe.LayerParameter.exclude)
17443   return exclude_.Add();
17444 }
17445 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
17446 LayerParameter::mutable_exclude() {
17447   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.LayerParameter.exclude)
17448   return &exclude_;
17449 }
17450 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
17451 LayerParameter::exclude() const {
17452   // @@protoc_insertion_point(field_list:opencv_caffe.LayerParameter.exclude)
17453   return exclude_;
17454 }
17455
17456 // optional .opencv_caffe.TransformationParameter transform_param = 100;
17457 inline bool LayerParameter::has_transform_param() const {
17458   return (_has_bits_[0] & 0x00000800u) != 0;
17459 }
17460 inline void LayerParameter::set_has_transform_param() {
17461   _has_bits_[0] |= 0x00000800u;
17462 }
17463 inline void LayerParameter::clear_has_transform_param() {
17464   _has_bits_[0] &= ~0x00000800u;
17465 }
17466 inline void LayerParameter::clear_transform_param() {
17467   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
17468   clear_has_transform_param();
17469 }
17470 inline const ::opencv_caffe::TransformationParameter& LayerParameter::transform_param() const {
17471   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.transform_param)
17472   return transform_param_ != NULL ? *transform_param_
17473                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
17474 }
17475 inline ::opencv_caffe::TransformationParameter* LayerParameter::mutable_transform_param() {
17476   set_has_transform_param();
17477   if (transform_param_ == NULL) {
17478     transform_param_ = new ::opencv_caffe::TransformationParameter;
17479   }
17480   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.transform_param)
17481   return transform_param_;
17482 }
17483 inline ::opencv_caffe::TransformationParameter* LayerParameter::release_transform_param() {
17484   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.transform_param)
17485   clear_has_transform_param();
17486   ::opencv_caffe::TransformationParameter* temp = transform_param_;
17487   transform_param_ = NULL;
17488   return temp;
17489 }
17490 inline void LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
17491   delete transform_param_;
17492   transform_param_ = transform_param;
17493   if (transform_param) {
17494     set_has_transform_param();
17495   } else {
17496     clear_has_transform_param();
17497   }
17498   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.transform_param)
17499 }
17500
17501 // optional .opencv_caffe.LossParameter loss_param = 101;
17502 inline bool LayerParameter::has_loss_param() const {
17503   return (_has_bits_[0] & 0x00001000u) != 0;
17504 }
17505 inline void LayerParameter::set_has_loss_param() {
17506   _has_bits_[0] |= 0x00001000u;
17507 }
17508 inline void LayerParameter::clear_has_loss_param() {
17509   _has_bits_[0] &= ~0x00001000u;
17510 }
17511 inline void LayerParameter::clear_loss_param() {
17512   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
17513   clear_has_loss_param();
17514 }
17515 inline const ::opencv_caffe::LossParameter& LayerParameter::loss_param() const {
17516   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.loss_param)
17517   return loss_param_ != NULL ? *loss_param_
17518                          : *::opencv_caffe::LossParameter::internal_default_instance();
17519 }
17520 inline ::opencv_caffe::LossParameter* LayerParameter::mutable_loss_param() {
17521   set_has_loss_param();
17522   if (loss_param_ == NULL) {
17523     loss_param_ = new ::opencv_caffe::LossParameter;
17524   }
17525   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.loss_param)
17526   return loss_param_;
17527 }
17528 inline ::opencv_caffe::LossParameter* LayerParameter::release_loss_param() {
17529   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.loss_param)
17530   clear_has_loss_param();
17531   ::opencv_caffe::LossParameter* temp = loss_param_;
17532   loss_param_ = NULL;
17533   return temp;
17534 }
17535 inline void LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
17536   delete loss_param_;
17537   loss_param_ = loss_param;
17538   if (loss_param) {
17539     set_has_loss_param();
17540   } else {
17541     clear_has_loss_param();
17542   }
17543   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.loss_param)
17544 }
17545
17546 // optional .opencv_caffe.AccuracyParameter accuracy_param = 102;
17547 inline bool LayerParameter::has_accuracy_param() const {
17548   return (_has_bits_[0] & 0x00002000u) != 0;
17549 }
17550 inline void LayerParameter::set_has_accuracy_param() {
17551   _has_bits_[0] |= 0x00002000u;
17552 }
17553 inline void LayerParameter::clear_has_accuracy_param() {
17554   _has_bits_[0] &= ~0x00002000u;
17555 }
17556 inline void LayerParameter::clear_accuracy_param() {
17557   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
17558   clear_has_accuracy_param();
17559 }
17560 inline const ::opencv_caffe::AccuracyParameter& LayerParameter::accuracy_param() const {
17561   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.accuracy_param)
17562   return accuracy_param_ != NULL ? *accuracy_param_
17563                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
17564 }
17565 inline ::opencv_caffe::AccuracyParameter* LayerParameter::mutable_accuracy_param() {
17566   set_has_accuracy_param();
17567   if (accuracy_param_ == NULL) {
17568     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
17569   }
17570   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.accuracy_param)
17571   return accuracy_param_;
17572 }
17573 inline ::opencv_caffe::AccuracyParameter* LayerParameter::release_accuracy_param() {
17574   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.accuracy_param)
17575   clear_has_accuracy_param();
17576   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
17577   accuracy_param_ = NULL;
17578   return temp;
17579 }
17580 inline void LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
17581   delete accuracy_param_;
17582   accuracy_param_ = accuracy_param;
17583   if (accuracy_param) {
17584     set_has_accuracy_param();
17585   } else {
17586     clear_has_accuracy_param();
17587   }
17588   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.accuracy_param)
17589 }
17590
17591 // optional .opencv_caffe.ArgMaxParameter argmax_param = 103;
17592 inline bool LayerParameter::has_argmax_param() const {
17593   return (_has_bits_[0] & 0x00004000u) != 0;
17594 }
17595 inline void LayerParameter::set_has_argmax_param() {
17596   _has_bits_[0] |= 0x00004000u;
17597 }
17598 inline void LayerParameter::clear_has_argmax_param() {
17599   _has_bits_[0] &= ~0x00004000u;
17600 }
17601 inline void LayerParameter::clear_argmax_param() {
17602   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
17603   clear_has_argmax_param();
17604 }
17605 inline const ::opencv_caffe::ArgMaxParameter& LayerParameter::argmax_param() const {
17606   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.argmax_param)
17607   return argmax_param_ != NULL ? *argmax_param_
17608                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
17609 }
17610 inline ::opencv_caffe::ArgMaxParameter* LayerParameter::mutable_argmax_param() {
17611   set_has_argmax_param();
17612   if (argmax_param_ == NULL) {
17613     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
17614   }
17615   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.argmax_param)
17616   return argmax_param_;
17617 }
17618 inline ::opencv_caffe::ArgMaxParameter* LayerParameter::release_argmax_param() {
17619   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.argmax_param)
17620   clear_has_argmax_param();
17621   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
17622   argmax_param_ = NULL;
17623   return temp;
17624 }
17625 inline void LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
17626   delete argmax_param_;
17627   argmax_param_ = argmax_param;
17628   if (argmax_param) {
17629     set_has_argmax_param();
17630   } else {
17631     clear_has_argmax_param();
17632   }
17633   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.argmax_param)
17634 }
17635
17636 // optional .opencv_caffe.BatchNormParameter batch_norm_param = 139;
17637 inline bool LayerParameter::has_batch_norm_param() const {
17638   return (_has_bits_[0] & 0x00008000u) != 0;
17639 }
17640 inline void LayerParameter::set_has_batch_norm_param() {
17641   _has_bits_[0] |= 0x00008000u;
17642 }
17643 inline void LayerParameter::clear_has_batch_norm_param() {
17644   _has_bits_[0] &= ~0x00008000u;
17645 }
17646 inline void LayerParameter::clear_batch_norm_param() {
17647   if (batch_norm_param_ != NULL) batch_norm_param_->::opencv_caffe::BatchNormParameter::Clear();
17648   clear_has_batch_norm_param();
17649 }
17650 inline const ::opencv_caffe::BatchNormParameter& LayerParameter::batch_norm_param() const {
17651   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.batch_norm_param)
17652   return batch_norm_param_ != NULL ? *batch_norm_param_
17653                          : *::opencv_caffe::BatchNormParameter::internal_default_instance();
17654 }
17655 inline ::opencv_caffe::BatchNormParameter* LayerParameter::mutable_batch_norm_param() {
17656   set_has_batch_norm_param();
17657   if (batch_norm_param_ == NULL) {
17658     batch_norm_param_ = new ::opencv_caffe::BatchNormParameter;
17659   }
17660   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.batch_norm_param)
17661   return batch_norm_param_;
17662 }
17663 inline ::opencv_caffe::BatchNormParameter* LayerParameter::release_batch_norm_param() {
17664   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.batch_norm_param)
17665   clear_has_batch_norm_param();
17666   ::opencv_caffe::BatchNormParameter* temp = batch_norm_param_;
17667   batch_norm_param_ = NULL;
17668   return temp;
17669 }
17670 inline void LayerParameter::set_allocated_batch_norm_param(::opencv_caffe::BatchNormParameter* batch_norm_param) {
17671   delete batch_norm_param_;
17672   batch_norm_param_ = batch_norm_param;
17673   if (batch_norm_param) {
17674     set_has_batch_norm_param();
17675   } else {
17676     clear_has_batch_norm_param();
17677   }
17678   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.batch_norm_param)
17679 }
17680
17681 // optional .opencv_caffe.BiasParameter bias_param = 141;
17682 inline bool LayerParameter::has_bias_param() const {
17683   return (_has_bits_[0] & 0x00010000u) != 0;
17684 }
17685 inline void LayerParameter::set_has_bias_param() {
17686   _has_bits_[0] |= 0x00010000u;
17687 }
17688 inline void LayerParameter::clear_has_bias_param() {
17689   _has_bits_[0] &= ~0x00010000u;
17690 }
17691 inline void LayerParameter::clear_bias_param() {
17692   if (bias_param_ != NULL) bias_param_->::opencv_caffe::BiasParameter::Clear();
17693   clear_has_bias_param();
17694 }
17695 inline const ::opencv_caffe::BiasParameter& LayerParameter::bias_param() const {
17696   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.bias_param)
17697   return bias_param_ != NULL ? *bias_param_
17698                          : *::opencv_caffe::BiasParameter::internal_default_instance();
17699 }
17700 inline ::opencv_caffe::BiasParameter* LayerParameter::mutable_bias_param() {
17701   set_has_bias_param();
17702   if (bias_param_ == NULL) {
17703     bias_param_ = new ::opencv_caffe::BiasParameter;
17704   }
17705   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.bias_param)
17706   return bias_param_;
17707 }
17708 inline ::opencv_caffe::BiasParameter* LayerParameter::release_bias_param() {
17709   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.bias_param)
17710   clear_has_bias_param();
17711   ::opencv_caffe::BiasParameter* temp = bias_param_;
17712   bias_param_ = NULL;
17713   return temp;
17714 }
17715 inline void LayerParameter::set_allocated_bias_param(::opencv_caffe::BiasParameter* bias_param) {
17716   delete bias_param_;
17717   bias_param_ = bias_param;
17718   if (bias_param) {
17719     set_has_bias_param();
17720   } else {
17721     clear_has_bias_param();
17722   }
17723   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.bias_param)
17724 }
17725
17726 // optional .opencv_caffe.ConcatParameter concat_param = 104;
17727 inline bool LayerParameter::has_concat_param() const {
17728   return (_has_bits_[0] & 0x00020000u) != 0;
17729 }
17730 inline void LayerParameter::set_has_concat_param() {
17731   _has_bits_[0] |= 0x00020000u;
17732 }
17733 inline void LayerParameter::clear_has_concat_param() {
17734   _has_bits_[0] &= ~0x00020000u;
17735 }
17736 inline void LayerParameter::clear_concat_param() {
17737   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
17738   clear_has_concat_param();
17739 }
17740 inline const ::opencv_caffe::ConcatParameter& LayerParameter::concat_param() const {
17741   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.concat_param)
17742   return concat_param_ != NULL ? *concat_param_
17743                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
17744 }
17745 inline ::opencv_caffe::ConcatParameter* LayerParameter::mutable_concat_param() {
17746   set_has_concat_param();
17747   if (concat_param_ == NULL) {
17748     concat_param_ = new ::opencv_caffe::ConcatParameter;
17749   }
17750   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.concat_param)
17751   return concat_param_;
17752 }
17753 inline ::opencv_caffe::ConcatParameter* LayerParameter::release_concat_param() {
17754   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.concat_param)
17755   clear_has_concat_param();
17756   ::opencv_caffe::ConcatParameter* temp = concat_param_;
17757   concat_param_ = NULL;
17758   return temp;
17759 }
17760 inline void LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
17761   delete concat_param_;
17762   concat_param_ = concat_param;
17763   if (concat_param) {
17764     set_has_concat_param();
17765   } else {
17766     clear_has_concat_param();
17767   }
17768   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.concat_param)
17769 }
17770
17771 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 105;
17772 inline bool LayerParameter::has_contrastive_loss_param() const {
17773   return (_has_bits_[0] & 0x00040000u) != 0;
17774 }
17775 inline void LayerParameter::set_has_contrastive_loss_param() {
17776   _has_bits_[0] |= 0x00040000u;
17777 }
17778 inline void LayerParameter::clear_has_contrastive_loss_param() {
17779   _has_bits_[0] &= ~0x00040000u;
17780 }
17781 inline void LayerParameter::clear_contrastive_loss_param() {
17782   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
17783   clear_has_contrastive_loss_param();
17784 }
17785 inline const ::opencv_caffe::ContrastiveLossParameter& LayerParameter::contrastive_loss_param() const {
17786   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.contrastive_loss_param)
17787   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
17788                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
17789 }
17790 inline ::opencv_caffe::ContrastiveLossParameter* LayerParameter::mutable_contrastive_loss_param() {
17791   set_has_contrastive_loss_param();
17792   if (contrastive_loss_param_ == NULL) {
17793     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
17794   }
17795   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.contrastive_loss_param)
17796   return contrastive_loss_param_;
17797 }
17798 inline ::opencv_caffe::ContrastiveLossParameter* LayerParameter::release_contrastive_loss_param() {
17799   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.contrastive_loss_param)
17800   clear_has_contrastive_loss_param();
17801   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
17802   contrastive_loss_param_ = NULL;
17803   return temp;
17804 }
17805 inline void LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
17806   delete contrastive_loss_param_;
17807   contrastive_loss_param_ = contrastive_loss_param;
17808   if (contrastive_loss_param) {
17809     set_has_contrastive_loss_param();
17810   } else {
17811     clear_has_contrastive_loss_param();
17812   }
17813   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.contrastive_loss_param)
17814 }
17815
17816 // optional .opencv_caffe.ConvolutionParameter convolution_param = 106;
17817 inline bool LayerParameter::has_convolution_param() const {
17818   return (_has_bits_[0] & 0x00080000u) != 0;
17819 }
17820 inline void LayerParameter::set_has_convolution_param() {
17821   _has_bits_[0] |= 0x00080000u;
17822 }
17823 inline void LayerParameter::clear_has_convolution_param() {
17824   _has_bits_[0] &= ~0x00080000u;
17825 }
17826 inline void LayerParameter::clear_convolution_param() {
17827   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
17828   clear_has_convolution_param();
17829 }
17830 inline const ::opencv_caffe::ConvolutionParameter& LayerParameter::convolution_param() const {
17831   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.convolution_param)
17832   return convolution_param_ != NULL ? *convolution_param_
17833                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
17834 }
17835 inline ::opencv_caffe::ConvolutionParameter* LayerParameter::mutable_convolution_param() {
17836   set_has_convolution_param();
17837   if (convolution_param_ == NULL) {
17838     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
17839   }
17840   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.convolution_param)
17841   return convolution_param_;
17842 }
17843 inline ::opencv_caffe::ConvolutionParameter* LayerParameter::release_convolution_param() {
17844   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.convolution_param)
17845   clear_has_convolution_param();
17846   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
17847   convolution_param_ = NULL;
17848   return temp;
17849 }
17850 inline void LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
17851   delete convolution_param_;
17852   convolution_param_ = convolution_param;
17853   if (convolution_param) {
17854     set_has_convolution_param();
17855   } else {
17856     clear_has_convolution_param();
17857   }
17858   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.convolution_param)
17859 }
17860
17861 // optional .opencv_caffe.CropParameter crop_param = 144;
17862 inline bool LayerParameter::has_crop_param() const {
17863   return (_has_bits_[0] & 0x00100000u) != 0;
17864 }
17865 inline void LayerParameter::set_has_crop_param() {
17866   _has_bits_[0] |= 0x00100000u;
17867 }
17868 inline void LayerParameter::clear_has_crop_param() {
17869   _has_bits_[0] &= ~0x00100000u;
17870 }
17871 inline void LayerParameter::clear_crop_param() {
17872   if (crop_param_ != NULL) crop_param_->::opencv_caffe::CropParameter::Clear();
17873   clear_has_crop_param();
17874 }
17875 inline const ::opencv_caffe::CropParameter& LayerParameter::crop_param() const {
17876   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.crop_param)
17877   return crop_param_ != NULL ? *crop_param_
17878                          : *::opencv_caffe::CropParameter::internal_default_instance();
17879 }
17880 inline ::opencv_caffe::CropParameter* LayerParameter::mutable_crop_param() {
17881   set_has_crop_param();
17882   if (crop_param_ == NULL) {
17883     crop_param_ = new ::opencv_caffe::CropParameter;
17884   }
17885   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.crop_param)
17886   return crop_param_;
17887 }
17888 inline ::opencv_caffe::CropParameter* LayerParameter::release_crop_param() {
17889   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.crop_param)
17890   clear_has_crop_param();
17891   ::opencv_caffe::CropParameter* temp = crop_param_;
17892   crop_param_ = NULL;
17893   return temp;
17894 }
17895 inline void LayerParameter::set_allocated_crop_param(::opencv_caffe::CropParameter* crop_param) {
17896   delete crop_param_;
17897   crop_param_ = crop_param;
17898   if (crop_param) {
17899     set_has_crop_param();
17900   } else {
17901     clear_has_crop_param();
17902   }
17903   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.crop_param)
17904 }
17905
17906 // optional .opencv_caffe.DataParameter data_param = 107;
17907 inline bool LayerParameter::has_data_param() const {
17908   return (_has_bits_[0] & 0x00200000u) != 0;
17909 }
17910 inline void LayerParameter::set_has_data_param() {
17911   _has_bits_[0] |= 0x00200000u;
17912 }
17913 inline void LayerParameter::clear_has_data_param() {
17914   _has_bits_[0] &= ~0x00200000u;
17915 }
17916 inline void LayerParameter::clear_data_param() {
17917   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
17918   clear_has_data_param();
17919 }
17920 inline const ::opencv_caffe::DataParameter& LayerParameter::data_param() const {
17921   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.data_param)
17922   return data_param_ != NULL ? *data_param_
17923                          : *::opencv_caffe::DataParameter::internal_default_instance();
17924 }
17925 inline ::opencv_caffe::DataParameter* LayerParameter::mutable_data_param() {
17926   set_has_data_param();
17927   if (data_param_ == NULL) {
17928     data_param_ = new ::opencv_caffe::DataParameter;
17929   }
17930   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.data_param)
17931   return data_param_;
17932 }
17933 inline ::opencv_caffe::DataParameter* LayerParameter::release_data_param() {
17934   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.data_param)
17935   clear_has_data_param();
17936   ::opencv_caffe::DataParameter* temp = data_param_;
17937   data_param_ = NULL;
17938   return temp;
17939 }
17940 inline void LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
17941   delete data_param_;
17942   data_param_ = data_param;
17943   if (data_param) {
17944     set_has_data_param();
17945   } else {
17946     clear_has_data_param();
17947   }
17948   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.data_param)
17949 }
17950
17951 // optional .opencv_caffe.DetectionOutputParameter detection_output_param = 147;
17952 inline bool LayerParameter::has_detection_output_param() const {
17953   return (_has_bits_[0] & 0x00400000u) != 0;
17954 }
17955 inline void LayerParameter::set_has_detection_output_param() {
17956   _has_bits_[0] |= 0x00400000u;
17957 }
17958 inline void LayerParameter::clear_has_detection_output_param() {
17959   _has_bits_[0] &= ~0x00400000u;
17960 }
17961 inline void LayerParameter::clear_detection_output_param() {
17962   if (detection_output_param_ != NULL) detection_output_param_->::opencv_caffe::DetectionOutputParameter::Clear();
17963   clear_has_detection_output_param();
17964 }
17965 inline const ::opencv_caffe::DetectionOutputParameter& LayerParameter::detection_output_param() const {
17966   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.detection_output_param)
17967   return detection_output_param_ != NULL ? *detection_output_param_
17968                          : *::opencv_caffe::DetectionOutputParameter::internal_default_instance();
17969 }
17970 inline ::opencv_caffe::DetectionOutputParameter* LayerParameter::mutable_detection_output_param() {
17971   set_has_detection_output_param();
17972   if (detection_output_param_ == NULL) {
17973     detection_output_param_ = new ::opencv_caffe::DetectionOutputParameter;
17974   }
17975   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.detection_output_param)
17976   return detection_output_param_;
17977 }
17978 inline ::opencv_caffe::DetectionOutputParameter* LayerParameter::release_detection_output_param() {
17979   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.detection_output_param)
17980   clear_has_detection_output_param();
17981   ::opencv_caffe::DetectionOutputParameter* temp = detection_output_param_;
17982   detection_output_param_ = NULL;
17983   return temp;
17984 }
17985 inline void LayerParameter::set_allocated_detection_output_param(::opencv_caffe::DetectionOutputParameter* detection_output_param) {
17986   delete detection_output_param_;
17987   detection_output_param_ = detection_output_param;
17988   if (detection_output_param) {
17989     set_has_detection_output_param();
17990   } else {
17991     clear_has_detection_output_param();
17992   }
17993   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.detection_output_param)
17994 }
17995
17996 // optional .opencv_caffe.DropoutParameter dropout_param = 108;
17997 inline bool LayerParameter::has_dropout_param() const {
17998   return (_has_bits_[0] & 0x00800000u) != 0;
17999 }
18000 inline void LayerParameter::set_has_dropout_param() {
18001   _has_bits_[0] |= 0x00800000u;
18002 }
18003 inline void LayerParameter::clear_has_dropout_param() {
18004   _has_bits_[0] &= ~0x00800000u;
18005 }
18006 inline void LayerParameter::clear_dropout_param() {
18007   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
18008   clear_has_dropout_param();
18009 }
18010 inline const ::opencv_caffe::DropoutParameter& LayerParameter::dropout_param() const {
18011   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dropout_param)
18012   return dropout_param_ != NULL ? *dropout_param_
18013                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
18014 }
18015 inline ::opencv_caffe::DropoutParameter* LayerParameter::mutable_dropout_param() {
18016   set_has_dropout_param();
18017   if (dropout_param_ == NULL) {
18018     dropout_param_ = new ::opencv_caffe::DropoutParameter;
18019   }
18020   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dropout_param)
18021   return dropout_param_;
18022 }
18023 inline ::opencv_caffe::DropoutParameter* LayerParameter::release_dropout_param() {
18024   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dropout_param)
18025   clear_has_dropout_param();
18026   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
18027   dropout_param_ = NULL;
18028   return temp;
18029 }
18030 inline void LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
18031   delete dropout_param_;
18032   dropout_param_ = dropout_param;
18033   if (dropout_param) {
18034     set_has_dropout_param();
18035   } else {
18036     clear_has_dropout_param();
18037   }
18038   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dropout_param)
18039 }
18040
18041 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 109;
18042 inline bool LayerParameter::has_dummy_data_param() const {
18043   return (_has_bits_[0] & 0x01000000u) != 0;
18044 }
18045 inline void LayerParameter::set_has_dummy_data_param() {
18046   _has_bits_[0] |= 0x01000000u;
18047 }
18048 inline void LayerParameter::clear_has_dummy_data_param() {
18049   _has_bits_[0] &= ~0x01000000u;
18050 }
18051 inline void LayerParameter::clear_dummy_data_param() {
18052   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
18053   clear_has_dummy_data_param();
18054 }
18055 inline const ::opencv_caffe::DummyDataParameter& LayerParameter::dummy_data_param() const {
18056   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.dummy_data_param)
18057   return dummy_data_param_ != NULL ? *dummy_data_param_
18058                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
18059 }
18060 inline ::opencv_caffe::DummyDataParameter* LayerParameter::mutable_dummy_data_param() {
18061   set_has_dummy_data_param();
18062   if (dummy_data_param_ == NULL) {
18063     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
18064   }
18065   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.dummy_data_param)
18066   return dummy_data_param_;
18067 }
18068 inline ::opencv_caffe::DummyDataParameter* LayerParameter::release_dummy_data_param() {
18069   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.dummy_data_param)
18070   clear_has_dummy_data_param();
18071   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
18072   dummy_data_param_ = NULL;
18073   return temp;
18074 }
18075 inline void LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
18076   delete dummy_data_param_;
18077   dummy_data_param_ = dummy_data_param;
18078   if (dummy_data_param) {
18079     set_has_dummy_data_param();
18080   } else {
18081     clear_has_dummy_data_param();
18082   }
18083   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.dummy_data_param)
18084 }
18085
18086 // optional .opencv_caffe.EltwiseParameter eltwise_param = 110;
18087 inline bool LayerParameter::has_eltwise_param() const {
18088   return (_has_bits_[0] & 0x02000000u) != 0;
18089 }
18090 inline void LayerParameter::set_has_eltwise_param() {
18091   _has_bits_[0] |= 0x02000000u;
18092 }
18093 inline void LayerParameter::clear_has_eltwise_param() {
18094   _has_bits_[0] &= ~0x02000000u;
18095 }
18096 inline void LayerParameter::clear_eltwise_param() {
18097   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
18098   clear_has_eltwise_param();
18099 }
18100 inline const ::opencv_caffe::EltwiseParameter& LayerParameter::eltwise_param() const {
18101   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.eltwise_param)
18102   return eltwise_param_ != NULL ? *eltwise_param_
18103                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
18104 }
18105 inline ::opencv_caffe::EltwiseParameter* LayerParameter::mutable_eltwise_param() {
18106   set_has_eltwise_param();
18107   if (eltwise_param_ == NULL) {
18108     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
18109   }
18110   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.eltwise_param)
18111   return eltwise_param_;
18112 }
18113 inline ::opencv_caffe::EltwiseParameter* LayerParameter::release_eltwise_param() {
18114   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.eltwise_param)
18115   clear_has_eltwise_param();
18116   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
18117   eltwise_param_ = NULL;
18118   return temp;
18119 }
18120 inline void LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
18121   delete eltwise_param_;
18122   eltwise_param_ = eltwise_param;
18123   if (eltwise_param) {
18124     set_has_eltwise_param();
18125   } else {
18126     clear_has_eltwise_param();
18127   }
18128   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.eltwise_param)
18129 }
18130
18131 // optional .opencv_caffe.ELUParameter elu_param = 140;
18132 inline bool LayerParameter::has_elu_param() const {
18133   return (_has_bits_[0] & 0x04000000u) != 0;
18134 }
18135 inline void LayerParameter::set_has_elu_param() {
18136   _has_bits_[0] |= 0x04000000u;
18137 }
18138 inline void LayerParameter::clear_has_elu_param() {
18139   _has_bits_[0] &= ~0x04000000u;
18140 }
18141 inline void LayerParameter::clear_elu_param() {
18142   if (elu_param_ != NULL) elu_param_->::opencv_caffe::ELUParameter::Clear();
18143   clear_has_elu_param();
18144 }
18145 inline const ::opencv_caffe::ELUParameter& LayerParameter::elu_param() const {
18146   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.elu_param)
18147   return elu_param_ != NULL ? *elu_param_
18148                          : *::opencv_caffe::ELUParameter::internal_default_instance();
18149 }
18150 inline ::opencv_caffe::ELUParameter* LayerParameter::mutable_elu_param() {
18151   set_has_elu_param();
18152   if (elu_param_ == NULL) {
18153     elu_param_ = new ::opencv_caffe::ELUParameter;
18154   }
18155   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.elu_param)
18156   return elu_param_;
18157 }
18158 inline ::opencv_caffe::ELUParameter* LayerParameter::release_elu_param() {
18159   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.elu_param)
18160   clear_has_elu_param();
18161   ::opencv_caffe::ELUParameter* temp = elu_param_;
18162   elu_param_ = NULL;
18163   return temp;
18164 }
18165 inline void LayerParameter::set_allocated_elu_param(::opencv_caffe::ELUParameter* elu_param) {
18166   delete elu_param_;
18167   elu_param_ = elu_param;
18168   if (elu_param) {
18169     set_has_elu_param();
18170   } else {
18171     clear_has_elu_param();
18172   }
18173   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.elu_param)
18174 }
18175
18176 // optional .opencv_caffe.EmbedParameter embed_param = 137;
18177 inline bool LayerParameter::has_embed_param() const {
18178   return (_has_bits_[0] & 0x08000000u) != 0;
18179 }
18180 inline void LayerParameter::set_has_embed_param() {
18181   _has_bits_[0] |= 0x08000000u;
18182 }
18183 inline void LayerParameter::clear_has_embed_param() {
18184   _has_bits_[0] &= ~0x08000000u;
18185 }
18186 inline void LayerParameter::clear_embed_param() {
18187   if (embed_param_ != NULL) embed_param_->::opencv_caffe::EmbedParameter::Clear();
18188   clear_has_embed_param();
18189 }
18190 inline const ::opencv_caffe::EmbedParameter& LayerParameter::embed_param() const {
18191   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.embed_param)
18192   return embed_param_ != NULL ? *embed_param_
18193                          : *::opencv_caffe::EmbedParameter::internal_default_instance();
18194 }
18195 inline ::opencv_caffe::EmbedParameter* LayerParameter::mutable_embed_param() {
18196   set_has_embed_param();
18197   if (embed_param_ == NULL) {
18198     embed_param_ = new ::opencv_caffe::EmbedParameter;
18199   }
18200   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.embed_param)
18201   return embed_param_;
18202 }
18203 inline ::opencv_caffe::EmbedParameter* LayerParameter::release_embed_param() {
18204   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.embed_param)
18205   clear_has_embed_param();
18206   ::opencv_caffe::EmbedParameter* temp = embed_param_;
18207   embed_param_ = NULL;
18208   return temp;
18209 }
18210 inline void LayerParameter::set_allocated_embed_param(::opencv_caffe::EmbedParameter* embed_param) {
18211   delete embed_param_;
18212   embed_param_ = embed_param;
18213   if (embed_param) {
18214     set_has_embed_param();
18215   } else {
18216     clear_has_embed_param();
18217   }
18218   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.embed_param)
18219 }
18220
18221 // optional .opencv_caffe.ExpParameter exp_param = 111;
18222 inline bool LayerParameter::has_exp_param() const {
18223   return (_has_bits_[0] & 0x10000000u) != 0;
18224 }
18225 inline void LayerParameter::set_has_exp_param() {
18226   _has_bits_[0] |= 0x10000000u;
18227 }
18228 inline void LayerParameter::clear_has_exp_param() {
18229   _has_bits_[0] &= ~0x10000000u;
18230 }
18231 inline void LayerParameter::clear_exp_param() {
18232   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
18233   clear_has_exp_param();
18234 }
18235 inline const ::opencv_caffe::ExpParameter& LayerParameter::exp_param() const {
18236   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.exp_param)
18237   return exp_param_ != NULL ? *exp_param_
18238                          : *::opencv_caffe::ExpParameter::internal_default_instance();
18239 }
18240 inline ::opencv_caffe::ExpParameter* LayerParameter::mutable_exp_param() {
18241   set_has_exp_param();
18242   if (exp_param_ == NULL) {
18243     exp_param_ = new ::opencv_caffe::ExpParameter;
18244   }
18245   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.exp_param)
18246   return exp_param_;
18247 }
18248 inline ::opencv_caffe::ExpParameter* LayerParameter::release_exp_param() {
18249   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.exp_param)
18250   clear_has_exp_param();
18251   ::opencv_caffe::ExpParameter* temp = exp_param_;
18252   exp_param_ = NULL;
18253   return temp;
18254 }
18255 inline void LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
18256   delete exp_param_;
18257   exp_param_ = exp_param;
18258   if (exp_param) {
18259     set_has_exp_param();
18260   } else {
18261     clear_has_exp_param();
18262   }
18263   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.exp_param)
18264 }
18265
18266 // optional .opencv_caffe.FlattenParameter flatten_param = 135;
18267 inline bool LayerParameter::has_flatten_param() const {
18268   return (_has_bits_[0] & 0x20000000u) != 0;
18269 }
18270 inline void LayerParameter::set_has_flatten_param() {
18271   _has_bits_[0] |= 0x20000000u;
18272 }
18273 inline void LayerParameter::clear_has_flatten_param() {
18274   _has_bits_[0] &= ~0x20000000u;
18275 }
18276 inline void LayerParameter::clear_flatten_param() {
18277   if (flatten_param_ != NULL) flatten_param_->::opencv_caffe::FlattenParameter::Clear();
18278   clear_has_flatten_param();
18279 }
18280 inline const ::opencv_caffe::FlattenParameter& LayerParameter::flatten_param() const {
18281   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.flatten_param)
18282   return flatten_param_ != NULL ? *flatten_param_
18283                          : *::opencv_caffe::FlattenParameter::internal_default_instance();
18284 }
18285 inline ::opencv_caffe::FlattenParameter* LayerParameter::mutable_flatten_param() {
18286   set_has_flatten_param();
18287   if (flatten_param_ == NULL) {
18288     flatten_param_ = new ::opencv_caffe::FlattenParameter;
18289   }
18290   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.flatten_param)
18291   return flatten_param_;
18292 }
18293 inline ::opencv_caffe::FlattenParameter* LayerParameter::release_flatten_param() {
18294   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.flatten_param)
18295   clear_has_flatten_param();
18296   ::opencv_caffe::FlattenParameter* temp = flatten_param_;
18297   flatten_param_ = NULL;
18298   return temp;
18299 }
18300 inline void LayerParameter::set_allocated_flatten_param(::opencv_caffe::FlattenParameter* flatten_param) {
18301   delete flatten_param_;
18302   flatten_param_ = flatten_param;
18303   if (flatten_param) {
18304     set_has_flatten_param();
18305   } else {
18306     clear_has_flatten_param();
18307   }
18308   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.flatten_param)
18309 }
18310
18311 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 112;
18312 inline bool LayerParameter::has_hdf5_data_param() const {
18313   return (_has_bits_[0] & 0x40000000u) != 0;
18314 }
18315 inline void LayerParameter::set_has_hdf5_data_param() {
18316   _has_bits_[0] |= 0x40000000u;
18317 }
18318 inline void LayerParameter::clear_has_hdf5_data_param() {
18319   _has_bits_[0] &= ~0x40000000u;
18320 }
18321 inline void LayerParameter::clear_hdf5_data_param() {
18322   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
18323   clear_has_hdf5_data_param();
18324 }
18325 inline const ::opencv_caffe::HDF5DataParameter& LayerParameter::hdf5_data_param() const {
18326   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_data_param)
18327   return hdf5_data_param_ != NULL ? *hdf5_data_param_
18328                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
18329 }
18330 inline ::opencv_caffe::HDF5DataParameter* LayerParameter::mutable_hdf5_data_param() {
18331   set_has_hdf5_data_param();
18332   if (hdf5_data_param_ == NULL) {
18333     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
18334   }
18335   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_data_param)
18336   return hdf5_data_param_;
18337 }
18338 inline ::opencv_caffe::HDF5DataParameter* LayerParameter::release_hdf5_data_param() {
18339   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_data_param)
18340   clear_has_hdf5_data_param();
18341   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
18342   hdf5_data_param_ = NULL;
18343   return temp;
18344 }
18345 inline void LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
18346   delete hdf5_data_param_;
18347   hdf5_data_param_ = hdf5_data_param;
18348   if (hdf5_data_param) {
18349     set_has_hdf5_data_param();
18350   } else {
18351     clear_has_hdf5_data_param();
18352   }
18353   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_data_param)
18354 }
18355
18356 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 113;
18357 inline bool LayerParameter::has_hdf5_output_param() const {
18358   return (_has_bits_[0] & 0x80000000u) != 0;
18359 }
18360 inline void LayerParameter::set_has_hdf5_output_param() {
18361   _has_bits_[0] |= 0x80000000u;
18362 }
18363 inline void LayerParameter::clear_has_hdf5_output_param() {
18364   _has_bits_[0] &= ~0x80000000u;
18365 }
18366 inline void LayerParameter::clear_hdf5_output_param() {
18367   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
18368   clear_has_hdf5_output_param();
18369 }
18370 inline const ::opencv_caffe::HDF5OutputParameter& LayerParameter::hdf5_output_param() const {
18371   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hdf5_output_param)
18372   return hdf5_output_param_ != NULL ? *hdf5_output_param_
18373                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
18374 }
18375 inline ::opencv_caffe::HDF5OutputParameter* LayerParameter::mutable_hdf5_output_param() {
18376   set_has_hdf5_output_param();
18377   if (hdf5_output_param_ == NULL) {
18378     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
18379   }
18380   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hdf5_output_param)
18381   return hdf5_output_param_;
18382 }
18383 inline ::opencv_caffe::HDF5OutputParameter* LayerParameter::release_hdf5_output_param() {
18384   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hdf5_output_param)
18385   clear_has_hdf5_output_param();
18386   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
18387   hdf5_output_param_ = NULL;
18388   return temp;
18389 }
18390 inline void LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
18391   delete hdf5_output_param_;
18392   hdf5_output_param_ = hdf5_output_param;
18393   if (hdf5_output_param) {
18394     set_has_hdf5_output_param();
18395   } else {
18396     clear_has_hdf5_output_param();
18397   }
18398   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hdf5_output_param)
18399 }
18400
18401 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 114;
18402 inline bool LayerParameter::has_hinge_loss_param() const {
18403   return (_has_bits_[1] & 0x00000001u) != 0;
18404 }
18405 inline void LayerParameter::set_has_hinge_loss_param() {
18406   _has_bits_[1] |= 0x00000001u;
18407 }
18408 inline void LayerParameter::clear_has_hinge_loss_param() {
18409   _has_bits_[1] &= ~0x00000001u;
18410 }
18411 inline void LayerParameter::clear_hinge_loss_param() {
18412   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
18413   clear_has_hinge_loss_param();
18414 }
18415 inline const ::opencv_caffe::HingeLossParameter& LayerParameter::hinge_loss_param() const {
18416   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.hinge_loss_param)
18417   return hinge_loss_param_ != NULL ? *hinge_loss_param_
18418                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
18419 }
18420 inline ::opencv_caffe::HingeLossParameter* LayerParameter::mutable_hinge_loss_param() {
18421   set_has_hinge_loss_param();
18422   if (hinge_loss_param_ == NULL) {
18423     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
18424   }
18425   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.hinge_loss_param)
18426   return hinge_loss_param_;
18427 }
18428 inline ::opencv_caffe::HingeLossParameter* LayerParameter::release_hinge_loss_param() {
18429   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.hinge_loss_param)
18430   clear_has_hinge_loss_param();
18431   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
18432   hinge_loss_param_ = NULL;
18433   return temp;
18434 }
18435 inline void LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
18436   delete hinge_loss_param_;
18437   hinge_loss_param_ = hinge_loss_param;
18438   if (hinge_loss_param) {
18439     set_has_hinge_loss_param();
18440   } else {
18441     clear_has_hinge_loss_param();
18442   }
18443   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.hinge_loss_param)
18444 }
18445
18446 // optional .opencv_caffe.ImageDataParameter image_data_param = 115;
18447 inline bool LayerParameter::has_image_data_param() const {
18448   return (_has_bits_[1] & 0x00000002u) != 0;
18449 }
18450 inline void LayerParameter::set_has_image_data_param() {
18451   _has_bits_[1] |= 0x00000002u;
18452 }
18453 inline void LayerParameter::clear_has_image_data_param() {
18454   _has_bits_[1] &= ~0x00000002u;
18455 }
18456 inline void LayerParameter::clear_image_data_param() {
18457   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
18458   clear_has_image_data_param();
18459 }
18460 inline const ::opencv_caffe::ImageDataParameter& LayerParameter::image_data_param() const {
18461   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.image_data_param)
18462   return image_data_param_ != NULL ? *image_data_param_
18463                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
18464 }
18465 inline ::opencv_caffe::ImageDataParameter* LayerParameter::mutable_image_data_param() {
18466   set_has_image_data_param();
18467   if (image_data_param_ == NULL) {
18468     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
18469   }
18470   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.image_data_param)
18471   return image_data_param_;
18472 }
18473 inline ::opencv_caffe::ImageDataParameter* LayerParameter::release_image_data_param() {
18474   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.image_data_param)
18475   clear_has_image_data_param();
18476   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
18477   image_data_param_ = NULL;
18478   return temp;
18479 }
18480 inline void LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
18481   delete image_data_param_;
18482   image_data_param_ = image_data_param;
18483   if (image_data_param) {
18484     set_has_image_data_param();
18485   } else {
18486     clear_has_image_data_param();
18487   }
18488   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.image_data_param)
18489 }
18490
18491 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 116;
18492 inline bool LayerParameter::has_infogain_loss_param() const {
18493   return (_has_bits_[1] & 0x00000004u) != 0;
18494 }
18495 inline void LayerParameter::set_has_infogain_loss_param() {
18496   _has_bits_[1] |= 0x00000004u;
18497 }
18498 inline void LayerParameter::clear_has_infogain_loss_param() {
18499   _has_bits_[1] &= ~0x00000004u;
18500 }
18501 inline void LayerParameter::clear_infogain_loss_param() {
18502   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
18503   clear_has_infogain_loss_param();
18504 }
18505 inline const ::opencv_caffe::InfogainLossParameter& LayerParameter::infogain_loss_param() const {
18506   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.infogain_loss_param)
18507   return infogain_loss_param_ != NULL ? *infogain_loss_param_
18508                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
18509 }
18510 inline ::opencv_caffe::InfogainLossParameter* LayerParameter::mutable_infogain_loss_param() {
18511   set_has_infogain_loss_param();
18512   if (infogain_loss_param_ == NULL) {
18513     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
18514   }
18515   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.infogain_loss_param)
18516   return infogain_loss_param_;
18517 }
18518 inline ::opencv_caffe::InfogainLossParameter* LayerParameter::release_infogain_loss_param() {
18519   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.infogain_loss_param)
18520   clear_has_infogain_loss_param();
18521   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
18522   infogain_loss_param_ = NULL;
18523   return temp;
18524 }
18525 inline void LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
18526   delete infogain_loss_param_;
18527   infogain_loss_param_ = infogain_loss_param;
18528   if (infogain_loss_param) {
18529     set_has_infogain_loss_param();
18530   } else {
18531     clear_has_infogain_loss_param();
18532   }
18533   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.infogain_loss_param)
18534 }
18535
18536 // optional .opencv_caffe.InnerProductParameter inner_product_param = 117;
18537 inline bool LayerParameter::has_inner_product_param() const {
18538   return (_has_bits_[1] & 0x00000008u) != 0;
18539 }
18540 inline void LayerParameter::set_has_inner_product_param() {
18541   _has_bits_[1] |= 0x00000008u;
18542 }
18543 inline void LayerParameter::clear_has_inner_product_param() {
18544   _has_bits_[1] &= ~0x00000008u;
18545 }
18546 inline void LayerParameter::clear_inner_product_param() {
18547   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
18548   clear_has_inner_product_param();
18549 }
18550 inline const ::opencv_caffe::InnerProductParameter& LayerParameter::inner_product_param() const {
18551   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.inner_product_param)
18552   return inner_product_param_ != NULL ? *inner_product_param_
18553                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
18554 }
18555 inline ::opencv_caffe::InnerProductParameter* LayerParameter::mutable_inner_product_param() {
18556   set_has_inner_product_param();
18557   if (inner_product_param_ == NULL) {
18558     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
18559   }
18560   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.inner_product_param)
18561   return inner_product_param_;
18562 }
18563 inline ::opencv_caffe::InnerProductParameter* LayerParameter::release_inner_product_param() {
18564   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.inner_product_param)
18565   clear_has_inner_product_param();
18566   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
18567   inner_product_param_ = NULL;
18568   return temp;
18569 }
18570 inline void LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
18571   delete inner_product_param_;
18572   inner_product_param_ = inner_product_param;
18573   if (inner_product_param) {
18574     set_has_inner_product_param();
18575   } else {
18576     clear_has_inner_product_param();
18577   }
18578   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.inner_product_param)
18579 }
18580
18581 // optional .opencv_caffe.InputParameter input_param = 143;
18582 inline bool LayerParameter::has_input_param() const {
18583   return (_has_bits_[1] & 0x00000010u) != 0;
18584 }
18585 inline void LayerParameter::set_has_input_param() {
18586   _has_bits_[1] |= 0x00000010u;
18587 }
18588 inline void LayerParameter::clear_has_input_param() {
18589   _has_bits_[1] &= ~0x00000010u;
18590 }
18591 inline void LayerParameter::clear_input_param() {
18592   if (input_param_ != NULL) input_param_->::opencv_caffe::InputParameter::Clear();
18593   clear_has_input_param();
18594 }
18595 inline const ::opencv_caffe::InputParameter& LayerParameter::input_param() const {
18596   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.input_param)
18597   return input_param_ != NULL ? *input_param_
18598                          : *::opencv_caffe::InputParameter::internal_default_instance();
18599 }
18600 inline ::opencv_caffe::InputParameter* LayerParameter::mutable_input_param() {
18601   set_has_input_param();
18602   if (input_param_ == NULL) {
18603     input_param_ = new ::opencv_caffe::InputParameter;
18604   }
18605   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.input_param)
18606   return input_param_;
18607 }
18608 inline ::opencv_caffe::InputParameter* LayerParameter::release_input_param() {
18609   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.input_param)
18610   clear_has_input_param();
18611   ::opencv_caffe::InputParameter* temp = input_param_;
18612   input_param_ = NULL;
18613   return temp;
18614 }
18615 inline void LayerParameter::set_allocated_input_param(::opencv_caffe::InputParameter* input_param) {
18616   delete input_param_;
18617   input_param_ = input_param;
18618   if (input_param) {
18619     set_has_input_param();
18620   } else {
18621     clear_has_input_param();
18622   }
18623   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.input_param)
18624 }
18625
18626 // optional .opencv_caffe.LogParameter log_param = 134;
18627 inline bool LayerParameter::has_log_param() const {
18628   return (_has_bits_[1] & 0x00000020u) != 0;
18629 }
18630 inline void LayerParameter::set_has_log_param() {
18631   _has_bits_[1] |= 0x00000020u;
18632 }
18633 inline void LayerParameter::clear_has_log_param() {
18634   _has_bits_[1] &= ~0x00000020u;
18635 }
18636 inline void LayerParameter::clear_log_param() {
18637   if (log_param_ != NULL) log_param_->::opencv_caffe::LogParameter::Clear();
18638   clear_has_log_param();
18639 }
18640 inline const ::opencv_caffe::LogParameter& LayerParameter::log_param() const {
18641   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.log_param)
18642   return log_param_ != NULL ? *log_param_
18643                          : *::opencv_caffe::LogParameter::internal_default_instance();
18644 }
18645 inline ::opencv_caffe::LogParameter* LayerParameter::mutable_log_param() {
18646   set_has_log_param();
18647   if (log_param_ == NULL) {
18648     log_param_ = new ::opencv_caffe::LogParameter;
18649   }
18650   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.log_param)
18651   return log_param_;
18652 }
18653 inline ::opencv_caffe::LogParameter* LayerParameter::release_log_param() {
18654   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.log_param)
18655   clear_has_log_param();
18656   ::opencv_caffe::LogParameter* temp = log_param_;
18657   log_param_ = NULL;
18658   return temp;
18659 }
18660 inline void LayerParameter::set_allocated_log_param(::opencv_caffe::LogParameter* log_param) {
18661   delete log_param_;
18662   log_param_ = log_param;
18663   if (log_param) {
18664     set_has_log_param();
18665   } else {
18666     clear_has_log_param();
18667   }
18668   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.log_param)
18669 }
18670
18671 // optional .opencv_caffe.LRNParameter lrn_param = 118;
18672 inline bool LayerParameter::has_lrn_param() const {
18673   return (_has_bits_[1] & 0x00000040u) != 0;
18674 }
18675 inline void LayerParameter::set_has_lrn_param() {
18676   _has_bits_[1] |= 0x00000040u;
18677 }
18678 inline void LayerParameter::clear_has_lrn_param() {
18679   _has_bits_[1] &= ~0x00000040u;
18680 }
18681 inline void LayerParameter::clear_lrn_param() {
18682   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
18683   clear_has_lrn_param();
18684 }
18685 inline const ::opencv_caffe::LRNParameter& LayerParameter::lrn_param() const {
18686   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.lrn_param)
18687   return lrn_param_ != NULL ? *lrn_param_
18688                          : *::opencv_caffe::LRNParameter::internal_default_instance();
18689 }
18690 inline ::opencv_caffe::LRNParameter* LayerParameter::mutable_lrn_param() {
18691   set_has_lrn_param();
18692   if (lrn_param_ == NULL) {
18693     lrn_param_ = new ::opencv_caffe::LRNParameter;
18694   }
18695   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.lrn_param)
18696   return lrn_param_;
18697 }
18698 inline ::opencv_caffe::LRNParameter* LayerParameter::release_lrn_param() {
18699   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.lrn_param)
18700   clear_has_lrn_param();
18701   ::opencv_caffe::LRNParameter* temp = lrn_param_;
18702   lrn_param_ = NULL;
18703   return temp;
18704 }
18705 inline void LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
18706   delete lrn_param_;
18707   lrn_param_ = lrn_param;
18708   if (lrn_param) {
18709     set_has_lrn_param();
18710   } else {
18711     clear_has_lrn_param();
18712   }
18713   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.lrn_param)
18714 }
18715
18716 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 119;
18717 inline bool LayerParameter::has_memory_data_param() const {
18718   return (_has_bits_[1] & 0x00000080u) != 0;
18719 }
18720 inline void LayerParameter::set_has_memory_data_param() {
18721   _has_bits_[1] |= 0x00000080u;
18722 }
18723 inline void LayerParameter::clear_has_memory_data_param() {
18724   _has_bits_[1] &= ~0x00000080u;
18725 }
18726 inline void LayerParameter::clear_memory_data_param() {
18727   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
18728   clear_has_memory_data_param();
18729 }
18730 inline const ::opencv_caffe::MemoryDataParameter& LayerParameter::memory_data_param() const {
18731   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.memory_data_param)
18732   return memory_data_param_ != NULL ? *memory_data_param_
18733                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
18734 }
18735 inline ::opencv_caffe::MemoryDataParameter* LayerParameter::mutable_memory_data_param() {
18736   set_has_memory_data_param();
18737   if (memory_data_param_ == NULL) {
18738     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
18739   }
18740   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.memory_data_param)
18741   return memory_data_param_;
18742 }
18743 inline ::opencv_caffe::MemoryDataParameter* LayerParameter::release_memory_data_param() {
18744   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.memory_data_param)
18745   clear_has_memory_data_param();
18746   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
18747   memory_data_param_ = NULL;
18748   return temp;
18749 }
18750 inline void LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
18751   delete memory_data_param_;
18752   memory_data_param_ = memory_data_param;
18753   if (memory_data_param) {
18754     set_has_memory_data_param();
18755   } else {
18756     clear_has_memory_data_param();
18757   }
18758   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.memory_data_param)
18759 }
18760
18761 // optional .opencv_caffe.MVNParameter mvn_param = 120;
18762 inline bool LayerParameter::has_mvn_param() const {
18763   return (_has_bits_[1] & 0x00000100u) != 0;
18764 }
18765 inline void LayerParameter::set_has_mvn_param() {
18766   _has_bits_[1] |= 0x00000100u;
18767 }
18768 inline void LayerParameter::clear_has_mvn_param() {
18769   _has_bits_[1] &= ~0x00000100u;
18770 }
18771 inline void LayerParameter::clear_mvn_param() {
18772   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
18773   clear_has_mvn_param();
18774 }
18775 inline const ::opencv_caffe::MVNParameter& LayerParameter::mvn_param() const {
18776   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.mvn_param)
18777   return mvn_param_ != NULL ? *mvn_param_
18778                          : *::opencv_caffe::MVNParameter::internal_default_instance();
18779 }
18780 inline ::opencv_caffe::MVNParameter* LayerParameter::mutable_mvn_param() {
18781   set_has_mvn_param();
18782   if (mvn_param_ == NULL) {
18783     mvn_param_ = new ::opencv_caffe::MVNParameter;
18784   }
18785   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.mvn_param)
18786   return mvn_param_;
18787 }
18788 inline ::opencv_caffe::MVNParameter* LayerParameter::release_mvn_param() {
18789   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.mvn_param)
18790   clear_has_mvn_param();
18791   ::opencv_caffe::MVNParameter* temp = mvn_param_;
18792   mvn_param_ = NULL;
18793   return temp;
18794 }
18795 inline void LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
18796   delete mvn_param_;
18797   mvn_param_ = mvn_param;
18798   if (mvn_param) {
18799     set_has_mvn_param();
18800   } else {
18801     clear_has_mvn_param();
18802   }
18803   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.mvn_param)
18804 }
18805
18806 // optional .opencv_caffe.NormalizeBBoxParameter norm_param = 149;
18807 inline bool LayerParameter::has_norm_param() const {
18808   return (_has_bits_[1] & 0x00000200u) != 0;
18809 }
18810 inline void LayerParameter::set_has_norm_param() {
18811   _has_bits_[1] |= 0x00000200u;
18812 }
18813 inline void LayerParameter::clear_has_norm_param() {
18814   _has_bits_[1] &= ~0x00000200u;
18815 }
18816 inline void LayerParameter::clear_norm_param() {
18817   if (norm_param_ != NULL) norm_param_->::opencv_caffe::NormalizeBBoxParameter::Clear();
18818   clear_has_norm_param();
18819 }
18820 inline const ::opencv_caffe::NormalizeBBoxParameter& LayerParameter::norm_param() const {
18821   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.norm_param)
18822   return norm_param_ != NULL ? *norm_param_
18823                          : *::opencv_caffe::NormalizeBBoxParameter::internal_default_instance();
18824 }
18825 inline ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::mutable_norm_param() {
18826   set_has_norm_param();
18827   if (norm_param_ == NULL) {
18828     norm_param_ = new ::opencv_caffe::NormalizeBBoxParameter;
18829   }
18830   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.norm_param)
18831   return norm_param_;
18832 }
18833 inline ::opencv_caffe::NormalizeBBoxParameter* LayerParameter::release_norm_param() {
18834   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.norm_param)
18835   clear_has_norm_param();
18836   ::opencv_caffe::NormalizeBBoxParameter* temp = norm_param_;
18837   norm_param_ = NULL;
18838   return temp;
18839 }
18840 inline void LayerParameter::set_allocated_norm_param(::opencv_caffe::NormalizeBBoxParameter* norm_param) {
18841   delete norm_param_;
18842   norm_param_ = norm_param;
18843   if (norm_param) {
18844     set_has_norm_param();
18845   } else {
18846     clear_has_norm_param();
18847   }
18848   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.norm_param)
18849 }
18850
18851 // optional .opencv_caffe.PermuteParameter permute_param = 148;
18852 inline bool LayerParameter::has_permute_param() const {
18853   return (_has_bits_[1] & 0x00000400u) != 0;
18854 }
18855 inline void LayerParameter::set_has_permute_param() {
18856   _has_bits_[1] |= 0x00000400u;
18857 }
18858 inline void LayerParameter::clear_has_permute_param() {
18859   _has_bits_[1] &= ~0x00000400u;
18860 }
18861 inline void LayerParameter::clear_permute_param() {
18862   if (permute_param_ != NULL) permute_param_->::opencv_caffe::PermuteParameter::Clear();
18863   clear_has_permute_param();
18864 }
18865 inline const ::opencv_caffe::PermuteParameter& LayerParameter::permute_param() const {
18866   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.permute_param)
18867   return permute_param_ != NULL ? *permute_param_
18868                          : *::opencv_caffe::PermuteParameter::internal_default_instance();
18869 }
18870 inline ::opencv_caffe::PermuteParameter* LayerParameter::mutable_permute_param() {
18871   set_has_permute_param();
18872   if (permute_param_ == NULL) {
18873     permute_param_ = new ::opencv_caffe::PermuteParameter;
18874   }
18875   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.permute_param)
18876   return permute_param_;
18877 }
18878 inline ::opencv_caffe::PermuteParameter* LayerParameter::release_permute_param() {
18879   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.permute_param)
18880   clear_has_permute_param();
18881   ::opencv_caffe::PermuteParameter* temp = permute_param_;
18882   permute_param_ = NULL;
18883   return temp;
18884 }
18885 inline void LayerParameter::set_allocated_permute_param(::opencv_caffe::PermuteParameter* permute_param) {
18886   delete permute_param_;
18887   permute_param_ = permute_param;
18888   if (permute_param) {
18889     set_has_permute_param();
18890   } else {
18891     clear_has_permute_param();
18892   }
18893   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.permute_param)
18894 }
18895
18896 // optional .opencv_caffe.ParameterParameter parameter_param = 145;
18897 inline bool LayerParameter::has_parameter_param() const {
18898   return (_has_bits_[1] & 0x00000800u) != 0;
18899 }
18900 inline void LayerParameter::set_has_parameter_param() {
18901   _has_bits_[1] |= 0x00000800u;
18902 }
18903 inline void LayerParameter::clear_has_parameter_param() {
18904   _has_bits_[1] &= ~0x00000800u;
18905 }
18906 inline void LayerParameter::clear_parameter_param() {
18907   if (parameter_param_ != NULL) parameter_param_->::opencv_caffe::ParameterParameter::Clear();
18908   clear_has_parameter_param();
18909 }
18910 inline const ::opencv_caffe::ParameterParameter& LayerParameter::parameter_param() const {
18911   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.parameter_param)
18912   return parameter_param_ != NULL ? *parameter_param_
18913                          : *::opencv_caffe::ParameterParameter::internal_default_instance();
18914 }
18915 inline ::opencv_caffe::ParameterParameter* LayerParameter::mutable_parameter_param() {
18916   set_has_parameter_param();
18917   if (parameter_param_ == NULL) {
18918     parameter_param_ = new ::opencv_caffe::ParameterParameter;
18919   }
18920   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.parameter_param)
18921   return parameter_param_;
18922 }
18923 inline ::opencv_caffe::ParameterParameter* LayerParameter::release_parameter_param() {
18924   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.parameter_param)
18925   clear_has_parameter_param();
18926   ::opencv_caffe::ParameterParameter* temp = parameter_param_;
18927   parameter_param_ = NULL;
18928   return temp;
18929 }
18930 inline void LayerParameter::set_allocated_parameter_param(::opencv_caffe::ParameterParameter* parameter_param) {
18931   delete parameter_param_;
18932   parameter_param_ = parameter_param;
18933   if (parameter_param) {
18934     set_has_parameter_param();
18935   } else {
18936     clear_has_parameter_param();
18937   }
18938   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.parameter_param)
18939 }
18940
18941 // optional .opencv_caffe.PoolingParameter pooling_param = 121;
18942 inline bool LayerParameter::has_pooling_param() const {
18943   return (_has_bits_[1] & 0x00001000u) != 0;
18944 }
18945 inline void LayerParameter::set_has_pooling_param() {
18946   _has_bits_[1] |= 0x00001000u;
18947 }
18948 inline void LayerParameter::clear_has_pooling_param() {
18949   _has_bits_[1] &= ~0x00001000u;
18950 }
18951 inline void LayerParameter::clear_pooling_param() {
18952   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
18953   clear_has_pooling_param();
18954 }
18955 inline const ::opencv_caffe::PoolingParameter& LayerParameter::pooling_param() const {
18956   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.pooling_param)
18957   return pooling_param_ != NULL ? *pooling_param_
18958                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
18959 }
18960 inline ::opencv_caffe::PoolingParameter* LayerParameter::mutable_pooling_param() {
18961   set_has_pooling_param();
18962   if (pooling_param_ == NULL) {
18963     pooling_param_ = new ::opencv_caffe::PoolingParameter;
18964   }
18965   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.pooling_param)
18966   return pooling_param_;
18967 }
18968 inline ::opencv_caffe::PoolingParameter* LayerParameter::release_pooling_param() {
18969   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.pooling_param)
18970   clear_has_pooling_param();
18971   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
18972   pooling_param_ = NULL;
18973   return temp;
18974 }
18975 inline void LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
18976   delete pooling_param_;
18977   pooling_param_ = pooling_param;
18978   if (pooling_param) {
18979     set_has_pooling_param();
18980   } else {
18981     clear_has_pooling_param();
18982   }
18983   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.pooling_param)
18984 }
18985
18986 // optional .opencv_caffe.PowerParameter power_param = 122;
18987 inline bool LayerParameter::has_power_param() const {
18988   return (_has_bits_[1] & 0x00002000u) != 0;
18989 }
18990 inline void LayerParameter::set_has_power_param() {
18991   _has_bits_[1] |= 0x00002000u;
18992 }
18993 inline void LayerParameter::clear_has_power_param() {
18994   _has_bits_[1] &= ~0x00002000u;
18995 }
18996 inline void LayerParameter::clear_power_param() {
18997   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
18998   clear_has_power_param();
18999 }
19000 inline const ::opencv_caffe::PowerParameter& LayerParameter::power_param() const {
19001   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.power_param)
19002   return power_param_ != NULL ? *power_param_
19003                          : *::opencv_caffe::PowerParameter::internal_default_instance();
19004 }
19005 inline ::opencv_caffe::PowerParameter* LayerParameter::mutable_power_param() {
19006   set_has_power_param();
19007   if (power_param_ == NULL) {
19008     power_param_ = new ::opencv_caffe::PowerParameter;
19009   }
19010   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.power_param)
19011   return power_param_;
19012 }
19013 inline ::opencv_caffe::PowerParameter* LayerParameter::release_power_param() {
19014   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.power_param)
19015   clear_has_power_param();
19016   ::opencv_caffe::PowerParameter* temp = power_param_;
19017   power_param_ = NULL;
19018   return temp;
19019 }
19020 inline void LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
19021   delete power_param_;
19022   power_param_ = power_param;
19023   if (power_param) {
19024     set_has_power_param();
19025   } else {
19026     clear_has_power_param();
19027   }
19028   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.power_param)
19029 }
19030
19031 // optional .opencv_caffe.PReLUParameter prelu_param = 131;
19032 inline bool LayerParameter::has_prelu_param() const {
19033   return (_has_bits_[1] & 0x00004000u) != 0;
19034 }
19035 inline void LayerParameter::set_has_prelu_param() {
19036   _has_bits_[1] |= 0x00004000u;
19037 }
19038 inline void LayerParameter::clear_has_prelu_param() {
19039   _has_bits_[1] &= ~0x00004000u;
19040 }
19041 inline void LayerParameter::clear_prelu_param() {
19042   if (prelu_param_ != NULL) prelu_param_->::opencv_caffe::PReLUParameter::Clear();
19043   clear_has_prelu_param();
19044 }
19045 inline const ::opencv_caffe::PReLUParameter& LayerParameter::prelu_param() const {
19046   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prelu_param)
19047   return prelu_param_ != NULL ? *prelu_param_
19048                          : *::opencv_caffe::PReLUParameter::internal_default_instance();
19049 }
19050 inline ::opencv_caffe::PReLUParameter* LayerParameter::mutable_prelu_param() {
19051   set_has_prelu_param();
19052   if (prelu_param_ == NULL) {
19053     prelu_param_ = new ::opencv_caffe::PReLUParameter;
19054   }
19055   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prelu_param)
19056   return prelu_param_;
19057 }
19058 inline ::opencv_caffe::PReLUParameter* LayerParameter::release_prelu_param() {
19059   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prelu_param)
19060   clear_has_prelu_param();
19061   ::opencv_caffe::PReLUParameter* temp = prelu_param_;
19062   prelu_param_ = NULL;
19063   return temp;
19064 }
19065 inline void LayerParameter::set_allocated_prelu_param(::opencv_caffe::PReLUParameter* prelu_param) {
19066   delete prelu_param_;
19067   prelu_param_ = prelu_param;
19068   if (prelu_param) {
19069     set_has_prelu_param();
19070   } else {
19071     clear_has_prelu_param();
19072   }
19073   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prelu_param)
19074 }
19075
19076 // optional .opencv_caffe.PriorBoxParameter prior_box_param = 150;
19077 inline bool LayerParameter::has_prior_box_param() const {
19078   return (_has_bits_[1] & 0x00008000u) != 0;
19079 }
19080 inline void LayerParameter::set_has_prior_box_param() {
19081   _has_bits_[1] |= 0x00008000u;
19082 }
19083 inline void LayerParameter::clear_has_prior_box_param() {
19084   _has_bits_[1] &= ~0x00008000u;
19085 }
19086 inline void LayerParameter::clear_prior_box_param() {
19087   if (prior_box_param_ != NULL) prior_box_param_->::opencv_caffe::PriorBoxParameter::Clear();
19088   clear_has_prior_box_param();
19089 }
19090 inline const ::opencv_caffe::PriorBoxParameter& LayerParameter::prior_box_param() const {
19091   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.prior_box_param)
19092   return prior_box_param_ != NULL ? *prior_box_param_
19093                          : *::opencv_caffe::PriorBoxParameter::internal_default_instance();
19094 }
19095 inline ::opencv_caffe::PriorBoxParameter* LayerParameter::mutable_prior_box_param() {
19096   set_has_prior_box_param();
19097   if (prior_box_param_ == NULL) {
19098     prior_box_param_ = new ::opencv_caffe::PriorBoxParameter;
19099   }
19100   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.prior_box_param)
19101   return prior_box_param_;
19102 }
19103 inline ::opencv_caffe::PriorBoxParameter* LayerParameter::release_prior_box_param() {
19104   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.prior_box_param)
19105   clear_has_prior_box_param();
19106   ::opencv_caffe::PriorBoxParameter* temp = prior_box_param_;
19107   prior_box_param_ = NULL;
19108   return temp;
19109 }
19110 inline void LayerParameter::set_allocated_prior_box_param(::opencv_caffe::PriorBoxParameter* prior_box_param) {
19111   delete prior_box_param_;
19112   prior_box_param_ = prior_box_param;
19113   if (prior_box_param) {
19114     set_has_prior_box_param();
19115   } else {
19116     clear_has_prior_box_param();
19117   }
19118   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.prior_box_param)
19119 }
19120
19121 // optional .opencv_caffe.ProposalParameter proposal_param = 201;
19122 inline bool LayerParameter::has_proposal_param() const {
19123   return (_has_bits_[1] & 0x00010000u) != 0;
19124 }
19125 inline void LayerParameter::set_has_proposal_param() {
19126   _has_bits_[1] |= 0x00010000u;
19127 }
19128 inline void LayerParameter::clear_has_proposal_param() {
19129   _has_bits_[1] &= ~0x00010000u;
19130 }
19131 inline void LayerParameter::clear_proposal_param() {
19132   if (proposal_param_ != NULL) proposal_param_->::opencv_caffe::ProposalParameter::Clear();
19133   clear_has_proposal_param();
19134 }
19135 inline const ::opencv_caffe::ProposalParameter& LayerParameter::proposal_param() const {
19136   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.proposal_param)
19137   return proposal_param_ != NULL ? *proposal_param_
19138                          : *::opencv_caffe::ProposalParameter::internal_default_instance();
19139 }
19140 inline ::opencv_caffe::ProposalParameter* LayerParameter::mutable_proposal_param() {
19141   set_has_proposal_param();
19142   if (proposal_param_ == NULL) {
19143     proposal_param_ = new ::opencv_caffe::ProposalParameter;
19144   }
19145   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.proposal_param)
19146   return proposal_param_;
19147 }
19148 inline ::opencv_caffe::ProposalParameter* LayerParameter::release_proposal_param() {
19149   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.proposal_param)
19150   clear_has_proposal_param();
19151   ::opencv_caffe::ProposalParameter* temp = proposal_param_;
19152   proposal_param_ = NULL;
19153   return temp;
19154 }
19155 inline void LayerParameter::set_allocated_proposal_param(::opencv_caffe::ProposalParameter* proposal_param) {
19156   delete proposal_param_;
19157   proposal_param_ = proposal_param;
19158   if (proposal_param) {
19159     set_has_proposal_param();
19160   } else {
19161     clear_has_proposal_param();
19162   }
19163   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.proposal_param)
19164 }
19165
19166 // optional .opencv_caffe.PythonParameter python_param = 130;
19167 inline bool LayerParameter::has_python_param() const {
19168   return (_has_bits_[1] & 0x00020000u) != 0;
19169 }
19170 inline void LayerParameter::set_has_python_param() {
19171   _has_bits_[1] |= 0x00020000u;
19172 }
19173 inline void LayerParameter::clear_has_python_param() {
19174   _has_bits_[1] &= ~0x00020000u;
19175 }
19176 inline void LayerParameter::clear_python_param() {
19177   if (python_param_ != NULL) python_param_->::opencv_caffe::PythonParameter::Clear();
19178   clear_has_python_param();
19179 }
19180 inline const ::opencv_caffe::PythonParameter& LayerParameter::python_param() const {
19181   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.python_param)
19182   return python_param_ != NULL ? *python_param_
19183                          : *::opencv_caffe::PythonParameter::internal_default_instance();
19184 }
19185 inline ::opencv_caffe::PythonParameter* LayerParameter::mutable_python_param() {
19186   set_has_python_param();
19187   if (python_param_ == NULL) {
19188     python_param_ = new ::opencv_caffe::PythonParameter;
19189   }
19190   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.python_param)
19191   return python_param_;
19192 }
19193 inline ::opencv_caffe::PythonParameter* LayerParameter::release_python_param() {
19194   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.python_param)
19195   clear_has_python_param();
19196   ::opencv_caffe::PythonParameter* temp = python_param_;
19197   python_param_ = NULL;
19198   return temp;
19199 }
19200 inline void LayerParameter::set_allocated_python_param(::opencv_caffe::PythonParameter* python_param) {
19201   delete python_param_;
19202   python_param_ = python_param;
19203   if (python_param) {
19204     set_has_python_param();
19205   } else {
19206     clear_has_python_param();
19207   }
19208   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.python_param)
19209 }
19210
19211 // optional .opencv_caffe.RecurrentParameter recurrent_param = 146;
19212 inline bool LayerParameter::has_recurrent_param() const {
19213   return (_has_bits_[1] & 0x00040000u) != 0;
19214 }
19215 inline void LayerParameter::set_has_recurrent_param() {
19216   _has_bits_[1] |= 0x00040000u;
19217 }
19218 inline void LayerParameter::clear_has_recurrent_param() {
19219   _has_bits_[1] &= ~0x00040000u;
19220 }
19221 inline void LayerParameter::clear_recurrent_param() {
19222   if (recurrent_param_ != NULL) recurrent_param_->::opencv_caffe::RecurrentParameter::Clear();
19223   clear_has_recurrent_param();
19224 }
19225 inline const ::opencv_caffe::RecurrentParameter& LayerParameter::recurrent_param() const {
19226   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.recurrent_param)
19227   return recurrent_param_ != NULL ? *recurrent_param_
19228                          : *::opencv_caffe::RecurrentParameter::internal_default_instance();
19229 }
19230 inline ::opencv_caffe::RecurrentParameter* LayerParameter::mutable_recurrent_param() {
19231   set_has_recurrent_param();
19232   if (recurrent_param_ == NULL) {
19233     recurrent_param_ = new ::opencv_caffe::RecurrentParameter;
19234   }
19235   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.recurrent_param)
19236   return recurrent_param_;
19237 }
19238 inline ::opencv_caffe::RecurrentParameter* LayerParameter::release_recurrent_param() {
19239   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.recurrent_param)
19240   clear_has_recurrent_param();
19241   ::opencv_caffe::RecurrentParameter* temp = recurrent_param_;
19242   recurrent_param_ = NULL;
19243   return temp;
19244 }
19245 inline void LayerParameter::set_allocated_recurrent_param(::opencv_caffe::RecurrentParameter* recurrent_param) {
19246   delete recurrent_param_;
19247   recurrent_param_ = recurrent_param;
19248   if (recurrent_param) {
19249     set_has_recurrent_param();
19250   } else {
19251     clear_has_recurrent_param();
19252   }
19253   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.recurrent_param)
19254 }
19255
19256 // optional .opencv_caffe.ReductionParameter reduction_param = 136;
19257 inline bool LayerParameter::has_reduction_param() const {
19258   return (_has_bits_[1] & 0x00080000u) != 0;
19259 }
19260 inline void LayerParameter::set_has_reduction_param() {
19261   _has_bits_[1] |= 0x00080000u;
19262 }
19263 inline void LayerParameter::clear_has_reduction_param() {
19264   _has_bits_[1] &= ~0x00080000u;
19265 }
19266 inline void LayerParameter::clear_reduction_param() {
19267   if (reduction_param_ != NULL) reduction_param_->::opencv_caffe::ReductionParameter::Clear();
19268   clear_has_reduction_param();
19269 }
19270 inline const ::opencv_caffe::ReductionParameter& LayerParameter::reduction_param() const {
19271   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reduction_param)
19272   return reduction_param_ != NULL ? *reduction_param_
19273                          : *::opencv_caffe::ReductionParameter::internal_default_instance();
19274 }
19275 inline ::opencv_caffe::ReductionParameter* LayerParameter::mutable_reduction_param() {
19276   set_has_reduction_param();
19277   if (reduction_param_ == NULL) {
19278     reduction_param_ = new ::opencv_caffe::ReductionParameter;
19279   }
19280   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reduction_param)
19281   return reduction_param_;
19282 }
19283 inline ::opencv_caffe::ReductionParameter* LayerParameter::release_reduction_param() {
19284   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reduction_param)
19285   clear_has_reduction_param();
19286   ::opencv_caffe::ReductionParameter* temp = reduction_param_;
19287   reduction_param_ = NULL;
19288   return temp;
19289 }
19290 inline void LayerParameter::set_allocated_reduction_param(::opencv_caffe::ReductionParameter* reduction_param) {
19291   delete reduction_param_;
19292   reduction_param_ = reduction_param;
19293   if (reduction_param) {
19294     set_has_reduction_param();
19295   } else {
19296     clear_has_reduction_param();
19297   }
19298   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reduction_param)
19299 }
19300
19301 // optional .opencv_caffe.ReLUParameter relu_param = 123;
19302 inline bool LayerParameter::has_relu_param() const {
19303   return (_has_bits_[1] & 0x00100000u) != 0;
19304 }
19305 inline void LayerParameter::set_has_relu_param() {
19306   _has_bits_[1] |= 0x00100000u;
19307 }
19308 inline void LayerParameter::clear_has_relu_param() {
19309   _has_bits_[1] &= ~0x00100000u;
19310 }
19311 inline void LayerParameter::clear_relu_param() {
19312   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
19313   clear_has_relu_param();
19314 }
19315 inline const ::opencv_caffe::ReLUParameter& LayerParameter::relu_param() const {
19316   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.relu_param)
19317   return relu_param_ != NULL ? *relu_param_
19318                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
19319 }
19320 inline ::opencv_caffe::ReLUParameter* LayerParameter::mutable_relu_param() {
19321   set_has_relu_param();
19322   if (relu_param_ == NULL) {
19323     relu_param_ = new ::opencv_caffe::ReLUParameter;
19324   }
19325   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.relu_param)
19326   return relu_param_;
19327 }
19328 inline ::opencv_caffe::ReLUParameter* LayerParameter::release_relu_param() {
19329   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.relu_param)
19330   clear_has_relu_param();
19331   ::opencv_caffe::ReLUParameter* temp = relu_param_;
19332   relu_param_ = NULL;
19333   return temp;
19334 }
19335 inline void LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
19336   delete relu_param_;
19337   relu_param_ = relu_param;
19338   if (relu_param) {
19339     set_has_relu_param();
19340   } else {
19341     clear_has_relu_param();
19342   }
19343   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.relu_param)
19344 }
19345
19346 // optional .opencv_caffe.ReshapeParameter reshape_param = 133;
19347 inline bool LayerParameter::has_reshape_param() const {
19348   return (_has_bits_[1] & 0x00200000u) != 0;
19349 }
19350 inline void LayerParameter::set_has_reshape_param() {
19351   _has_bits_[1] |= 0x00200000u;
19352 }
19353 inline void LayerParameter::clear_has_reshape_param() {
19354   _has_bits_[1] &= ~0x00200000u;
19355 }
19356 inline void LayerParameter::clear_reshape_param() {
19357   if (reshape_param_ != NULL) reshape_param_->::opencv_caffe::ReshapeParameter::Clear();
19358   clear_has_reshape_param();
19359 }
19360 inline const ::opencv_caffe::ReshapeParameter& LayerParameter::reshape_param() const {
19361   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.reshape_param)
19362   return reshape_param_ != NULL ? *reshape_param_
19363                          : *::opencv_caffe::ReshapeParameter::internal_default_instance();
19364 }
19365 inline ::opencv_caffe::ReshapeParameter* LayerParameter::mutable_reshape_param() {
19366   set_has_reshape_param();
19367   if (reshape_param_ == NULL) {
19368     reshape_param_ = new ::opencv_caffe::ReshapeParameter;
19369   }
19370   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.reshape_param)
19371   return reshape_param_;
19372 }
19373 inline ::opencv_caffe::ReshapeParameter* LayerParameter::release_reshape_param() {
19374   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.reshape_param)
19375   clear_has_reshape_param();
19376   ::opencv_caffe::ReshapeParameter* temp = reshape_param_;
19377   reshape_param_ = NULL;
19378   return temp;
19379 }
19380 inline void LayerParameter::set_allocated_reshape_param(::opencv_caffe::ReshapeParameter* reshape_param) {
19381   delete reshape_param_;
19382   reshape_param_ = reshape_param;
19383   if (reshape_param) {
19384     set_has_reshape_param();
19385   } else {
19386     clear_has_reshape_param();
19387   }
19388   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.reshape_param)
19389 }
19390
19391 // optional .opencv_caffe.ROIPoolingParameter roi_pooling_param = 8266711;
19392 inline bool LayerParameter::has_roi_pooling_param() const {
19393   return (_has_bits_[1] & 0x00400000u) != 0;
19394 }
19395 inline void LayerParameter::set_has_roi_pooling_param() {
19396   _has_bits_[1] |= 0x00400000u;
19397 }
19398 inline void LayerParameter::clear_has_roi_pooling_param() {
19399   _has_bits_[1] &= ~0x00400000u;
19400 }
19401 inline void LayerParameter::clear_roi_pooling_param() {
19402   if (roi_pooling_param_ != NULL) roi_pooling_param_->::opencv_caffe::ROIPoolingParameter::Clear();
19403   clear_has_roi_pooling_param();
19404 }
19405 inline const ::opencv_caffe::ROIPoolingParameter& LayerParameter::roi_pooling_param() const {
19406   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.roi_pooling_param)
19407   return roi_pooling_param_ != NULL ? *roi_pooling_param_
19408                          : *::opencv_caffe::ROIPoolingParameter::internal_default_instance();
19409 }
19410 inline ::opencv_caffe::ROIPoolingParameter* LayerParameter::mutable_roi_pooling_param() {
19411   set_has_roi_pooling_param();
19412   if (roi_pooling_param_ == NULL) {
19413     roi_pooling_param_ = new ::opencv_caffe::ROIPoolingParameter;
19414   }
19415   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.roi_pooling_param)
19416   return roi_pooling_param_;
19417 }
19418 inline ::opencv_caffe::ROIPoolingParameter* LayerParameter::release_roi_pooling_param() {
19419   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.roi_pooling_param)
19420   clear_has_roi_pooling_param();
19421   ::opencv_caffe::ROIPoolingParameter* temp = roi_pooling_param_;
19422   roi_pooling_param_ = NULL;
19423   return temp;
19424 }
19425 inline void LayerParameter::set_allocated_roi_pooling_param(::opencv_caffe::ROIPoolingParameter* roi_pooling_param) {
19426   delete roi_pooling_param_;
19427   roi_pooling_param_ = roi_pooling_param;
19428   if (roi_pooling_param) {
19429     set_has_roi_pooling_param();
19430   } else {
19431     clear_has_roi_pooling_param();
19432   }
19433   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.roi_pooling_param)
19434 }
19435
19436 // optional .opencv_caffe.ScaleParameter scale_param = 142;
19437 inline bool LayerParameter::has_scale_param() const {
19438   return (_has_bits_[1] & 0x00800000u) != 0;
19439 }
19440 inline void LayerParameter::set_has_scale_param() {
19441   _has_bits_[1] |= 0x00800000u;
19442 }
19443 inline void LayerParameter::clear_has_scale_param() {
19444   _has_bits_[1] &= ~0x00800000u;
19445 }
19446 inline void LayerParameter::clear_scale_param() {
19447   if (scale_param_ != NULL) scale_param_->::opencv_caffe::ScaleParameter::Clear();
19448   clear_has_scale_param();
19449 }
19450 inline const ::opencv_caffe::ScaleParameter& LayerParameter::scale_param() const {
19451   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.scale_param)
19452   return scale_param_ != NULL ? *scale_param_
19453                          : *::opencv_caffe::ScaleParameter::internal_default_instance();
19454 }
19455 inline ::opencv_caffe::ScaleParameter* LayerParameter::mutable_scale_param() {
19456   set_has_scale_param();
19457   if (scale_param_ == NULL) {
19458     scale_param_ = new ::opencv_caffe::ScaleParameter;
19459   }
19460   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.scale_param)
19461   return scale_param_;
19462 }
19463 inline ::opencv_caffe::ScaleParameter* LayerParameter::release_scale_param() {
19464   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.scale_param)
19465   clear_has_scale_param();
19466   ::opencv_caffe::ScaleParameter* temp = scale_param_;
19467   scale_param_ = NULL;
19468   return temp;
19469 }
19470 inline void LayerParameter::set_allocated_scale_param(::opencv_caffe::ScaleParameter* scale_param) {
19471   delete scale_param_;
19472   scale_param_ = scale_param;
19473   if (scale_param) {
19474     set_has_scale_param();
19475   } else {
19476     clear_has_scale_param();
19477   }
19478   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.scale_param)
19479 }
19480
19481 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 124;
19482 inline bool LayerParameter::has_sigmoid_param() const {
19483   return (_has_bits_[1] & 0x01000000u) != 0;
19484 }
19485 inline void LayerParameter::set_has_sigmoid_param() {
19486   _has_bits_[1] |= 0x01000000u;
19487 }
19488 inline void LayerParameter::clear_has_sigmoid_param() {
19489   _has_bits_[1] &= ~0x01000000u;
19490 }
19491 inline void LayerParameter::clear_sigmoid_param() {
19492   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
19493   clear_has_sigmoid_param();
19494 }
19495 inline const ::opencv_caffe::SigmoidParameter& LayerParameter::sigmoid_param() const {
19496   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.sigmoid_param)
19497   return sigmoid_param_ != NULL ? *sigmoid_param_
19498                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
19499 }
19500 inline ::opencv_caffe::SigmoidParameter* LayerParameter::mutable_sigmoid_param() {
19501   set_has_sigmoid_param();
19502   if (sigmoid_param_ == NULL) {
19503     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
19504   }
19505   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.sigmoid_param)
19506   return sigmoid_param_;
19507 }
19508 inline ::opencv_caffe::SigmoidParameter* LayerParameter::release_sigmoid_param() {
19509   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.sigmoid_param)
19510   clear_has_sigmoid_param();
19511   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
19512   sigmoid_param_ = NULL;
19513   return temp;
19514 }
19515 inline void LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
19516   delete sigmoid_param_;
19517   sigmoid_param_ = sigmoid_param;
19518   if (sigmoid_param) {
19519     set_has_sigmoid_param();
19520   } else {
19521     clear_has_sigmoid_param();
19522   }
19523   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.sigmoid_param)
19524 }
19525
19526 // optional .opencv_caffe.SoftmaxParameter softmax_param = 125;
19527 inline bool LayerParameter::has_softmax_param() const {
19528   return (_has_bits_[1] & 0x02000000u) != 0;
19529 }
19530 inline void LayerParameter::set_has_softmax_param() {
19531   _has_bits_[1] |= 0x02000000u;
19532 }
19533 inline void LayerParameter::clear_has_softmax_param() {
19534   _has_bits_[1] &= ~0x02000000u;
19535 }
19536 inline void LayerParameter::clear_softmax_param() {
19537   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
19538   clear_has_softmax_param();
19539 }
19540 inline const ::opencv_caffe::SoftmaxParameter& LayerParameter::softmax_param() const {
19541   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.softmax_param)
19542   return softmax_param_ != NULL ? *softmax_param_
19543                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
19544 }
19545 inline ::opencv_caffe::SoftmaxParameter* LayerParameter::mutable_softmax_param() {
19546   set_has_softmax_param();
19547   if (softmax_param_ == NULL) {
19548     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
19549   }
19550   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.softmax_param)
19551   return softmax_param_;
19552 }
19553 inline ::opencv_caffe::SoftmaxParameter* LayerParameter::release_softmax_param() {
19554   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.softmax_param)
19555   clear_has_softmax_param();
19556   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
19557   softmax_param_ = NULL;
19558   return temp;
19559 }
19560 inline void LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
19561   delete softmax_param_;
19562   softmax_param_ = softmax_param;
19563   if (softmax_param) {
19564     set_has_softmax_param();
19565   } else {
19566     clear_has_softmax_param();
19567   }
19568   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.softmax_param)
19569 }
19570
19571 // optional .opencv_caffe.SPPParameter spp_param = 132;
19572 inline bool LayerParameter::has_spp_param() const {
19573   return (_has_bits_[1] & 0x04000000u) != 0;
19574 }
19575 inline void LayerParameter::set_has_spp_param() {
19576   _has_bits_[1] |= 0x04000000u;
19577 }
19578 inline void LayerParameter::clear_has_spp_param() {
19579   _has_bits_[1] &= ~0x04000000u;
19580 }
19581 inline void LayerParameter::clear_spp_param() {
19582   if (spp_param_ != NULL) spp_param_->::opencv_caffe::SPPParameter::Clear();
19583   clear_has_spp_param();
19584 }
19585 inline const ::opencv_caffe::SPPParameter& LayerParameter::spp_param() const {
19586   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.spp_param)
19587   return spp_param_ != NULL ? *spp_param_
19588                          : *::opencv_caffe::SPPParameter::internal_default_instance();
19589 }
19590 inline ::opencv_caffe::SPPParameter* LayerParameter::mutable_spp_param() {
19591   set_has_spp_param();
19592   if (spp_param_ == NULL) {
19593     spp_param_ = new ::opencv_caffe::SPPParameter;
19594   }
19595   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.spp_param)
19596   return spp_param_;
19597 }
19598 inline ::opencv_caffe::SPPParameter* LayerParameter::release_spp_param() {
19599   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.spp_param)
19600   clear_has_spp_param();
19601   ::opencv_caffe::SPPParameter* temp = spp_param_;
19602   spp_param_ = NULL;
19603   return temp;
19604 }
19605 inline void LayerParameter::set_allocated_spp_param(::opencv_caffe::SPPParameter* spp_param) {
19606   delete spp_param_;
19607   spp_param_ = spp_param;
19608   if (spp_param) {
19609     set_has_spp_param();
19610   } else {
19611     clear_has_spp_param();
19612   }
19613   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.spp_param)
19614 }
19615
19616 // optional .opencv_caffe.SliceParameter slice_param = 126;
19617 inline bool LayerParameter::has_slice_param() const {
19618   return (_has_bits_[1] & 0x08000000u) != 0;
19619 }
19620 inline void LayerParameter::set_has_slice_param() {
19621   _has_bits_[1] |= 0x08000000u;
19622 }
19623 inline void LayerParameter::clear_has_slice_param() {
19624   _has_bits_[1] &= ~0x08000000u;
19625 }
19626 inline void LayerParameter::clear_slice_param() {
19627   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
19628   clear_has_slice_param();
19629 }
19630 inline const ::opencv_caffe::SliceParameter& LayerParameter::slice_param() const {
19631   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.slice_param)
19632   return slice_param_ != NULL ? *slice_param_
19633                          : *::opencv_caffe::SliceParameter::internal_default_instance();
19634 }
19635 inline ::opencv_caffe::SliceParameter* LayerParameter::mutable_slice_param() {
19636   set_has_slice_param();
19637   if (slice_param_ == NULL) {
19638     slice_param_ = new ::opencv_caffe::SliceParameter;
19639   }
19640   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.slice_param)
19641   return slice_param_;
19642 }
19643 inline ::opencv_caffe::SliceParameter* LayerParameter::release_slice_param() {
19644   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.slice_param)
19645   clear_has_slice_param();
19646   ::opencv_caffe::SliceParameter* temp = slice_param_;
19647   slice_param_ = NULL;
19648   return temp;
19649 }
19650 inline void LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
19651   delete slice_param_;
19652   slice_param_ = slice_param;
19653   if (slice_param) {
19654     set_has_slice_param();
19655   } else {
19656     clear_has_slice_param();
19657   }
19658   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.slice_param)
19659 }
19660
19661 // optional .opencv_caffe.TanHParameter tanh_param = 127;
19662 inline bool LayerParameter::has_tanh_param() const {
19663   return (_has_bits_[1] & 0x10000000u) != 0;
19664 }
19665 inline void LayerParameter::set_has_tanh_param() {
19666   _has_bits_[1] |= 0x10000000u;
19667 }
19668 inline void LayerParameter::clear_has_tanh_param() {
19669   _has_bits_[1] &= ~0x10000000u;
19670 }
19671 inline void LayerParameter::clear_tanh_param() {
19672   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
19673   clear_has_tanh_param();
19674 }
19675 inline const ::opencv_caffe::TanHParameter& LayerParameter::tanh_param() const {
19676   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tanh_param)
19677   return tanh_param_ != NULL ? *tanh_param_
19678                          : *::opencv_caffe::TanHParameter::internal_default_instance();
19679 }
19680 inline ::opencv_caffe::TanHParameter* LayerParameter::mutable_tanh_param() {
19681   set_has_tanh_param();
19682   if (tanh_param_ == NULL) {
19683     tanh_param_ = new ::opencv_caffe::TanHParameter;
19684   }
19685   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tanh_param)
19686   return tanh_param_;
19687 }
19688 inline ::opencv_caffe::TanHParameter* LayerParameter::release_tanh_param() {
19689   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tanh_param)
19690   clear_has_tanh_param();
19691   ::opencv_caffe::TanHParameter* temp = tanh_param_;
19692   tanh_param_ = NULL;
19693   return temp;
19694 }
19695 inline void LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
19696   delete tanh_param_;
19697   tanh_param_ = tanh_param;
19698   if (tanh_param) {
19699     set_has_tanh_param();
19700   } else {
19701     clear_has_tanh_param();
19702   }
19703   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tanh_param)
19704 }
19705
19706 // optional .opencv_caffe.ThresholdParameter threshold_param = 128;
19707 inline bool LayerParameter::has_threshold_param() const {
19708   return (_has_bits_[1] & 0x20000000u) != 0;
19709 }
19710 inline void LayerParameter::set_has_threshold_param() {
19711   _has_bits_[1] |= 0x20000000u;
19712 }
19713 inline void LayerParameter::clear_has_threshold_param() {
19714   _has_bits_[1] &= ~0x20000000u;
19715 }
19716 inline void LayerParameter::clear_threshold_param() {
19717   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
19718   clear_has_threshold_param();
19719 }
19720 inline const ::opencv_caffe::ThresholdParameter& LayerParameter::threshold_param() const {
19721   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.threshold_param)
19722   return threshold_param_ != NULL ? *threshold_param_
19723                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
19724 }
19725 inline ::opencv_caffe::ThresholdParameter* LayerParameter::mutable_threshold_param() {
19726   set_has_threshold_param();
19727   if (threshold_param_ == NULL) {
19728     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
19729   }
19730   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.threshold_param)
19731   return threshold_param_;
19732 }
19733 inline ::opencv_caffe::ThresholdParameter* LayerParameter::release_threshold_param() {
19734   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.threshold_param)
19735   clear_has_threshold_param();
19736   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
19737   threshold_param_ = NULL;
19738   return temp;
19739 }
19740 inline void LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
19741   delete threshold_param_;
19742   threshold_param_ = threshold_param;
19743   if (threshold_param) {
19744     set_has_threshold_param();
19745   } else {
19746     clear_has_threshold_param();
19747   }
19748   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.threshold_param)
19749 }
19750
19751 // optional .opencv_caffe.TileParameter tile_param = 138;
19752 inline bool LayerParameter::has_tile_param() const {
19753   return (_has_bits_[1] & 0x40000000u) != 0;
19754 }
19755 inline void LayerParameter::set_has_tile_param() {
19756   _has_bits_[1] |= 0x40000000u;
19757 }
19758 inline void LayerParameter::clear_has_tile_param() {
19759   _has_bits_[1] &= ~0x40000000u;
19760 }
19761 inline void LayerParameter::clear_tile_param() {
19762   if (tile_param_ != NULL) tile_param_->::opencv_caffe::TileParameter::Clear();
19763   clear_has_tile_param();
19764 }
19765 inline const ::opencv_caffe::TileParameter& LayerParameter::tile_param() const {
19766   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.tile_param)
19767   return tile_param_ != NULL ? *tile_param_
19768                          : *::opencv_caffe::TileParameter::internal_default_instance();
19769 }
19770 inline ::opencv_caffe::TileParameter* LayerParameter::mutable_tile_param() {
19771   set_has_tile_param();
19772   if (tile_param_ == NULL) {
19773     tile_param_ = new ::opencv_caffe::TileParameter;
19774   }
19775   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.tile_param)
19776   return tile_param_;
19777 }
19778 inline ::opencv_caffe::TileParameter* LayerParameter::release_tile_param() {
19779   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.tile_param)
19780   clear_has_tile_param();
19781   ::opencv_caffe::TileParameter* temp = tile_param_;
19782   tile_param_ = NULL;
19783   return temp;
19784 }
19785 inline void LayerParameter::set_allocated_tile_param(::opencv_caffe::TileParameter* tile_param) {
19786   delete tile_param_;
19787   tile_param_ = tile_param;
19788   if (tile_param) {
19789     set_has_tile_param();
19790   } else {
19791     clear_has_tile_param();
19792   }
19793   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.tile_param)
19794 }
19795
19796 // optional .opencv_caffe.WindowDataParameter window_data_param = 129;
19797 inline bool LayerParameter::has_window_data_param() const {
19798   return (_has_bits_[1] & 0x80000000u) != 0;
19799 }
19800 inline void LayerParameter::set_has_window_data_param() {
19801   _has_bits_[1] |= 0x80000000u;
19802 }
19803 inline void LayerParameter::clear_has_window_data_param() {
19804   _has_bits_[1] &= ~0x80000000u;
19805 }
19806 inline void LayerParameter::clear_window_data_param() {
19807   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
19808   clear_has_window_data_param();
19809 }
19810 inline const ::opencv_caffe::WindowDataParameter& LayerParameter::window_data_param() const {
19811   // @@protoc_insertion_point(field_get:opencv_caffe.LayerParameter.window_data_param)
19812   return window_data_param_ != NULL ? *window_data_param_
19813                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
19814 }
19815 inline ::opencv_caffe::WindowDataParameter* LayerParameter::mutable_window_data_param() {
19816   set_has_window_data_param();
19817   if (window_data_param_ == NULL) {
19818     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
19819   }
19820   // @@protoc_insertion_point(field_mutable:opencv_caffe.LayerParameter.window_data_param)
19821   return window_data_param_;
19822 }
19823 inline ::opencv_caffe::WindowDataParameter* LayerParameter::release_window_data_param() {
19824   // @@protoc_insertion_point(field_release:opencv_caffe.LayerParameter.window_data_param)
19825   clear_has_window_data_param();
19826   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
19827   window_data_param_ = NULL;
19828   return temp;
19829 }
19830 inline void LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
19831   delete window_data_param_;
19832   window_data_param_ = window_data_param;
19833   if (window_data_param) {
19834     set_has_window_data_param();
19835   } else {
19836     clear_has_window_data_param();
19837   }
19838   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.LayerParameter.window_data_param)
19839 }
19840
19841 inline const LayerParameter* LayerParameter::internal_default_instance() {
19842   return &LayerParameter_default_instance_.get();
19843 }
19844 // -------------------------------------------------------------------
19845
19846 // TransformationParameter
19847
19848 // optional float scale = 1 [default = 1];
19849 inline bool TransformationParameter::has_scale() const {
19850   return (_has_bits_[0] & 0x00000001u) != 0;
19851 }
19852 inline void TransformationParameter::set_has_scale() {
19853   _has_bits_[0] |= 0x00000001u;
19854 }
19855 inline void TransformationParameter::clear_has_scale() {
19856   _has_bits_[0] &= ~0x00000001u;
19857 }
19858 inline void TransformationParameter::clear_scale() {
19859   scale_ = 1;
19860   clear_has_scale();
19861 }
19862 inline float TransformationParameter::scale() const {
19863   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.scale)
19864   return scale_;
19865 }
19866 inline void TransformationParameter::set_scale(float value) {
19867   set_has_scale();
19868   scale_ = value;
19869   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.scale)
19870 }
19871
19872 // optional bool mirror = 2 [default = false];
19873 inline bool TransformationParameter::has_mirror() const {
19874   return (_has_bits_[0] & 0x00000002u) != 0;
19875 }
19876 inline void TransformationParameter::set_has_mirror() {
19877   _has_bits_[0] |= 0x00000002u;
19878 }
19879 inline void TransformationParameter::clear_has_mirror() {
19880   _has_bits_[0] &= ~0x00000002u;
19881 }
19882 inline void TransformationParameter::clear_mirror() {
19883   mirror_ = false;
19884   clear_has_mirror();
19885 }
19886 inline bool TransformationParameter::mirror() const {
19887   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mirror)
19888   return mirror_;
19889 }
19890 inline void TransformationParameter::set_mirror(bool value) {
19891   set_has_mirror();
19892   mirror_ = value;
19893   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mirror)
19894 }
19895
19896 // optional uint32 crop_size = 3 [default = 0];
19897 inline bool TransformationParameter::has_crop_size() const {
19898   return (_has_bits_[0] & 0x00000004u) != 0;
19899 }
19900 inline void TransformationParameter::set_has_crop_size() {
19901   _has_bits_[0] |= 0x00000004u;
19902 }
19903 inline void TransformationParameter::clear_has_crop_size() {
19904   _has_bits_[0] &= ~0x00000004u;
19905 }
19906 inline void TransformationParameter::clear_crop_size() {
19907   crop_size_ = 0u;
19908   clear_has_crop_size();
19909 }
19910 inline ::google::protobuf::uint32 TransformationParameter::crop_size() const {
19911   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.crop_size)
19912   return crop_size_;
19913 }
19914 inline void TransformationParameter::set_crop_size(::google::protobuf::uint32 value) {
19915   set_has_crop_size();
19916   crop_size_ = value;
19917   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.crop_size)
19918 }
19919
19920 // optional string mean_file = 4;
19921 inline bool TransformationParameter::has_mean_file() const {
19922   return (_has_bits_[0] & 0x00000008u) != 0;
19923 }
19924 inline void TransformationParameter::set_has_mean_file() {
19925   _has_bits_[0] |= 0x00000008u;
19926 }
19927 inline void TransformationParameter::clear_has_mean_file() {
19928   _has_bits_[0] &= ~0x00000008u;
19929 }
19930 inline void TransformationParameter::clear_mean_file() {
19931   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19932   clear_has_mean_file();
19933 }
19934 inline const ::std::string& TransformationParameter::mean_file() const {
19935   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_file)
19936   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19937 }
19938 inline void TransformationParameter::set_mean_file(const ::std::string& value) {
19939   set_has_mean_file();
19940   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
19941   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_file)
19942 }
19943 inline void TransformationParameter::set_mean_file(const char* value) {
19944   set_has_mean_file();
19945   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
19946   // @@protoc_insertion_point(field_set_char:opencv_caffe.TransformationParameter.mean_file)
19947 }
19948 inline void TransformationParameter::set_mean_file(const char* value, size_t size) {
19949   set_has_mean_file();
19950   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
19951       ::std::string(reinterpret_cast<const char*>(value), size));
19952   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.TransformationParameter.mean_file)
19953 }
19954 inline ::std::string* TransformationParameter::mutable_mean_file() {
19955   set_has_mean_file();
19956   // @@protoc_insertion_point(field_mutable:opencv_caffe.TransformationParameter.mean_file)
19957   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19958 }
19959 inline ::std::string* TransformationParameter::release_mean_file() {
19960   // @@protoc_insertion_point(field_release:opencv_caffe.TransformationParameter.mean_file)
19961   clear_has_mean_file();
19962   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
19963 }
19964 inline void TransformationParameter::set_allocated_mean_file(::std::string* mean_file) {
19965   if (mean_file != NULL) {
19966     set_has_mean_file();
19967   } else {
19968     clear_has_mean_file();
19969   }
19970   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
19971   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.TransformationParameter.mean_file)
19972 }
19973
19974 // repeated float mean_value = 5;
19975 inline int TransformationParameter::mean_value_size() const {
19976   return mean_value_.size();
19977 }
19978 inline void TransformationParameter::clear_mean_value() {
19979   mean_value_.Clear();
19980 }
19981 inline float TransformationParameter::mean_value(int index) const {
19982   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.mean_value)
19983   return mean_value_.Get(index);
19984 }
19985 inline void TransformationParameter::set_mean_value(int index, float value) {
19986   mean_value_.Set(index, value);
19987   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.mean_value)
19988 }
19989 inline void TransformationParameter::add_mean_value(float value) {
19990   mean_value_.Add(value);
19991   // @@protoc_insertion_point(field_add:opencv_caffe.TransformationParameter.mean_value)
19992 }
19993 inline const ::google::protobuf::RepeatedField< float >&
19994 TransformationParameter::mean_value() const {
19995   // @@protoc_insertion_point(field_list:opencv_caffe.TransformationParameter.mean_value)
19996   return mean_value_;
19997 }
19998 inline ::google::protobuf::RepeatedField< float >*
19999 TransformationParameter::mutable_mean_value() {
20000   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.TransformationParameter.mean_value)
20001   return &mean_value_;
20002 }
20003
20004 // optional bool force_color = 6 [default = false];
20005 inline bool TransformationParameter::has_force_color() const {
20006   return (_has_bits_[0] & 0x00000020u) != 0;
20007 }
20008 inline void TransformationParameter::set_has_force_color() {
20009   _has_bits_[0] |= 0x00000020u;
20010 }
20011 inline void TransformationParameter::clear_has_force_color() {
20012   _has_bits_[0] &= ~0x00000020u;
20013 }
20014 inline void TransformationParameter::clear_force_color() {
20015   force_color_ = false;
20016   clear_has_force_color();
20017 }
20018 inline bool TransformationParameter::force_color() const {
20019   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_color)
20020   return force_color_;
20021 }
20022 inline void TransformationParameter::set_force_color(bool value) {
20023   set_has_force_color();
20024   force_color_ = value;
20025   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_color)
20026 }
20027
20028 // optional bool force_gray = 7 [default = false];
20029 inline bool TransformationParameter::has_force_gray() const {
20030   return (_has_bits_[0] & 0x00000040u) != 0;
20031 }
20032 inline void TransformationParameter::set_has_force_gray() {
20033   _has_bits_[0] |= 0x00000040u;
20034 }
20035 inline void TransformationParameter::clear_has_force_gray() {
20036   _has_bits_[0] &= ~0x00000040u;
20037 }
20038 inline void TransformationParameter::clear_force_gray() {
20039   force_gray_ = false;
20040   clear_has_force_gray();
20041 }
20042 inline bool TransformationParameter::force_gray() const {
20043   // @@protoc_insertion_point(field_get:opencv_caffe.TransformationParameter.force_gray)
20044   return force_gray_;
20045 }
20046 inline void TransformationParameter::set_force_gray(bool value) {
20047   set_has_force_gray();
20048   force_gray_ = value;
20049   // @@protoc_insertion_point(field_set:opencv_caffe.TransformationParameter.force_gray)
20050 }
20051
20052 inline const TransformationParameter* TransformationParameter::internal_default_instance() {
20053   return &TransformationParameter_default_instance_.get();
20054 }
20055 // -------------------------------------------------------------------
20056
20057 // LossParameter
20058
20059 // optional int32 ignore_label = 1;
20060 inline bool LossParameter::has_ignore_label() const {
20061   return (_has_bits_[0] & 0x00000001u) != 0;
20062 }
20063 inline void LossParameter::set_has_ignore_label() {
20064   _has_bits_[0] |= 0x00000001u;
20065 }
20066 inline void LossParameter::clear_has_ignore_label() {
20067   _has_bits_[0] &= ~0x00000001u;
20068 }
20069 inline void LossParameter::clear_ignore_label() {
20070   ignore_label_ = 0;
20071   clear_has_ignore_label();
20072 }
20073 inline ::google::protobuf::int32 LossParameter::ignore_label() const {
20074   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.ignore_label)
20075   return ignore_label_;
20076 }
20077 inline void LossParameter::set_ignore_label(::google::protobuf::int32 value) {
20078   set_has_ignore_label();
20079   ignore_label_ = value;
20080   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.ignore_label)
20081 }
20082
20083 // optional .opencv_caffe.LossParameter.NormalizationMode normalization = 3 [default = VALID];
20084 inline bool LossParameter::has_normalization() const {
20085   return (_has_bits_[0] & 0x00000002u) != 0;
20086 }
20087 inline void LossParameter::set_has_normalization() {
20088   _has_bits_[0] |= 0x00000002u;
20089 }
20090 inline void LossParameter::clear_has_normalization() {
20091   _has_bits_[0] &= ~0x00000002u;
20092 }
20093 inline void LossParameter::clear_normalization() {
20094   normalization_ = 1;
20095   clear_has_normalization();
20096 }
20097 inline ::opencv_caffe::LossParameter_NormalizationMode LossParameter::normalization() const {
20098   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalization)
20099   return static_cast< ::opencv_caffe::LossParameter_NormalizationMode >(normalization_);
20100 }
20101 inline void LossParameter::set_normalization(::opencv_caffe::LossParameter_NormalizationMode value) {
20102   assert(::opencv_caffe::LossParameter_NormalizationMode_IsValid(value));
20103   set_has_normalization();
20104   normalization_ = value;
20105   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalization)
20106 }
20107
20108 // optional bool normalize = 2;
20109 inline bool LossParameter::has_normalize() const {
20110   return (_has_bits_[0] & 0x00000004u) != 0;
20111 }
20112 inline void LossParameter::set_has_normalize() {
20113   _has_bits_[0] |= 0x00000004u;
20114 }
20115 inline void LossParameter::clear_has_normalize() {
20116   _has_bits_[0] &= ~0x00000004u;
20117 }
20118 inline void LossParameter::clear_normalize() {
20119   normalize_ = false;
20120   clear_has_normalize();
20121 }
20122 inline bool LossParameter::normalize() const {
20123   // @@protoc_insertion_point(field_get:opencv_caffe.LossParameter.normalize)
20124   return normalize_;
20125 }
20126 inline void LossParameter::set_normalize(bool value) {
20127   set_has_normalize();
20128   normalize_ = value;
20129   // @@protoc_insertion_point(field_set:opencv_caffe.LossParameter.normalize)
20130 }
20131
20132 inline const LossParameter* LossParameter::internal_default_instance() {
20133   return &LossParameter_default_instance_.get();
20134 }
20135 // -------------------------------------------------------------------
20136
20137 // AccuracyParameter
20138
20139 // optional uint32 top_k = 1 [default = 1];
20140 inline bool AccuracyParameter::has_top_k() const {
20141   return (_has_bits_[0] & 0x00000001u) != 0;
20142 }
20143 inline void AccuracyParameter::set_has_top_k() {
20144   _has_bits_[0] |= 0x00000001u;
20145 }
20146 inline void AccuracyParameter::clear_has_top_k() {
20147   _has_bits_[0] &= ~0x00000001u;
20148 }
20149 inline void AccuracyParameter::clear_top_k() {
20150   top_k_ = 1u;
20151   clear_has_top_k();
20152 }
20153 inline ::google::protobuf::uint32 AccuracyParameter::top_k() const {
20154   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.top_k)
20155   return top_k_;
20156 }
20157 inline void AccuracyParameter::set_top_k(::google::protobuf::uint32 value) {
20158   set_has_top_k();
20159   top_k_ = value;
20160   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.top_k)
20161 }
20162
20163 // optional int32 axis = 2 [default = 1];
20164 inline bool AccuracyParameter::has_axis() const {
20165   return (_has_bits_[0] & 0x00000002u) != 0;
20166 }
20167 inline void AccuracyParameter::set_has_axis() {
20168   _has_bits_[0] |= 0x00000002u;
20169 }
20170 inline void AccuracyParameter::clear_has_axis() {
20171   _has_bits_[0] &= ~0x00000002u;
20172 }
20173 inline void AccuracyParameter::clear_axis() {
20174   axis_ = 1;
20175   clear_has_axis();
20176 }
20177 inline ::google::protobuf::int32 AccuracyParameter::axis() const {
20178   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.axis)
20179   return axis_;
20180 }
20181 inline void AccuracyParameter::set_axis(::google::protobuf::int32 value) {
20182   set_has_axis();
20183   axis_ = value;
20184   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.axis)
20185 }
20186
20187 // optional int32 ignore_label = 3;
20188 inline bool AccuracyParameter::has_ignore_label() const {
20189   return (_has_bits_[0] & 0x00000004u) != 0;
20190 }
20191 inline void AccuracyParameter::set_has_ignore_label() {
20192   _has_bits_[0] |= 0x00000004u;
20193 }
20194 inline void AccuracyParameter::clear_has_ignore_label() {
20195   _has_bits_[0] &= ~0x00000004u;
20196 }
20197 inline void AccuracyParameter::clear_ignore_label() {
20198   ignore_label_ = 0;
20199   clear_has_ignore_label();
20200 }
20201 inline ::google::protobuf::int32 AccuracyParameter::ignore_label() const {
20202   // @@protoc_insertion_point(field_get:opencv_caffe.AccuracyParameter.ignore_label)
20203   return ignore_label_;
20204 }
20205 inline void AccuracyParameter::set_ignore_label(::google::protobuf::int32 value) {
20206   set_has_ignore_label();
20207   ignore_label_ = value;
20208   // @@protoc_insertion_point(field_set:opencv_caffe.AccuracyParameter.ignore_label)
20209 }
20210
20211 inline const AccuracyParameter* AccuracyParameter::internal_default_instance() {
20212   return &AccuracyParameter_default_instance_.get();
20213 }
20214 // -------------------------------------------------------------------
20215
20216 // ArgMaxParameter
20217
20218 // optional bool out_max_val = 1 [default = false];
20219 inline bool ArgMaxParameter::has_out_max_val() const {
20220   return (_has_bits_[0] & 0x00000001u) != 0;
20221 }
20222 inline void ArgMaxParameter::set_has_out_max_val() {
20223   _has_bits_[0] |= 0x00000001u;
20224 }
20225 inline void ArgMaxParameter::clear_has_out_max_val() {
20226   _has_bits_[0] &= ~0x00000001u;
20227 }
20228 inline void ArgMaxParameter::clear_out_max_val() {
20229   out_max_val_ = false;
20230   clear_has_out_max_val();
20231 }
20232 inline bool ArgMaxParameter::out_max_val() const {
20233   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.out_max_val)
20234   return out_max_val_;
20235 }
20236 inline void ArgMaxParameter::set_out_max_val(bool value) {
20237   set_has_out_max_val();
20238   out_max_val_ = value;
20239   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.out_max_val)
20240 }
20241
20242 // optional uint32 top_k = 2 [default = 1];
20243 inline bool ArgMaxParameter::has_top_k() const {
20244   return (_has_bits_[0] & 0x00000002u) != 0;
20245 }
20246 inline void ArgMaxParameter::set_has_top_k() {
20247   _has_bits_[0] |= 0x00000002u;
20248 }
20249 inline void ArgMaxParameter::clear_has_top_k() {
20250   _has_bits_[0] &= ~0x00000002u;
20251 }
20252 inline void ArgMaxParameter::clear_top_k() {
20253   top_k_ = 1u;
20254   clear_has_top_k();
20255 }
20256 inline ::google::protobuf::uint32 ArgMaxParameter::top_k() const {
20257   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.top_k)
20258   return top_k_;
20259 }
20260 inline void ArgMaxParameter::set_top_k(::google::protobuf::uint32 value) {
20261   set_has_top_k();
20262   top_k_ = value;
20263   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.top_k)
20264 }
20265
20266 // optional int32 axis = 3;
20267 inline bool ArgMaxParameter::has_axis() const {
20268   return (_has_bits_[0] & 0x00000004u) != 0;
20269 }
20270 inline void ArgMaxParameter::set_has_axis() {
20271   _has_bits_[0] |= 0x00000004u;
20272 }
20273 inline void ArgMaxParameter::clear_has_axis() {
20274   _has_bits_[0] &= ~0x00000004u;
20275 }
20276 inline void ArgMaxParameter::clear_axis() {
20277   axis_ = 0;
20278   clear_has_axis();
20279 }
20280 inline ::google::protobuf::int32 ArgMaxParameter::axis() const {
20281   // @@protoc_insertion_point(field_get:opencv_caffe.ArgMaxParameter.axis)
20282   return axis_;
20283 }
20284 inline void ArgMaxParameter::set_axis(::google::protobuf::int32 value) {
20285   set_has_axis();
20286   axis_ = value;
20287   // @@protoc_insertion_point(field_set:opencv_caffe.ArgMaxParameter.axis)
20288 }
20289
20290 inline const ArgMaxParameter* ArgMaxParameter::internal_default_instance() {
20291   return &ArgMaxParameter_default_instance_.get();
20292 }
20293 // -------------------------------------------------------------------
20294
20295 // ConcatParameter
20296
20297 // optional int32 axis = 2 [default = 1];
20298 inline bool ConcatParameter::has_axis() const {
20299   return (_has_bits_[0] & 0x00000001u) != 0;
20300 }
20301 inline void ConcatParameter::set_has_axis() {
20302   _has_bits_[0] |= 0x00000001u;
20303 }
20304 inline void ConcatParameter::clear_has_axis() {
20305   _has_bits_[0] &= ~0x00000001u;
20306 }
20307 inline void ConcatParameter::clear_axis() {
20308   axis_ = 1;
20309   clear_has_axis();
20310 }
20311 inline ::google::protobuf::int32 ConcatParameter::axis() const {
20312   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.axis)
20313   return axis_;
20314 }
20315 inline void ConcatParameter::set_axis(::google::protobuf::int32 value) {
20316   set_has_axis();
20317   axis_ = value;
20318   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.axis)
20319 }
20320
20321 // optional uint32 concat_dim = 1 [default = 1];
20322 inline bool ConcatParameter::has_concat_dim() const {
20323   return (_has_bits_[0] & 0x00000002u) != 0;
20324 }
20325 inline void ConcatParameter::set_has_concat_dim() {
20326   _has_bits_[0] |= 0x00000002u;
20327 }
20328 inline void ConcatParameter::clear_has_concat_dim() {
20329   _has_bits_[0] &= ~0x00000002u;
20330 }
20331 inline void ConcatParameter::clear_concat_dim() {
20332   concat_dim_ = 1u;
20333   clear_has_concat_dim();
20334 }
20335 inline ::google::protobuf::uint32 ConcatParameter::concat_dim() const {
20336   // @@protoc_insertion_point(field_get:opencv_caffe.ConcatParameter.concat_dim)
20337   return concat_dim_;
20338 }
20339 inline void ConcatParameter::set_concat_dim(::google::protobuf::uint32 value) {
20340   set_has_concat_dim();
20341   concat_dim_ = value;
20342   // @@protoc_insertion_point(field_set:opencv_caffe.ConcatParameter.concat_dim)
20343 }
20344
20345 inline const ConcatParameter* ConcatParameter::internal_default_instance() {
20346   return &ConcatParameter_default_instance_.get();
20347 }
20348 // -------------------------------------------------------------------
20349
20350 // BatchNormParameter
20351
20352 // optional bool use_global_stats = 1;
20353 inline bool BatchNormParameter::has_use_global_stats() const {
20354   return (_has_bits_[0] & 0x00000001u) != 0;
20355 }
20356 inline void BatchNormParameter::set_has_use_global_stats() {
20357   _has_bits_[0] |= 0x00000001u;
20358 }
20359 inline void BatchNormParameter::clear_has_use_global_stats() {
20360   _has_bits_[0] &= ~0x00000001u;
20361 }
20362 inline void BatchNormParameter::clear_use_global_stats() {
20363   use_global_stats_ = false;
20364   clear_has_use_global_stats();
20365 }
20366 inline bool BatchNormParameter::use_global_stats() const {
20367   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.use_global_stats)
20368   return use_global_stats_;
20369 }
20370 inline void BatchNormParameter::set_use_global_stats(bool value) {
20371   set_has_use_global_stats();
20372   use_global_stats_ = value;
20373   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.use_global_stats)
20374 }
20375
20376 // optional float moving_average_fraction = 2 [default = 0.999];
20377 inline bool BatchNormParameter::has_moving_average_fraction() const {
20378   return (_has_bits_[0] & 0x00000002u) != 0;
20379 }
20380 inline void BatchNormParameter::set_has_moving_average_fraction() {
20381   _has_bits_[0] |= 0x00000002u;
20382 }
20383 inline void BatchNormParameter::clear_has_moving_average_fraction() {
20384   _has_bits_[0] &= ~0x00000002u;
20385 }
20386 inline void BatchNormParameter::clear_moving_average_fraction() {
20387   moving_average_fraction_ = 0.999f;
20388   clear_has_moving_average_fraction();
20389 }
20390 inline float BatchNormParameter::moving_average_fraction() const {
20391   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.moving_average_fraction)
20392   return moving_average_fraction_;
20393 }
20394 inline void BatchNormParameter::set_moving_average_fraction(float value) {
20395   set_has_moving_average_fraction();
20396   moving_average_fraction_ = value;
20397   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.moving_average_fraction)
20398 }
20399
20400 // optional float eps = 3 [default = 1e-05];
20401 inline bool BatchNormParameter::has_eps() const {
20402   return (_has_bits_[0] & 0x00000004u) != 0;
20403 }
20404 inline void BatchNormParameter::set_has_eps() {
20405   _has_bits_[0] |= 0x00000004u;
20406 }
20407 inline void BatchNormParameter::clear_has_eps() {
20408   _has_bits_[0] &= ~0x00000004u;
20409 }
20410 inline void BatchNormParameter::clear_eps() {
20411   eps_ = 1e-05f;
20412   clear_has_eps();
20413 }
20414 inline float BatchNormParameter::eps() const {
20415   // @@protoc_insertion_point(field_get:opencv_caffe.BatchNormParameter.eps)
20416   return eps_;
20417 }
20418 inline void BatchNormParameter::set_eps(float value) {
20419   set_has_eps();
20420   eps_ = value;
20421   // @@protoc_insertion_point(field_set:opencv_caffe.BatchNormParameter.eps)
20422 }
20423
20424 inline const BatchNormParameter* BatchNormParameter::internal_default_instance() {
20425   return &BatchNormParameter_default_instance_.get();
20426 }
20427 // -------------------------------------------------------------------
20428
20429 // BiasParameter
20430
20431 // optional int32 axis = 1 [default = 1];
20432 inline bool BiasParameter::has_axis() const {
20433   return (_has_bits_[0] & 0x00000001u) != 0;
20434 }
20435 inline void BiasParameter::set_has_axis() {
20436   _has_bits_[0] |= 0x00000001u;
20437 }
20438 inline void BiasParameter::clear_has_axis() {
20439   _has_bits_[0] &= ~0x00000001u;
20440 }
20441 inline void BiasParameter::clear_axis() {
20442   axis_ = 1;
20443   clear_has_axis();
20444 }
20445 inline ::google::protobuf::int32 BiasParameter::axis() const {
20446   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.axis)
20447   return axis_;
20448 }
20449 inline void BiasParameter::set_axis(::google::protobuf::int32 value) {
20450   set_has_axis();
20451   axis_ = value;
20452   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.axis)
20453 }
20454
20455 // optional int32 num_axes = 2 [default = 1];
20456 inline bool BiasParameter::has_num_axes() const {
20457   return (_has_bits_[0] & 0x00000002u) != 0;
20458 }
20459 inline void BiasParameter::set_has_num_axes() {
20460   _has_bits_[0] |= 0x00000002u;
20461 }
20462 inline void BiasParameter::clear_has_num_axes() {
20463   _has_bits_[0] &= ~0x00000002u;
20464 }
20465 inline void BiasParameter::clear_num_axes() {
20466   num_axes_ = 1;
20467   clear_has_num_axes();
20468 }
20469 inline ::google::protobuf::int32 BiasParameter::num_axes() const {
20470   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.num_axes)
20471   return num_axes_;
20472 }
20473 inline void BiasParameter::set_num_axes(::google::protobuf::int32 value) {
20474   set_has_num_axes();
20475   num_axes_ = value;
20476   // @@protoc_insertion_point(field_set:opencv_caffe.BiasParameter.num_axes)
20477 }
20478
20479 // optional .opencv_caffe.FillerParameter filler = 3;
20480 inline bool BiasParameter::has_filler() const {
20481   return (_has_bits_[0] & 0x00000004u) != 0;
20482 }
20483 inline void BiasParameter::set_has_filler() {
20484   _has_bits_[0] |= 0x00000004u;
20485 }
20486 inline void BiasParameter::clear_has_filler() {
20487   _has_bits_[0] &= ~0x00000004u;
20488 }
20489 inline void BiasParameter::clear_filler() {
20490   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
20491   clear_has_filler();
20492 }
20493 inline const ::opencv_caffe::FillerParameter& BiasParameter::filler() const {
20494   // @@protoc_insertion_point(field_get:opencv_caffe.BiasParameter.filler)
20495   return filler_ != NULL ? *filler_
20496                          : *::opencv_caffe::FillerParameter::internal_default_instance();
20497 }
20498 inline ::opencv_caffe::FillerParameter* BiasParameter::mutable_filler() {
20499   set_has_filler();
20500   if (filler_ == NULL) {
20501     filler_ = new ::opencv_caffe::FillerParameter;
20502   }
20503   // @@protoc_insertion_point(field_mutable:opencv_caffe.BiasParameter.filler)
20504   return filler_;
20505 }
20506 inline ::opencv_caffe::FillerParameter* BiasParameter::release_filler() {
20507   // @@protoc_insertion_point(field_release:opencv_caffe.BiasParameter.filler)
20508   clear_has_filler();
20509   ::opencv_caffe::FillerParameter* temp = filler_;
20510   filler_ = NULL;
20511   return temp;
20512 }
20513 inline void BiasParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
20514   delete filler_;
20515   filler_ = filler;
20516   if (filler) {
20517     set_has_filler();
20518   } else {
20519     clear_has_filler();
20520   }
20521   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.BiasParameter.filler)
20522 }
20523
20524 inline const BiasParameter* BiasParameter::internal_default_instance() {
20525   return &BiasParameter_default_instance_.get();
20526 }
20527 // -------------------------------------------------------------------
20528
20529 // ContrastiveLossParameter
20530
20531 // optional float margin = 1 [default = 1];
20532 inline bool ContrastiveLossParameter::has_margin() const {
20533   return (_has_bits_[0] & 0x00000001u) != 0;
20534 }
20535 inline void ContrastiveLossParameter::set_has_margin() {
20536   _has_bits_[0] |= 0x00000001u;
20537 }
20538 inline void ContrastiveLossParameter::clear_has_margin() {
20539   _has_bits_[0] &= ~0x00000001u;
20540 }
20541 inline void ContrastiveLossParameter::clear_margin() {
20542   margin_ = 1;
20543   clear_has_margin();
20544 }
20545 inline float ContrastiveLossParameter::margin() const {
20546   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.margin)
20547   return margin_;
20548 }
20549 inline void ContrastiveLossParameter::set_margin(float value) {
20550   set_has_margin();
20551   margin_ = value;
20552   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.margin)
20553 }
20554
20555 // optional bool legacy_version = 2 [default = false];
20556 inline bool ContrastiveLossParameter::has_legacy_version() const {
20557   return (_has_bits_[0] & 0x00000002u) != 0;
20558 }
20559 inline void ContrastiveLossParameter::set_has_legacy_version() {
20560   _has_bits_[0] |= 0x00000002u;
20561 }
20562 inline void ContrastiveLossParameter::clear_has_legacy_version() {
20563   _has_bits_[0] &= ~0x00000002u;
20564 }
20565 inline void ContrastiveLossParameter::clear_legacy_version() {
20566   legacy_version_ = false;
20567   clear_has_legacy_version();
20568 }
20569 inline bool ContrastiveLossParameter::legacy_version() const {
20570   // @@protoc_insertion_point(field_get:opencv_caffe.ContrastiveLossParameter.legacy_version)
20571   return legacy_version_;
20572 }
20573 inline void ContrastiveLossParameter::set_legacy_version(bool value) {
20574   set_has_legacy_version();
20575   legacy_version_ = value;
20576   // @@protoc_insertion_point(field_set:opencv_caffe.ContrastiveLossParameter.legacy_version)
20577 }
20578
20579 inline const ContrastiveLossParameter* ContrastiveLossParameter::internal_default_instance() {
20580   return &ContrastiveLossParameter_default_instance_.get();
20581 }
20582 // -------------------------------------------------------------------
20583
20584 // ConvolutionParameter
20585
20586 // optional uint32 num_output = 1;
20587 inline bool ConvolutionParameter::has_num_output() const {
20588   return (_has_bits_[0] & 0x00000001u) != 0;
20589 }
20590 inline void ConvolutionParameter::set_has_num_output() {
20591   _has_bits_[0] |= 0x00000001u;
20592 }
20593 inline void ConvolutionParameter::clear_has_num_output() {
20594   _has_bits_[0] &= ~0x00000001u;
20595 }
20596 inline void ConvolutionParameter::clear_num_output() {
20597   num_output_ = 0u;
20598   clear_has_num_output();
20599 }
20600 inline ::google::protobuf::uint32 ConvolutionParameter::num_output() const {
20601   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.num_output)
20602   return num_output_;
20603 }
20604 inline void ConvolutionParameter::set_num_output(::google::protobuf::uint32 value) {
20605   set_has_num_output();
20606   num_output_ = value;
20607   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.num_output)
20608 }
20609
20610 // optional bool bias_term = 2 [default = true];
20611 inline bool ConvolutionParameter::has_bias_term() const {
20612   return (_has_bits_[0] & 0x00000002u) != 0;
20613 }
20614 inline void ConvolutionParameter::set_has_bias_term() {
20615   _has_bits_[0] |= 0x00000002u;
20616 }
20617 inline void ConvolutionParameter::clear_has_bias_term() {
20618   _has_bits_[0] &= ~0x00000002u;
20619 }
20620 inline void ConvolutionParameter::clear_bias_term() {
20621   bias_term_ = true;
20622   clear_has_bias_term();
20623 }
20624 inline bool ConvolutionParameter::bias_term() const {
20625   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_term)
20626   return bias_term_;
20627 }
20628 inline void ConvolutionParameter::set_bias_term(bool value) {
20629   set_has_bias_term();
20630   bias_term_ = value;
20631   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.bias_term)
20632 }
20633
20634 // repeated uint32 pad = 3;
20635 inline int ConvolutionParameter::pad_size() const {
20636   return pad_.size();
20637 }
20638 inline void ConvolutionParameter::clear_pad() {
20639   pad_.Clear();
20640 }
20641 inline ::google::protobuf::uint32 ConvolutionParameter::pad(int index) const {
20642   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad)
20643   return pad_.Get(index);
20644 }
20645 inline void ConvolutionParameter::set_pad(int index, ::google::protobuf::uint32 value) {
20646   pad_.Set(index, value);
20647   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad)
20648 }
20649 inline void ConvolutionParameter::add_pad(::google::protobuf::uint32 value) {
20650   pad_.Add(value);
20651   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.pad)
20652 }
20653 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20654 ConvolutionParameter::pad() const {
20655   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.pad)
20656   return pad_;
20657 }
20658 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20659 ConvolutionParameter::mutable_pad() {
20660   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.pad)
20661   return &pad_;
20662 }
20663
20664 // repeated uint32 kernel_size = 4;
20665 inline int ConvolutionParameter::kernel_size_size() const {
20666   return kernel_size_.size();
20667 }
20668 inline void ConvolutionParameter::clear_kernel_size() {
20669   kernel_size_.Clear();
20670 }
20671 inline ::google::protobuf::uint32 ConvolutionParameter::kernel_size(int index) const {
20672   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_size)
20673   return kernel_size_.Get(index);
20674 }
20675 inline void ConvolutionParameter::set_kernel_size(int index, ::google::protobuf::uint32 value) {
20676   kernel_size_.Set(index, value);
20677   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_size)
20678 }
20679 inline void ConvolutionParameter::add_kernel_size(::google::protobuf::uint32 value) {
20680   kernel_size_.Add(value);
20681   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.kernel_size)
20682 }
20683 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20684 ConvolutionParameter::kernel_size() const {
20685   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.kernel_size)
20686   return kernel_size_;
20687 }
20688 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20689 ConvolutionParameter::mutable_kernel_size() {
20690   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.kernel_size)
20691   return &kernel_size_;
20692 }
20693
20694 // repeated uint32 stride = 6;
20695 inline int ConvolutionParameter::stride_size() const {
20696   return stride_.size();
20697 }
20698 inline void ConvolutionParameter::clear_stride() {
20699   stride_.Clear();
20700 }
20701 inline ::google::protobuf::uint32 ConvolutionParameter::stride(int index) const {
20702   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride)
20703   return stride_.Get(index);
20704 }
20705 inline void ConvolutionParameter::set_stride(int index, ::google::protobuf::uint32 value) {
20706   stride_.Set(index, value);
20707   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride)
20708 }
20709 inline void ConvolutionParameter::add_stride(::google::protobuf::uint32 value) {
20710   stride_.Add(value);
20711   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.stride)
20712 }
20713 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20714 ConvolutionParameter::stride() const {
20715   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.stride)
20716   return stride_;
20717 }
20718 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20719 ConvolutionParameter::mutable_stride() {
20720   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.stride)
20721   return &stride_;
20722 }
20723
20724 // repeated uint32 dilation = 18;
20725 inline int ConvolutionParameter::dilation_size() const {
20726   return dilation_.size();
20727 }
20728 inline void ConvolutionParameter::clear_dilation() {
20729   dilation_.Clear();
20730 }
20731 inline ::google::protobuf::uint32 ConvolutionParameter::dilation(int index) const {
20732   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.dilation)
20733   return dilation_.Get(index);
20734 }
20735 inline void ConvolutionParameter::set_dilation(int index, ::google::protobuf::uint32 value) {
20736   dilation_.Set(index, value);
20737   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.dilation)
20738 }
20739 inline void ConvolutionParameter::add_dilation(::google::protobuf::uint32 value) {
20740   dilation_.Add(value);
20741   // @@protoc_insertion_point(field_add:opencv_caffe.ConvolutionParameter.dilation)
20742 }
20743 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
20744 ConvolutionParameter::dilation() const {
20745   // @@protoc_insertion_point(field_list:opencv_caffe.ConvolutionParameter.dilation)
20746   return dilation_;
20747 }
20748 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
20749 ConvolutionParameter::mutable_dilation() {
20750   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ConvolutionParameter.dilation)
20751   return &dilation_;
20752 }
20753
20754 // optional uint32 pad_h = 9 [default = 0];
20755 inline bool ConvolutionParameter::has_pad_h() const {
20756   return (_has_bits_[0] & 0x00000040u) != 0;
20757 }
20758 inline void ConvolutionParameter::set_has_pad_h() {
20759   _has_bits_[0] |= 0x00000040u;
20760 }
20761 inline void ConvolutionParameter::clear_has_pad_h() {
20762   _has_bits_[0] &= ~0x00000040u;
20763 }
20764 inline void ConvolutionParameter::clear_pad_h() {
20765   pad_h_ = 0u;
20766   clear_has_pad_h();
20767 }
20768 inline ::google::protobuf::uint32 ConvolutionParameter::pad_h() const {
20769   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_h)
20770   return pad_h_;
20771 }
20772 inline void ConvolutionParameter::set_pad_h(::google::protobuf::uint32 value) {
20773   set_has_pad_h();
20774   pad_h_ = value;
20775   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_h)
20776 }
20777
20778 // optional uint32 pad_w = 10 [default = 0];
20779 inline bool ConvolutionParameter::has_pad_w() const {
20780   return (_has_bits_[0] & 0x00000080u) != 0;
20781 }
20782 inline void ConvolutionParameter::set_has_pad_w() {
20783   _has_bits_[0] |= 0x00000080u;
20784 }
20785 inline void ConvolutionParameter::clear_has_pad_w() {
20786   _has_bits_[0] &= ~0x00000080u;
20787 }
20788 inline void ConvolutionParameter::clear_pad_w() {
20789   pad_w_ = 0u;
20790   clear_has_pad_w();
20791 }
20792 inline ::google::protobuf::uint32 ConvolutionParameter::pad_w() const {
20793   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.pad_w)
20794   return pad_w_;
20795 }
20796 inline void ConvolutionParameter::set_pad_w(::google::protobuf::uint32 value) {
20797   set_has_pad_w();
20798   pad_w_ = value;
20799   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.pad_w)
20800 }
20801
20802 // optional uint32 kernel_h = 11;
20803 inline bool ConvolutionParameter::has_kernel_h() const {
20804   return (_has_bits_[0] & 0x00000100u) != 0;
20805 }
20806 inline void ConvolutionParameter::set_has_kernel_h() {
20807   _has_bits_[0] |= 0x00000100u;
20808 }
20809 inline void ConvolutionParameter::clear_has_kernel_h() {
20810   _has_bits_[0] &= ~0x00000100u;
20811 }
20812 inline void ConvolutionParameter::clear_kernel_h() {
20813   kernel_h_ = 0u;
20814   clear_has_kernel_h();
20815 }
20816 inline ::google::protobuf::uint32 ConvolutionParameter::kernel_h() const {
20817   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_h)
20818   return kernel_h_;
20819 }
20820 inline void ConvolutionParameter::set_kernel_h(::google::protobuf::uint32 value) {
20821   set_has_kernel_h();
20822   kernel_h_ = value;
20823   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_h)
20824 }
20825
20826 // optional uint32 kernel_w = 12;
20827 inline bool ConvolutionParameter::has_kernel_w() const {
20828   return (_has_bits_[0] & 0x00000200u) != 0;
20829 }
20830 inline void ConvolutionParameter::set_has_kernel_w() {
20831   _has_bits_[0] |= 0x00000200u;
20832 }
20833 inline void ConvolutionParameter::clear_has_kernel_w() {
20834   _has_bits_[0] &= ~0x00000200u;
20835 }
20836 inline void ConvolutionParameter::clear_kernel_w() {
20837   kernel_w_ = 0u;
20838   clear_has_kernel_w();
20839 }
20840 inline ::google::protobuf::uint32 ConvolutionParameter::kernel_w() const {
20841   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.kernel_w)
20842   return kernel_w_;
20843 }
20844 inline void ConvolutionParameter::set_kernel_w(::google::protobuf::uint32 value) {
20845   set_has_kernel_w();
20846   kernel_w_ = value;
20847   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.kernel_w)
20848 }
20849
20850 // optional uint32 stride_h = 13;
20851 inline bool ConvolutionParameter::has_stride_h() const {
20852   return (_has_bits_[0] & 0x00000400u) != 0;
20853 }
20854 inline void ConvolutionParameter::set_has_stride_h() {
20855   _has_bits_[0] |= 0x00000400u;
20856 }
20857 inline void ConvolutionParameter::clear_has_stride_h() {
20858   _has_bits_[0] &= ~0x00000400u;
20859 }
20860 inline void ConvolutionParameter::clear_stride_h() {
20861   stride_h_ = 0u;
20862   clear_has_stride_h();
20863 }
20864 inline ::google::protobuf::uint32 ConvolutionParameter::stride_h() const {
20865   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_h)
20866   return stride_h_;
20867 }
20868 inline void ConvolutionParameter::set_stride_h(::google::protobuf::uint32 value) {
20869   set_has_stride_h();
20870   stride_h_ = value;
20871   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_h)
20872 }
20873
20874 // optional uint32 stride_w = 14;
20875 inline bool ConvolutionParameter::has_stride_w() const {
20876   return (_has_bits_[0] & 0x00000800u) != 0;
20877 }
20878 inline void ConvolutionParameter::set_has_stride_w() {
20879   _has_bits_[0] |= 0x00000800u;
20880 }
20881 inline void ConvolutionParameter::clear_has_stride_w() {
20882   _has_bits_[0] &= ~0x00000800u;
20883 }
20884 inline void ConvolutionParameter::clear_stride_w() {
20885   stride_w_ = 0u;
20886   clear_has_stride_w();
20887 }
20888 inline ::google::protobuf::uint32 ConvolutionParameter::stride_w() const {
20889   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.stride_w)
20890   return stride_w_;
20891 }
20892 inline void ConvolutionParameter::set_stride_w(::google::protobuf::uint32 value) {
20893   set_has_stride_w();
20894   stride_w_ = value;
20895   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.stride_w)
20896 }
20897
20898 // optional uint32 group = 5 [default = 1];
20899 inline bool ConvolutionParameter::has_group() const {
20900   return (_has_bits_[0] & 0x00001000u) != 0;
20901 }
20902 inline void ConvolutionParameter::set_has_group() {
20903   _has_bits_[0] |= 0x00001000u;
20904 }
20905 inline void ConvolutionParameter::clear_has_group() {
20906   _has_bits_[0] &= ~0x00001000u;
20907 }
20908 inline void ConvolutionParameter::clear_group() {
20909   group_ = 1u;
20910   clear_has_group();
20911 }
20912 inline ::google::protobuf::uint32 ConvolutionParameter::group() const {
20913   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.group)
20914   return group_;
20915 }
20916 inline void ConvolutionParameter::set_group(::google::protobuf::uint32 value) {
20917   set_has_group();
20918   group_ = value;
20919   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.group)
20920 }
20921
20922 // optional .opencv_caffe.FillerParameter weight_filler = 7;
20923 inline bool ConvolutionParameter::has_weight_filler() const {
20924   return (_has_bits_[0] & 0x00002000u) != 0;
20925 }
20926 inline void ConvolutionParameter::set_has_weight_filler() {
20927   _has_bits_[0] |= 0x00002000u;
20928 }
20929 inline void ConvolutionParameter::clear_has_weight_filler() {
20930   _has_bits_[0] &= ~0x00002000u;
20931 }
20932 inline void ConvolutionParameter::clear_weight_filler() {
20933   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
20934   clear_has_weight_filler();
20935 }
20936 inline const ::opencv_caffe::FillerParameter& ConvolutionParameter::weight_filler() const {
20937   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.weight_filler)
20938   return weight_filler_ != NULL ? *weight_filler_
20939                          : *::opencv_caffe::FillerParameter::internal_default_instance();
20940 }
20941 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_weight_filler() {
20942   set_has_weight_filler();
20943   if (weight_filler_ == NULL) {
20944     weight_filler_ = new ::opencv_caffe::FillerParameter;
20945   }
20946   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.weight_filler)
20947   return weight_filler_;
20948 }
20949 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::release_weight_filler() {
20950   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.weight_filler)
20951   clear_has_weight_filler();
20952   ::opencv_caffe::FillerParameter* temp = weight_filler_;
20953   weight_filler_ = NULL;
20954   return temp;
20955 }
20956 inline void ConvolutionParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
20957   delete weight_filler_;
20958   weight_filler_ = weight_filler;
20959   if (weight_filler) {
20960     set_has_weight_filler();
20961   } else {
20962     clear_has_weight_filler();
20963   }
20964   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.weight_filler)
20965 }
20966
20967 // optional .opencv_caffe.FillerParameter bias_filler = 8;
20968 inline bool ConvolutionParameter::has_bias_filler() const {
20969   return (_has_bits_[0] & 0x00004000u) != 0;
20970 }
20971 inline void ConvolutionParameter::set_has_bias_filler() {
20972   _has_bits_[0] |= 0x00004000u;
20973 }
20974 inline void ConvolutionParameter::clear_has_bias_filler() {
20975   _has_bits_[0] &= ~0x00004000u;
20976 }
20977 inline void ConvolutionParameter::clear_bias_filler() {
20978   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
20979   clear_has_bias_filler();
20980 }
20981 inline const ::opencv_caffe::FillerParameter& ConvolutionParameter::bias_filler() const {
20982   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.bias_filler)
20983   return bias_filler_ != NULL ? *bias_filler_
20984                          : *::opencv_caffe::FillerParameter::internal_default_instance();
20985 }
20986 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::mutable_bias_filler() {
20987   set_has_bias_filler();
20988   if (bias_filler_ == NULL) {
20989     bias_filler_ = new ::opencv_caffe::FillerParameter;
20990   }
20991   // @@protoc_insertion_point(field_mutable:opencv_caffe.ConvolutionParameter.bias_filler)
20992   return bias_filler_;
20993 }
20994 inline ::opencv_caffe::FillerParameter* ConvolutionParameter::release_bias_filler() {
20995   // @@protoc_insertion_point(field_release:opencv_caffe.ConvolutionParameter.bias_filler)
20996   clear_has_bias_filler();
20997   ::opencv_caffe::FillerParameter* temp = bias_filler_;
20998   bias_filler_ = NULL;
20999   return temp;
21000 }
21001 inline void ConvolutionParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
21002   delete bias_filler_;
21003   bias_filler_ = bias_filler;
21004   if (bias_filler) {
21005     set_has_bias_filler();
21006   } else {
21007     clear_has_bias_filler();
21008   }
21009   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ConvolutionParameter.bias_filler)
21010 }
21011
21012 // optional .opencv_caffe.ConvolutionParameter.Engine engine = 15 [default = DEFAULT];
21013 inline bool ConvolutionParameter::has_engine() const {
21014   return (_has_bits_[0] & 0x00008000u) != 0;
21015 }
21016 inline void ConvolutionParameter::set_has_engine() {
21017   _has_bits_[0] |= 0x00008000u;
21018 }
21019 inline void ConvolutionParameter::clear_has_engine() {
21020   _has_bits_[0] &= ~0x00008000u;
21021 }
21022 inline void ConvolutionParameter::clear_engine() {
21023   engine_ = 0;
21024   clear_has_engine();
21025 }
21026 inline ::opencv_caffe::ConvolutionParameter_Engine ConvolutionParameter::engine() const {
21027   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.engine)
21028   return static_cast< ::opencv_caffe::ConvolutionParameter_Engine >(engine_);
21029 }
21030 inline void ConvolutionParameter::set_engine(::opencv_caffe::ConvolutionParameter_Engine value) {
21031   assert(::opencv_caffe::ConvolutionParameter_Engine_IsValid(value));
21032   set_has_engine();
21033   engine_ = value;
21034   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.engine)
21035 }
21036
21037 // optional int32 axis = 16 [default = 1];
21038 inline bool ConvolutionParameter::has_axis() const {
21039   return (_has_bits_[0] & 0x00010000u) != 0;
21040 }
21041 inline void ConvolutionParameter::set_has_axis() {
21042   _has_bits_[0] |= 0x00010000u;
21043 }
21044 inline void ConvolutionParameter::clear_has_axis() {
21045   _has_bits_[0] &= ~0x00010000u;
21046 }
21047 inline void ConvolutionParameter::clear_axis() {
21048   axis_ = 1;
21049   clear_has_axis();
21050 }
21051 inline ::google::protobuf::int32 ConvolutionParameter::axis() const {
21052   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.axis)
21053   return axis_;
21054 }
21055 inline void ConvolutionParameter::set_axis(::google::protobuf::int32 value) {
21056   set_has_axis();
21057   axis_ = value;
21058   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.axis)
21059 }
21060
21061 // optional bool force_nd_im2col = 17 [default = false];
21062 inline bool ConvolutionParameter::has_force_nd_im2col() const {
21063   return (_has_bits_[0] & 0x00020000u) != 0;
21064 }
21065 inline void ConvolutionParameter::set_has_force_nd_im2col() {
21066   _has_bits_[0] |= 0x00020000u;
21067 }
21068 inline void ConvolutionParameter::clear_has_force_nd_im2col() {
21069   _has_bits_[0] &= ~0x00020000u;
21070 }
21071 inline void ConvolutionParameter::clear_force_nd_im2col() {
21072   force_nd_im2col_ = false;
21073   clear_has_force_nd_im2col();
21074 }
21075 inline bool ConvolutionParameter::force_nd_im2col() const {
21076   // @@protoc_insertion_point(field_get:opencv_caffe.ConvolutionParameter.force_nd_im2col)
21077   return force_nd_im2col_;
21078 }
21079 inline void ConvolutionParameter::set_force_nd_im2col(bool value) {
21080   set_has_force_nd_im2col();
21081   force_nd_im2col_ = value;
21082   // @@protoc_insertion_point(field_set:opencv_caffe.ConvolutionParameter.force_nd_im2col)
21083 }
21084
21085 inline const ConvolutionParameter* ConvolutionParameter::internal_default_instance() {
21086   return &ConvolutionParameter_default_instance_.get();
21087 }
21088 // -------------------------------------------------------------------
21089
21090 // CropParameter
21091
21092 // optional int32 axis = 1 [default = 2];
21093 inline bool CropParameter::has_axis() const {
21094   return (_has_bits_[0] & 0x00000001u) != 0;
21095 }
21096 inline void CropParameter::set_has_axis() {
21097   _has_bits_[0] |= 0x00000001u;
21098 }
21099 inline void CropParameter::clear_has_axis() {
21100   _has_bits_[0] &= ~0x00000001u;
21101 }
21102 inline void CropParameter::clear_axis() {
21103   axis_ = 2;
21104   clear_has_axis();
21105 }
21106 inline ::google::protobuf::int32 CropParameter::axis() const {
21107   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.axis)
21108   return axis_;
21109 }
21110 inline void CropParameter::set_axis(::google::protobuf::int32 value) {
21111   set_has_axis();
21112   axis_ = value;
21113   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.axis)
21114 }
21115
21116 // repeated uint32 offset = 2;
21117 inline int CropParameter::offset_size() const {
21118   return offset_.size();
21119 }
21120 inline void CropParameter::clear_offset() {
21121   offset_.Clear();
21122 }
21123 inline ::google::protobuf::uint32 CropParameter::offset(int index) const {
21124   // @@protoc_insertion_point(field_get:opencv_caffe.CropParameter.offset)
21125   return offset_.Get(index);
21126 }
21127 inline void CropParameter::set_offset(int index, ::google::protobuf::uint32 value) {
21128   offset_.Set(index, value);
21129   // @@protoc_insertion_point(field_set:opencv_caffe.CropParameter.offset)
21130 }
21131 inline void CropParameter::add_offset(::google::protobuf::uint32 value) {
21132   offset_.Add(value);
21133   // @@protoc_insertion_point(field_add:opencv_caffe.CropParameter.offset)
21134 }
21135 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
21136 CropParameter::offset() const {
21137   // @@protoc_insertion_point(field_list:opencv_caffe.CropParameter.offset)
21138   return offset_;
21139 }
21140 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
21141 CropParameter::mutable_offset() {
21142   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.CropParameter.offset)
21143   return &offset_;
21144 }
21145
21146 inline const CropParameter* CropParameter::internal_default_instance() {
21147   return &CropParameter_default_instance_.get();
21148 }
21149 // -------------------------------------------------------------------
21150
21151 // DataParameter
21152
21153 // optional string source = 1;
21154 inline bool DataParameter::has_source() const {
21155   return (_has_bits_[0] & 0x00000001u) != 0;
21156 }
21157 inline void DataParameter::set_has_source() {
21158   _has_bits_[0] |= 0x00000001u;
21159 }
21160 inline void DataParameter::clear_has_source() {
21161   _has_bits_[0] &= ~0x00000001u;
21162 }
21163 inline void DataParameter::clear_source() {
21164   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21165   clear_has_source();
21166 }
21167 inline const ::std::string& DataParameter::source() const {
21168   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.source)
21169   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21170 }
21171 inline void DataParameter::set_source(const ::std::string& value) {
21172   set_has_source();
21173   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21174   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.source)
21175 }
21176 inline void DataParameter::set_source(const char* value) {
21177   set_has_source();
21178   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21179   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.source)
21180 }
21181 inline void DataParameter::set_source(const char* value, size_t size) {
21182   set_has_source();
21183   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21184       ::std::string(reinterpret_cast<const char*>(value), size));
21185   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.source)
21186 }
21187 inline ::std::string* DataParameter::mutable_source() {
21188   set_has_source();
21189   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.source)
21190   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21191 }
21192 inline ::std::string* DataParameter::release_source() {
21193   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.source)
21194   clear_has_source();
21195   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21196 }
21197 inline void DataParameter::set_allocated_source(::std::string* source) {
21198   if (source != NULL) {
21199     set_has_source();
21200   } else {
21201     clear_has_source();
21202   }
21203   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
21204   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.source)
21205 }
21206
21207 // optional uint32 batch_size = 4;
21208 inline bool DataParameter::has_batch_size() const {
21209   return (_has_bits_[0] & 0x00000002u) != 0;
21210 }
21211 inline void DataParameter::set_has_batch_size() {
21212   _has_bits_[0] |= 0x00000002u;
21213 }
21214 inline void DataParameter::clear_has_batch_size() {
21215   _has_bits_[0] &= ~0x00000002u;
21216 }
21217 inline void DataParameter::clear_batch_size() {
21218   batch_size_ = 0u;
21219   clear_has_batch_size();
21220 }
21221 inline ::google::protobuf::uint32 DataParameter::batch_size() const {
21222   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.batch_size)
21223   return batch_size_;
21224 }
21225 inline void DataParameter::set_batch_size(::google::protobuf::uint32 value) {
21226   set_has_batch_size();
21227   batch_size_ = value;
21228   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.batch_size)
21229 }
21230
21231 // optional uint32 rand_skip = 7 [default = 0];
21232 inline bool DataParameter::has_rand_skip() const {
21233   return (_has_bits_[0] & 0x00000004u) != 0;
21234 }
21235 inline void DataParameter::set_has_rand_skip() {
21236   _has_bits_[0] |= 0x00000004u;
21237 }
21238 inline void DataParameter::clear_has_rand_skip() {
21239   _has_bits_[0] &= ~0x00000004u;
21240 }
21241 inline void DataParameter::clear_rand_skip() {
21242   rand_skip_ = 0u;
21243   clear_has_rand_skip();
21244 }
21245 inline ::google::protobuf::uint32 DataParameter::rand_skip() const {
21246   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.rand_skip)
21247   return rand_skip_;
21248 }
21249 inline void DataParameter::set_rand_skip(::google::protobuf::uint32 value) {
21250   set_has_rand_skip();
21251   rand_skip_ = value;
21252   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.rand_skip)
21253 }
21254
21255 // optional .opencv_caffe.DataParameter.DB backend = 8 [default = LEVELDB];
21256 inline bool DataParameter::has_backend() const {
21257   return (_has_bits_[0] & 0x00000008u) != 0;
21258 }
21259 inline void DataParameter::set_has_backend() {
21260   _has_bits_[0] |= 0x00000008u;
21261 }
21262 inline void DataParameter::clear_has_backend() {
21263   _has_bits_[0] &= ~0x00000008u;
21264 }
21265 inline void DataParameter::clear_backend() {
21266   backend_ = 0;
21267   clear_has_backend();
21268 }
21269 inline ::opencv_caffe::DataParameter_DB DataParameter::backend() const {
21270   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.backend)
21271   return static_cast< ::opencv_caffe::DataParameter_DB >(backend_);
21272 }
21273 inline void DataParameter::set_backend(::opencv_caffe::DataParameter_DB value) {
21274   assert(::opencv_caffe::DataParameter_DB_IsValid(value));
21275   set_has_backend();
21276   backend_ = value;
21277   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.backend)
21278 }
21279
21280 // optional float scale = 2 [default = 1];
21281 inline bool DataParameter::has_scale() const {
21282   return (_has_bits_[0] & 0x00000010u) != 0;
21283 }
21284 inline void DataParameter::set_has_scale() {
21285   _has_bits_[0] |= 0x00000010u;
21286 }
21287 inline void DataParameter::clear_has_scale() {
21288   _has_bits_[0] &= ~0x00000010u;
21289 }
21290 inline void DataParameter::clear_scale() {
21291   scale_ = 1;
21292   clear_has_scale();
21293 }
21294 inline float DataParameter::scale() const {
21295   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.scale)
21296   return scale_;
21297 }
21298 inline void DataParameter::set_scale(float value) {
21299   set_has_scale();
21300   scale_ = value;
21301   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.scale)
21302 }
21303
21304 // optional string mean_file = 3;
21305 inline bool DataParameter::has_mean_file() const {
21306   return (_has_bits_[0] & 0x00000020u) != 0;
21307 }
21308 inline void DataParameter::set_has_mean_file() {
21309   _has_bits_[0] |= 0x00000020u;
21310 }
21311 inline void DataParameter::clear_has_mean_file() {
21312   _has_bits_[0] &= ~0x00000020u;
21313 }
21314 inline void DataParameter::clear_mean_file() {
21315   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21316   clear_has_mean_file();
21317 }
21318 inline const ::std::string& DataParameter::mean_file() const {
21319   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mean_file)
21320   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21321 }
21322 inline void DataParameter::set_mean_file(const ::std::string& value) {
21323   set_has_mean_file();
21324   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21325   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mean_file)
21326 }
21327 inline void DataParameter::set_mean_file(const char* value) {
21328   set_has_mean_file();
21329   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21330   // @@protoc_insertion_point(field_set_char:opencv_caffe.DataParameter.mean_file)
21331 }
21332 inline void DataParameter::set_mean_file(const char* value, size_t size) {
21333   set_has_mean_file();
21334   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21335       ::std::string(reinterpret_cast<const char*>(value), size));
21336   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.DataParameter.mean_file)
21337 }
21338 inline ::std::string* DataParameter::mutable_mean_file() {
21339   set_has_mean_file();
21340   // @@protoc_insertion_point(field_mutable:opencv_caffe.DataParameter.mean_file)
21341   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21342 }
21343 inline ::std::string* DataParameter::release_mean_file() {
21344   // @@protoc_insertion_point(field_release:opencv_caffe.DataParameter.mean_file)
21345   clear_has_mean_file();
21346   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21347 }
21348 inline void DataParameter::set_allocated_mean_file(::std::string* mean_file) {
21349   if (mean_file != NULL) {
21350     set_has_mean_file();
21351   } else {
21352     clear_has_mean_file();
21353   }
21354   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
21355   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.DataParameter.mean_file)
21356 }
21357
21358 // optional uint32 crop_size = 5 [default = 0];
21359 inline bool DataParameter::has_crop_size() const {
21360   return (_has_bits_[0] & 0x00000040u) != 0;
21361 }
21362 inline void DataParameter::set_has_crop_size() {
21363   _has_bits_[0] |= 0x00000040u;
21364 }
21365 inline void DataParameter::clear_has_crop_size() {
21366   _has_bits_[0] &= ~0x00000040u;
21367 }
21368 inline void DataParameter::clear_crop_size() {
21369   crop_size_ = 0u;
21370   clear_has_crop_size();
21371 }
21372 inline ::google::protobuf::uint32 DataParameter::crop_size() const {
21373   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.crop_size)
21374   return crop_size_;
21375 }
21376 inline void DataParameter::set_crop_size(::google::protobuf::uint32 value) {
21377   set_has_crop_size();
21378   crop_size_ = value;
21379   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.crop_size)
21380 }
21381
21382 // optional bool mirror = 6 [default = false];
21383 inline bool DataParameter::has_mirror() const {
21384   return (_has_bits_[0] & 0x00000080u) != 0;
21385 }
21386 inline void DataParameter::set_has_mirror() {
21387   _has_bits_[0] |= 0x00000080u;
21388 }
21389 inline void DataParameter::clear_has_mirror() {
21390   _has_bits_[0] &= ~0x00000080u;
21391 }
21392 inline void DataParameter::clear_mirror() {
21393   mirror_ = false;
21394   clear_has_mirror();
21395 }
21396 inline bool DataParameter::mirror() const {
21397   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.mirror)
21398   return mirror_;
21399 }
21400 inline void DataParameter::set_mirror(bool value) {
21401   set_has_mirror();
21402   mirror_ = value;
21403   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.mirror)
21404 }
21405
21406 // optional bool force_encoded_color = 9 [default = false];
21407 inline bool DataParameter::has_force_encoded_color() const {
21408   return (_has_bits_[0] & 0x00000100u) != 0;
21409 }
21410 inline void DataParameter::set_has_force_encoded_color() {
21411   _has_bits_[0] |= 0x00000100u;
21412 }
21413 inline void DataParameter::clear_has_force_encoded_color() {
21414   _has_bits_[0] &= ~0x00000100u;
21415 }
21416 inline void DataParameter::clear_force_encoded_color() {
21417   force_encoded_color_ = false;
21418   clear_has_force_encoded_color();
21419 }
21420 inline bool DataParameter::force_encoded_color() const {
21421   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.force_encoded_color)
21422   return force_encoded_color_;
21423 }
21424 inline void DataParameter::set_force_encoded_color(bool value) {
21425   set_has_force_encoded_color();
21426   force_encoded_color_ = value;
21427   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.force_encoded_color)
21428 }
21429
21430 // optional uint32 prefetch = 10 [default = 4];
21431 inline bool DataParameter::has_prefetch() const {
21432   return (_has_bits_[0] & 0x00000200u) != 0;
21433 }
21434 inline void DataParameter::set_has_prefetch() {
21435   _has_bits_[0] |= 0x00000200u;
21436 }
21437 inline void DataParameter::clear_has_prefetch() {
21438   _has_bits_[0] &= ~0x00000200u;
21439 }
21440 inline void DataParameter::clear_prefetch() {
21441   prefetch_ = 4u;
21442   clear_has_prefetch();
21443 }
21444 inline ::google::protobuf::uint32 DataParameter::prefetch() const {
21445   // @@protoc_insertion_point(field_get:opencv_caffe.DataParameter.prefetch)
21446   return prefetch_;
21447 }
21448 inline void DataParameter::set_prefetch(::google::protobuf::uint32 value) {
21449   set_has_prefetch();
21450   prefetch_ = value;
21451   // @@protoc_insertion_point(field_set:opencv_caffe.DataParameter.prefetch)
21452 }
21453
21454 inline const DataParameter* DataParameter::internal_default_instance() {
21455   return &DataParameter_default_instance_.get();
21456 }
21457 // -------------------------------------------------------------------
21458
21459 // NonMaximumSuppressionParameter
21460
21461 // optional float nms_threshold = 1 [default = 0.3];
21462 inline bool NonMaximumSuppressionParameter::has_nms_threshold() const {
21463   return (_has_bits_[0] & 0x00000001u) != 0;
21464 }
21465 inline void NonMaximumSuppressionParameter::set_has_nms_threshold() {
21466   _has_bits_[0] |= 0x00000001u;
21467 }
21468 inline void NonMaximumSuppressionParameter::clear_has_nms_threshold() {
21469   _has_bits_[0] &= ~0x00000001u;
21470 }
21471 inline void NonMaximumSuppressionParameter::clear_nms_threshold() {
21472   nms_threshold_ = 0.3f;
21473   clear_has_nms_threshold();
21474 }
21475 inline float NonMaximumSuppressionParameter::nms_threshold() const {
21476   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
21477   return nms_threshold_;
21478 }
21479 inline void NonMaximumSuppressionParameter::set_nms_threshold(float value) {
21480   set_has_nms_threshold();
21481   nms_threshold_ = value;
21482   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.nms_threshold)
21483 }
21484
21485 // optional int32 top_k = 2;
21486 inline bool NonMaximumSuppressionParameter::has_top_k() const {
21487   return (_has_bits_[0] & 0x00000002u) != 0;
21488 }
21489 inline void NonMaximumSuppressionParameter::set_has_top_k() {
21490   _has_bits_[0] |= 0x00000002u;
21491 }
21492 inline void NonMaximumSuppressionParameter::clear_has_top_k() {
21493   _has_bits_[0] &= ~0x00000002u;
21494 }
21495 inline void NonMaximumSuppressionParameter::clear_top_k() {
21496   top_k_ = 0;
21497   clear_has_top_k();
21498 }
21499 inline ::google::protobuf::int32 NonMaximumSuppressionParameter::top_k() const {
21500   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.top_k)
21501   return top_k_;
21502 }
21503 inline void NonMaximumSuppressionParameter::set_top_k(::google::protobuf::int32 value) {
21504   set_has_top_k();
21505   top_k_ = value;
21506   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.top_k)
21507 }
21508
21509 // optional float eta = 3 [default = 1];
21510 inline bool NonMaximumSuppressionParameter::has_eta() const {
21511   return (_has_bits_[0] & 0x00000004u) != 0;
21512 }
21513 inline void NonMaximumSuppressionParameter::set_has_eta() {
21514   _has_bits_[0] |= 0x00000004u;
21515 }
21516 inline void NonMaximumSuppressionParameter::clear_has_eta() {
21517   _has_bits_[0] &= ~0x00000004u;
21518 }
21519 inline void NonMaximumSuppressionParameter::clear_eta() {
21520   eta_ = 1;
21521   clear_has_eta();
21522 }
21523 inline float NonMaximumSuppressionParameter::eta() const {
21524   // @@protoc_insertion_point(field_get:opencv_caffe.NonMaximumSuppressionParameter.eta)
21525   return eta_;
21526 }
21527 inline void NonMaximumSuppressionParameter::set_eta(float value) {
21528   set_has_eta();
21529   eta_ = value;
21530   // @@protoc_insertion_point(field_set:opencv_caffe.NonMaximumSuppressionParameter.eta)
21531 }
21532
21533 inline const NonMaximumSuppressionParameter* NonMaximumSuppressionParameter::internal_default_instance() {
21534   return &NonMaximumSuppressionParameter_default_instance_.get();
21535 }
21536 // -------------------------------------------------------------------
21537
21538 // SaveOutputParameter
21539
21540 // optional string output_directory = 1;
21541 inline bool SaveOutputParameter::has_output_directory() const {
21542   return (_has_bits_[0] & 0x00000001u) != 0;
21543 }
21544 inline void SaveOutputParameter::set_has_output_directory() {
21545   _has_bits_[0] |= 0x00000001u;
21546 }
21547 inline void SaveOutputParameter::clear_has_output_directory() {
21548   _has_bits_[0] &= ~0x00000001u;
21549 }
21550 inline void SaveOutputParameter::clear_output_directory() {
21551   output_directory_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21552   clear_has_output_directory();
21553 }
21554 inline const ::std::string& SaveOutputParameter::output_directory() const {
21555   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_directory)
21556   return output_directory_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21557 }
21558 inline void SaveOutputParameter::set_output_directory(const ::std::string& value) {
21559   set_has_output_directory();
21560   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21561   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_directory)
21562 }
21563 inline void SaveOutputParameter::set_output_directory(const char* value) {
21564   set_has_output_directory();
21565   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21566   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_directory)
21567 }
21568 inline void SaveOutputParameter::set_output_directory(const char* value, size_t size) {
21569   set_has_output_directory();
21570   output_directory_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21571       ::std::string(reinterpret_cast<const char*>(value), size));
21572   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_directory)
21573 }
21574 inline ::std::string* SaveOutputParameter::mutable_output_directory() {
21575   set_has_output_directory();
21576   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_directory)
21577   return output_directory_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21578 }
21579 inline ::std::string* SaveOutputParameter::release_output_directory() {
21580   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_directory)
21581   clear_has_output_directory();
21582   return output_directory_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21583 }
21584 inline void SaveOutputParameter::set_allocated_output_directory(::std::string* output_directory) {
21585   if (output_directory != NULL) {
21586     set_has_output_directory();
21587   } else {
21588     clear_has_output_directory();
21589   }
21590   output_directory_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_directory);
21591   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_directory)
21592 }
21593
21594 // optional string output_name_prefix = 2;
21595 inline bool SaveOutputParameter::has_output_name_prefix() const {
21596   return (_has_bits_[0] & 0x00000002u) != 0;
21597 }
21598 inline void SaveOutputParameter::set_has_output_name_prefix() {
21599   _has_bits_[0] |= 0x00000002u;
21600 }
21601 inline void SaveOutputParameter::clear_has_output_name_prefix() {
21602   _has_bits_[0] &= ~0x00000002u;
21603 }
21604 inline void SaveOutputParameter::clear_output_name_prefix() {
21605   output_name_prefix_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21606   clear_has_output_name_prefix();
21607 }
21608 inline const ::std::string& SaveOutputParameter::output_name_prefix() const {
21609   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_name_prefix)
21610   return output_name_prefix_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21611 }
21612 inline void SaveOutputParameter::set_output_name_prefix(const ::std::string& value) {
21613   set_has_output_name_prefix();
21614   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21615   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_name_prefix)
21616 }
21617 inline void SaveOutputParameter::set_output_name_prefix(const char* value) {
21618   set_has_output_name_prefix();
21619   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21620   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_name_prefix)
21621 }
21622 inline void SaveOutputParameter::set_output_name_prefix(const char* value, size_t size) {
21623   set_has_output_name_prefix();
21624   output_name_prefix_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21625       ::std::string(reinterpret_cast<const char*>(value), size));
21626   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_name_prefix)
21627 }
21628 inline ::std::string* SaveOutputParameter::mutable_output_name_prefix() {
21629   set_has_output_name_prefix();
21630   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_name_prefix)
21631   return output_name_prefix_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21632 }
21633 inline ::std::string* SaveOutputParameter::release_output_name_prefix() {
21634   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_name_prefix)
21635   clear_has_output_name_prefix();
21636   return output_name_prefix_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21637 }
21638 inline void SaveOutputParameter::set_allocated_output_name_prefix(::std::string* output_name_prefix) {
21639   if (output_name_prefix != NULL) {
21640     set_has_output_name_prefix();
21641   } else {
21642     clear_has_output_name_prefix();
21643   }
21644   output_name_prefix_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_name_prefix);
21645   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_name_prefix)
21646 }
21647
21648 // optional string output_format = 3;
21649 inline bool SaveOutputParameter::has_output_format() const {
21650   return (_has_bits_[0] & 0x00000004u) != 0;
21651 }
21652 inline void SaveOutputParameter::set_has_output_format() {
21653   _has_bits_[0] |= 0x00000004u;
21654 }
21655 inline void SaveOutputParameter::clear_has_output_format() {
21656   _has_bits_[0] &= ~0x00000004u;
21657 }
21658 inline void SaveOutputParameter::clear_output_format() {
21659   output_format_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21660   clear_has_output_format();
21661 }
21662 inline const ::std::string& SaveOutputParameter::output_format() const {
21663   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.output_format)
21664   return output_format_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21665 }
21666 inline void SaveOutputParameter::set_output_format(const ::std::string& value) {
21667   set_has_output_format();
21668   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21669   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.output_format)
21670 }
21671 inline void SaveOutputParameter::set_output_format(const char* value) {
21672   set_has_output_format();
21673   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21674   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.output_format)
21675 }
21676 inline void SaveOutputParameter::set_output_format(const char* value, size_t size) {
21677   set_has_output_format();
21678   output_format_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21679       ::std::string(reinterpret_cast<const char*>(value), size));
21680   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.output_format)
21681 }
21682 inline ::std::string* SaveOutputParameter::mutable_output_format() {
21683   set_has_output_format();
21684   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.output_format)
21685   return output_format_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21686 }
21687 inline ::std::string* SaveOutputParameter::release_output_format() {
21688   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.output_format)
21689   clear_has_output_format();
21690   return output_format_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21691 }
21692 inline void SaveOutputParameter::set_allocated_output_format(::std::string* output_format) {
21693   if (output_format != NULL) {
21694     set_has_output_format();
21695   } else {
21696     clear_has_output_format();
21697   }
21698   output_format_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), output_format);
21699   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.output_format)
21700 }
21701
21702 // optional string label_map_file = 4;
21703 inline bool SaveOutputParameter::has_label_map_file() const {
21704   return (_has_bits_[0] & 0x00000008u) != 0;
21705 }
21706 inline void SaveOutputParameter::set_has_label_map_file() {
21707   _has_bits_[0] |= 0x00000008u;
21708 }
21709 inline void SaveOutputParameter::clear_has_label_map_file() {
21710   _has_bits_[0] &= ~0x00000008u;
21711 }
21712 inline void SaveOutputParameter::clear_label_map_file() {
21713   label_map_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21714   clear_has_label_map_file();
21715 }
21716 inline const ::std::string& SaveOutputParameter::label_map_file() const {
21717   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.label_map_file)
21718   return label_map_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21719 }
21720 inline void SaveOutputParameter::set_label_map_file(const ::std::string& value) {
21721   set_has_label_map_file();
21722   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21723   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.label_map_file)
21724 }
21725 inline void SaveOutputParameter::set_label_map_file(const char* value) {
21726   set_has_label_map_file();
21727   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21728   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.label_map_file)
21729 }
21730 inline void SaveOutputParameter::set_label_map_file(const char* value, size_t size) {
21731   set_has_label_map_file();
21732   label_map_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21733       ::std::string(reinterpret_cast<const char*>(value), size));
21734   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.label_map_file)
21735 }
21736 inline ::std::string* SaveOutputParameter::mutable_label_map_file() {
21737   set_has_label_map_file();
21738   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.label_map_file)
21739   return label_map_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21740 }
21741 inline ::std::string* SaveOutputParameter::release_label_map_file() {
21742   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.label_map_file)
21743   clear_has_label_map_file();
21744   return label_map_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21745 }
21746 inline void SaveOutputParameter::set_allocated_label_map_file(::std::string* label_map_file) {
21747   if (label_map_file != NULL) {
21748     set_has_label_map_file();
21749   } else {
21750     clear_has_label_map_file();
21751   }
21752   label_map_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), label_map_file);
21753   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.label_map_file)
21754 }
21755
21756 // optional string name_size_file = 5;
21757 inline bool SaveOutputParameter::has_name_size_file() const {
21758   return (_has_bits_[0] & 0x00000010u) != 0;
21759 }
21760 inline void SaveOutputParameter::set_has_name_size_file() {
21761   _has_bits_[0] |= 0x00000010u;
21762 }
21763 inline void SaveOutputParameter::clear_has_name_size_file() {
21764   _has_bits_[0] &= ~0x00000010u;
21765 }
21766 inline void SaveOutputParameter::clear_name_size_file() {
21767   name_size_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21768   clear_has_name_size_file();
21769 }
21770 inline const ::std::string& SaveOutputParameter::name_size_file() const {
21771   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.name_size_file)
21772   return name_size_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21773 }
21774 inline void SaveOutputParameter::set_name_size_file(const ::std::string& value) {
21775   set_has_name_size_file();
21776   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
21777   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.name_size_file)
21778 }
21779 inline void SaveOutputParameter::set_name_size_file(const char* value) {
21780   set_has_name_size_file();
21781   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
21782   // @@protoc_insertion_point(field_set_char:opencv_caffe.SaveOutputParameter.name_size_file)
21783 }
21784 inline void SaveOutputParameter::set_name_size_file(const char* value, size_t size) {
21785   set_has_name_size_file();
21786   name_size_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
21787       ::std::string(reinterpret_cast<const char*>(value), size));
21788   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.SaveOutputParameter.name_size_file)
21789 }
21790 inline ::std::string* SaveOutputParameter::mutable_name_size_file() {
21791   set_has_name_size_file();
21792   // @@protoc_insertion_point(field_mutable:opencv_caffe.SaveOutputParameter.name_size_file)
21793   return name_size_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21794 }
21795 inline ::std::string* SaveOutputParameter::release_name_size_file() {
21796   // @@protoc_insertion_point(field_release:opencv_caffe.SaveOutputParameter.name_size_file)
21797   clear_has_name_size_file();
21798   return name_size_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
21799 }
21800 inline void SaveOutputParameter::set_allocated_name_size_file(::std::string* name_size_file) {
21801   if (name_size_file != NULL) {
21802     set_has_name_size_file();
21803   } else {
21804     clear_has_name_size_file();
21805   }
21806   name_size_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name_size_file);
21807   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.SaveOutputParameter.name_size_file)
21808 }
21809
21810 // optional uint32 num_test_image = 6;
21811 inline bool SaveOutputParameter::has_num_test_image() const {
21812   return (_has_bits_[0] & 0x00000020u) != 0;
21813 }
21814 inline void SaveOutputParameter::set_has_num_test_image() {
21815   _has_bits_[0] |= 0x00000020u;
21816 }
21817 inline void SaveOutputParameter::clear_has_num_test_image() {
21818   _has_bits_[0] &= ~0x00000020u;
21819 }
21820 inline void SaveOutputParameter::clear_num_test_image() {
21821   num_test_image_ = 0u;
21822   clear_has_num_test_image();
21823 }
21824 inline ::google::protobuf::uint32 SaveOutputParameter::num_test_image() const {
21825   // @@protoc_insertion_point(field_get:opencv_caffe.SaveOutputParameter.num_test_image)
21826   return num_test_image_;
21827 }
21828 inline void SaveOutputParameter::set_num_test_image(::google::protobuf::uint32 value) {
21829   set_has_num_test_image();
21830   num_test_image_ = value;
21831   // @@protoc_insertion_point(field_set:opencv_caffe.SaveOutputParameter.num_test_image)
21832 }
21833
21834 inline const SaveOutputParameter* SaveOutputParameter::internal_default_instance() {
21835   return &SaveOutputParameter_default_instance_.get();
21836 }
21837 // -------------------------------------------------------------------
21838
21839 // DropoutParameter
21840
21841 // optional float dropout_ratio = 1 [default = 0.5];
21842 inline bool DropoutParameter::has_dropout_ratio() const {
21843   return (_has_bits_[0] & 0x00000001u) != 0;
21844 }
21845 inline void DropoutParameter::set_has_dropout_ratio() {
21846   _has_bits_[0] |= 0x00000001u;
21847 }
21848 inline void DropoutParameter::clear_has_dropout_ratio() {
21849   _has_bits_[0] &= ~0x00000001u;
21850 }
21851 inline void DropoutParameter::clear_dropout_ratio() {
21852   dropout_ratio_ = 0.5f;
21853   clear_has_dropout_ratio();
21854 }
21855 inline float DropoutParameter::dropout_ratio() const {
21856   // @@protoc_insertion_point(field_get:opencv_caffe.DropoutParameter.dropout_ratio)
21857   return dropout_ratio_;
21858 }
21859 inline void DropoutParameter::set_dropout_ratio(float value) {
21860   set_has_dropout_ratio();
21861   dropout_ratio_ = value;
21862   // @@protoc_insertion_point(field_set:opencv_caffe.DropoutParameter.dropout_ratio)
21863 }
21864
21865 // optional bool scale_train = 2 [default = true];
21866 inline bool DropoutParameter::has_scale_train() const {
21867   return (_has_bits_[0] & 0x00000002u) != 0;
21868 }
21869 inline void DropoutParameter::set_has_scale_train() {
21870   _has_bits_[0] |= 0x00000002u;
21871 }
21872 inline void DropoutParameter::clear_has_scale_train() {
21873   _has_bits_[0] &= ~0x00000002u;
21874 }
21875 inline void DropoutParameter::clear_scale_train() {
21876   scale_train_ = true;
21877   clear_has_scale_train();
21878 }
21879 inline bool DropoutParameter::scale_train() const {
21880   // @@protoc_insertion_point(field_get:opencv_caffe.DropoutParameter.scale_train)
21881   return scale_train_;
21882 }
21883 inline void DropoutParameter::set_scale_train(bool value) {
21884   set_has_scale_train();
21885   scale_train_ = value;
21886   // @@protoc_insertion_point(field_set:opencv_caffe.DropoutParameter.scale_train)
21887 }
21888
21889 inline const DropoutParameter* DropoutParameter::internal_default_instance() {
21890   return &DropoutParameter_default_instance_.get();
21891 }
21892 // -------------------------------------------------------------------
21893
21894 // DummyDataParameter
21895
21896 // repeated .opencv_caffe.FillerParameter data_filler = 1;
21897 inline int DummyDataParameter::data_filler_size() const {
21898   return data_filler_.size();
21899 }
21900 inline void DummyDataParameter::clear_data_filler() {
21901   data_filler_.Clear();
21902 }
21903 inline const ::opencv_caffe::FillerParameter& DummyDataParameter::data_filler(int index) const {
21904   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.data_filler)
21905   return data_filler_.Get(index);
21906 }
21907 inline ::opencv_caffe::FillerParameter* DummyDataParameter::mutable_data_filler(int index) {
21908   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.data_filler)
21909   return data_filler_.Mutable(index);
21910 }
21911 inline ::opencv_caffe::FillerParameter* DummyDataParameter::add_data_filler() {
21912   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.data_filler)
21913   return data_filler_.Add();
21914 }
21915 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >*
21916 DummyDataParameter::mutable_data_filler() {
21917   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.data_filler)
21918   return &data_filler_;
21919 }
21920 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::FillerParameter >&
21921 DummyDataParameter::data_filler() const {
21922   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.data_filler)
21923   return data_filler_;
21924 }
21925
21926 // repeated .opencv_caffe.BlobShape shape = 6;
21927 inline int DummyDataParameter::shape_size() const {
21928   return shape_.size();
21929 }
21930 inline void DummyDataParameter::clear_shape() {
21931   shape_.Clear();
21932 }
21933 inline const ::opencv_caffe::BlobShape& DummyDataParameter::shape(int index) const {
21934   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.shape)
21935   return shape_.Get(index);
21936 }
21937 inline ::opencv_caffe::BlobShape* DummyDataParameter::mutable_shape(int index) {
21938   // @@protoc_insertion_point(field_mutable:opencv_caffe.DummyDataParameter.shape)
21939   return shape_.Mutable(index);
21940 }
21941 inline ::opencv_caffe::BlobShape* DummyDataParameter::add_shape() {
21942   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.shape)
21943   return shape_.Add();
21944 }
21945 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
21946 DummyDataParameter::mutable_shape() {
21947   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.shape)
21948   return &shape_;
21949 }
21950 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
21951 DummyDataParameter::shape() const {
21952   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.shape)
21953   return shape_;
21954 }
21955
21956 // repeated uint32 num = 2;
21957 inline int DummyDataParameter::num_size() const {
21958   return num_.size();
21959 }
21960 inline void DummyDataParameter::clear_num() {
21961   num_.Clear();
21962 }
21963 inline ::google::protobuf::uint32 DummyDataParameter::num(int index) const {
21964   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.num)
21965   return num_.Get(index);
21966 }
21967 inline void DummyDataParameter::set_num(int index, ::google::protobuf::uint32 value) {
21968   num_.Set(index, value);
21969   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.num)
21970 }
21971 inline void DummyDataParameter::add_num(::google::protobuf::uint32 value) {
21972   num_.Add(value);
21973   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.num)
21974 }
21975 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
21976 DummyDataParameter::num() const {
21977   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.num)
21978   return num_;
21979 }
21980 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
21981 DummyDataParameter::mutable_num() {
21982   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.num)
21983   return &num_;
21984 }
21985
21986 // repeated uint32 channels = 3;
21987 inline int DummyDataParameter::channels_size() const {
21988   return channels_.size();
21989 }
21990 inline void DummyDataParameter::clear_channels() {
21991   channels_.Clear();
21992 }
21993 inline ::google::protobuf::uint32 DummyDataParameter::channels(int index) const {
21994   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.channels)
21995   return channels_.Get(index);
21996 }
21997 inline void DummyDataParameter::set_channels(int index, ::google::protobuf::uint32 value) {
21998   channels_.Set(index, value);
21999   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.channels)
22000 }
22001 inline void DummyDataParameter::add_channels(::google::protobuf::uint32 value) {
22002   channels_.Add(value);
22003   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.channels)
22004 }
22005 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
22006 DummyDataParameter::channels() const {
22007   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.channels)
22008   return channels_;
22009 }
22010 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
22011 DummyDataParameter::mutable_channels() {
22012   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.channels)
22013   return &channels_;
22014 }
22015
22016 // repeated uint32 height = 4;
22017 inline int DummyDataParameter::height_size() const {
22018   return height_.size();
22019 }
22020 inline void DummyDataParameter::clear_height() {
22021   height_.Clear();
22022 }
22023 inline ::google::protobuf::uint32 DummyDataParameter::height(int index) const {
22024   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.height)
22025   return height_.Get(index);
22026 }
22027 inline void DummyDataParameter::set_height(int index, ::google::protobuf::uint32 value) {
22028   height_.Set(index, value);
22029   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.height)
22030 }
22031 inline void DummyDataParameter::add_height(::google::protobuf::uint32 value) {
22032   height_.Add(value);
22033   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.height)
22034 }
22035 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
22036 DummyDataParameter::height() const {
22037   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.height)
22038   return height_;
22039 }
22040 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
22041 DummyDataParameter::mutable_height() {
22042   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.height)
22043   return &height_;
22044 }
22045
22046 // repeated uint32 width = 5;
22047 inline int DummyDataParameter::width_size() const {
22048   return width_.size();
22049 }
22050 inline void DummyDataParameter::clear_width() {
22051   width_.Clear();
22052 }
22053 inline ::google::protobuf::uint32 DummyDataParameter::width(int index) const {
22054   // @@protoc_insertion_point(field_get:opencv_caffe.DummyDataParameter.width)
22055   return width_.Get(index);
22056 }
22057 inline void DummyDataParameter::set_width(int index, ::google::protobuf::uint32 value) {
22058   width_.Set(index, value);
22059   // @@protoc_insertion_point(field_set:opencv_caffe.DummyDataParameter.width)
22060 }
22061 inline void DummyDataParameter::add_width(::google::protobuf::uint32 value) {
22062   width_.Add(value);
22063   // @@protoc_insertion_point(field_add:opencv_caffe.DummyDataParameter.width)
22064 }
22065 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
22066 DummyDataParameter::width() const {
22067   // @@protoc_insertion_point(field_list:opencv_caffe.DummyDataParameter.width)
22068   return width_;
22069 }
22070 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
22071 DummyDataParameter::mutable_width() {
22072   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.DummyDataParameter.width)
22073   return &width_;
22074 }
22075
22076 inline const DummyDataParameter* DummyDataParameter::internal_default_instance() {
22077   return &DummyDataParameter_default_instance_.get();
22078 }
22079 // -------------------------------------------------------------------
22080
22081 // EltwiseParameter
22082
22083 // optional .opencv_caffe.EltwiseParameter.EltwiseOp operation = 1 [default = SUM];
22084 inline bool EltwiseParameter::has_operation() const {
22085   return (_has_bits_[0] & 0x00000001u) != 0;
22086 }
22087 inline void EltwiseParameter::set_has_operation() {
22088   _has_bits_[0] |= 0x00000001u;
22089 }
22090 inline void EltwiseParameter::clear_has_operation() {
22091   _has_bits_[0] &= ~0x00000001u;
22092 }
22093 inline void EltwiseParameter::clear_operation() {
22094   operation_ = 1;
22095   clear_has_operation();
22096 }
22097 inline ::opencv_caffe::EltwiseParameter_EltwiseOp EltwiseParameter::operation() const {
22098   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.operation)
22099   return static_cast< ::opencv_caffe::EltwiseParameter_EltwiseOp >(operation_);
22100 }
22101 inline void EltwiseParameter::set_operation(::opencv_caffe::EltwiseParameter_EltwiseOp value) {
22102   assert(::opencv_caffe::EltwiseParameter_EltwiseOp_IsValid(value));
22103   set_has_operation();
22104   operation_ = value;
22105   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.operation)
22106 }
22107
22108 // repeated float coeff = 2;
22109 inline int EltwiseParameter::coeff_size() const {
22110   return coeff_.size();
22111 }
22112 inline void EltwiseParameter::clear_coeff() {
22113   coeff_.Clear();
22114 }
22115 inline float EltwiseParameter::coeff(int index) const {
22116   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.coeff)
22117   return coeff_.Get(index);
22118 }
22119 inline void EltwiseParameter::set_coeff(int index, float value) {
22120   coeff_.Set(index, value);
22121   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.coeff)
22122 }
22123 inline void EltwiseParameter::add_coeff(float value) {
22124   coeff_.Add(value);
22125   // @@protoc_insertion_point(field_add:opencv_caffe.EltwiseParameter.coeff)
22126 }
22127 inline const ::google::protobuf::RepeatedField< float >&
22128 EltwiseParameter::coeff() const {
22129   // @@protoc_insertion_point(field_list:opencv_caffe.EltwiseParameter.coeff)
22130   return coeff_;
22131 }
22132 inline ::google::protobuf::RepeatedField< float >*
22133 EltwiseParameter::mutable_coeff() {
22134   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.EltwiseParameter.coeff)
22135   return &coeff_;
22136 }
22137
22138 // optional bool stable_prod_grad = 3 [default = true];
22139 inline bool EltwiseParameter::has_stable_prod_grad() const {
22140   return (_has_bits_[0] & 0x00000004u) != 0;
22141 }
22142 inline void EltwiseParameter::set_has_stable_prod_grad() {
22143   _has_bits_[0] |= 0x00000004u;
22144 }
22145 inline void EltwiseParameter::clear_has_stable_prod_grad() {
22146   _has_bits_[0] &= ~0x00000004u;
22147 }
22148 inline void EltwiseParameter::clear_stable_prod_grad() {
22149   stable_prod_grad_ = true;
22150   clear_has_stable_prod_grad();
22151 }
22152 inline bool EltwiseParameter::stable_prod_grad() const {
22153   // @@protoc_insertion_point(field_get:opencv_caffe.EltwiseParameter.stable_prod_grad)
22154   return stable_prod_grad_;
22155 }
22156 inline void EltwiseParameter::set_stable_prod_grad(bool value) {
22157   set_has_stable_prod_grad();
22158   stable_prod_grad_ = value;
22159   // @@protoc_insertion_point(field_set:opencv_caffe.EltwiseParameter.stable_prod_grad)
22160 }
22161
22162 inline const EltwiseParameter* EltwiseParameter::internal_default_instance() {
22163   return &EltwiseParameter_default_instance_.get();
22164 }
22165 // -------------------------------------------------------------------
22166
22167 // ELUParameter
22168
22169 // optional float alpha = 1 [default = 1];
22170 inline bool ELUParameter::has_alpha() const {
22171   return (_has_bits_[0] & 0x00000001u) != 0;
22172 }
22173 inline void ELUParameter::set_has_alpha() {
22174   _has_bits_[0] |= 0x00000001u;
22175 }
22176 inline void ELUParameter::clear_has_alpha() {
22177   _has_bits_[0] &= ~0x00000001u;
22178 }
22179 inline void ELUParameter::clear_alpha() {
22180   alpha_ = 1;
22181   clear_has_alpha();
22182 }
22183 inline float ELUParameter::alpha() const {
22184   // @@protoc_insertion_point(field_get:opencv_caffe.ELUParameter.alpha)
22185   return alpha_;
22186 }
22187 inline void ELUParameter::set_alpha(float value) {
22188   set_has_alpha();
22189   alpha_ = value;
22190   // @@protoc_insertion_point(field_set:opencv_caffe.ELUParameter.alpha)
22191 }
22192
22193 inline const ELUParameter* ELUParameter::internal_default_instance() {
22194   return &ELUParameter_default_instance_.get();
22195 }
22196 // -------------------------------------------------------------------
22197
22198 // EmbedParameter
22199
22200 // optional uint32 num_output = 1;
22201 inline bool EmbedParameter::has_num_output() const {
22202   return (_has_bits_[0] & 0x00000001u) != 0;
22203 }
22204 inline void EmbedParameter::set_has_num_output() {
22205   _has_bits_[0] |= 0x00000001u;
22206 }
22207 inline void EmbedParameter::clear_has_num_output() {
22208   _has_bits_[0] &= ~0x00000001u;
22209 }
22210 inline void EmbedParameter::clear_num_output() {
22211   num_output_ = 0u;
22212   clear_has_num_output();
22213 }
22214 inline ::google::protobuf::uint32 EmbedParameter::num_output() const {
22215   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.num_output)
22216   return num_output_;
22217 }
22218 inline void EmbedParameter::set_num_output(::google::protobuf::uint32 value) {
22219   set_has_num_output();
22220   num_output_ = value;
22221   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.num_output)
22222 }
22223
22224 // optional uint32 input_dim = 2;
22225 inline bool EmbedParameter::has_input_dim() const {
22226   return (_has_bits_[0] & 0x00000002u) != 0;
22227 }
22228 inline void EmbedParameter::set_has_input_dim() {
22229   _has_bits_[0] |= 0x00000002u;
22230 }
22231 inline void EmbedParameter::clear_has_input_dim() {
22232   _has_bits_[0] &= ~0x00000002u;
22233 }
22234 inline void EmbedParameter::clear_input_dim() {
22235   input_dim_ = 0u;
22236   clear_has_input_dim();
22237 }
22238 inline ::google::protobuf::uint32 EmbedParameter::input_dim() const {
22239   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.input_dim)
22240   return input_dim_;
22241 }
22242 inline void EmbedParameter::set_input_dim(::google::protobuf::uint32 value) {
22243   set_has_input_dim();
22244   input_dim_ = value;
22245   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.input_dim)
22246 }
22247
22248 // optional bool bias_term = 3 [default = true];
22249 inline bool EmbedParameter::has_bias_term() const {
22250   return (_has_bits_[0] & 0x00000004u) != 0;
22251 }
22252 inline void EmbedParameter::set_has_bias_term() {
22253   _has_bits_[0] |= 0x00000004u;
22254 }
22255 inline void EmbedParameter::clear_has_bias_term() {
22256   _has_bits_[0] &= ~0x00000004u;
22257 }
22258 inline void EmbedParameter::clear_bias_term() {
22259   bias_term_ = true;
22260   clear_has_bias_term();
22261 }
22262 inline bool EmbedParameter::bias_term() const {
22263   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_term)
22264   return bias_term_;
22265 }
22266 inline void EmbedParameter::set_bias_term(bool value) {
22267   set_has_bias_term();
22268   bias_term_ = value;
22269   // @@protoc_insertion_point(field_set:opencv_caffe.EmbedParameter.bias_term)
22270 }
22271
22272 // optional .opencv_caffe.FillerParameter weight_filler = 4;
22273 inline bool EmbedParameter::has_weight_filler() const {
22274   return (_has_bits_[0] & 0x00000008u) != 0;
22275 }
22276 inline void EmbedParameter::set_has_weight_filler() {
22277   _has_bits_[0] |= 0x00000008u;
22278 }
22279 inline void EmbedParameter::clear_has_weight_filler() {
22280   _has_bits_[0] &= ~0x00000008u;
22281 }
22282 inline void EmbedParameter::clear_weight_filler() {
22283   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
22284   clear_has_weight_filler();
22285 }
22286 inline const ::opencv_caffe::FillerParameter& EmbedParameter::weight_filler() const {
22287   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.weight_filler)
22288   return weight_filler_ != NULL ? *weight_filler_
22289                          : *::opencv_caffe::FillerParameter::internal_default_instance();
22290 }
22291 inline ::opencv_caffe::FillerParameter* EmbedParameter::mutable_weight_filler() {
22292   set_has_weight_filler();
22293   if (weight_filler_ == NULL) {
22294     weight_filler_ = new ::opencv_caffe::FillerParameter;
22295   }
22296   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.weight_filler)
22297   return weight_filler_;
22298 }
22299 inline ::opencv_caffe::FillerParameter* EmbedParameter::release_weight_filler() {
22300   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.weight_filler)
22301   clear_has_weight_filler();
22302   ::opencv_caffe::FillerParameter* temp = weight_filler_;
22303   weight_filler_ = NULL;
22304   return temp;
22305 }
22306 inline void EmbedParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
22307   delete weight_filler_;
22308   weight_filler_ = weight_filler;
22309   if (weight_filler) {
22310     set_has_weight_filler();
22311   } else {
22312     clear_has_weight_filler();
22313   }
22314   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.weight_filler)
22315 }
22316
22317 // optional .opencv_caffe.FillerParameter bias_filler = 5;
22318 inline bool EmbedParameter::has_bias_filler() const {
22319   return (_has_bits_[0] & 0x00000010u) != 0;
22320 }
22321 inline void EmbedParameter::set_has_bias_filler() {
22322   _has_bits_[0] |= 0x00000010u;
22323 }
22324 inline void EmbedParameter::clear_has_bias_filler() {
22325   _has_bits_[0] &= ~0x00000010u;
22326 }
22327 inline void EmbedParameter::clear_bias_filler() {
22328   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
22329   clear_has_bias_filler();
22330 }
22331 inline const ::opencv_caffe::FillerParameter& EmbedParameter::bias_filler() const {
22332   // @@protoc_insertion_point(field_get:opencv_caffe.EmbedParameter.bias_filler)
22333   return bias_filler_ != NULL ? *bias_filler_
22334                          : *::opencv_caffe::FillerParameter::internal_default_instance();
22335 }
22336 inline ::opencv_caffe::FillerParameter* EmbedParameter::mutable_bias_filler() {
22337   set_has_bias_filler();
22338   if (bias_filler_ == NULL) {
22339     bias_filler_ = new ::opencv_caffe::FillerParameter;
22340   }
22341   // @@protoc_insertion_point(field_mutable:opencv_caffe.EmbedParameter.bias_filler)
22342   return bias_filler_;
22343 }
22344 inline ::opencv_caffe::FillerParameter* EmbedParameter::release_bias_filler() {
22345   // @@protoc_insertion_point(field_release:opencv_caffe.EmbedParameter.bias_filler)
22346   clear_has_bias_filler();
22347   ::opencv_caffe::FillerParameter* temp = bias_filler_;
22348   bias_filler_ = NULL;
22349   return temp;
22350 }
22351 inline void EmbedParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
22352   delete bias_filler_;
22353   bias_filler_ = bias_filler;
22354   if (bias_filler) {
22355     set_has_bias_filler();
22356   } else {
22357     clear_has_bias_filler();
22358   }
22359   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.EmbedParameter.bias_filler)
22360 }
22361
22362 inline const EmbedParameter* EmbedParameter::internal_default_instance() {
22363   return &EmbedParameter_default_instance_.get();
22364 }
22365 // -------------------------------------------------------------------
22366
22367 // ExpParameter
22368
22369 // optional float base = 1 [default = -1];
22370 inline bool ExpParameter::has_base() const {
22371   return (_has_bits_[0] & 0x00000001u) != 0;
22372 }
22373 inline void ExpParameter::set_has_base() {
22374   _has_bits_[0] |= 0x00000001u;
22375 }
22376 inline void ExpParameter::clear_has_base() {
22377   _has_bits_[0] &= ~0x00000001u;
22378 }
22379 inline void ExpParameter::clear_base() {
22380   base_ = -1;
22381   clear_has_base();
22382 }
22383 inline float ExpParameter::base() const {
22384   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.base)
22385   return base_;
22386 }
22387 inline void ExpParameter::set_base(float value) {
22388   set_has_base();
22389   base_ = value;
22390   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.base)
22391 }
22392
22393 // optional float scale = 2 [default = 1];
22394 inline bool ExpParameter::has_scale() const {
22395   return (_has_bits_[0] & 0x00000002u) != 0;
22396 }
22397 inline void ExpParameter::set_has_scale() {
22398   _has_bits_[0] |= 0x00000002u;
22399 }
22400 inline void ExpParameter::clear_has_scale() {
22401   _has_bits_[0] &= ~0x00000002u;
22402 }
22403 inline void ExpParameter::clear_scale() {
22404   scale_ = 1;
22405   clear_has_scale();
22406 }
22407 inline float ExpParameter::scale() const {
22408   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.scale)
22409   return scale_;
22410 }
22411 inline void ExpParameter::set_scale(float value) {
22412   set_has_scale();
22413   scale_ = value;
22414   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.scale)
22415 }
22416
22417 // optional float shift = 3 [default = 0];
22418 inline bool ExpParameter::has_shift() const {
22419   return (_has_bits_[0] & 0x00000004u) != 0;
22420 }
22421 inline void ExpParameter::set_has_shift() {
22422   _has_bits_[0] |= 0x00000004u;
22423 }
22424 inline void ExpParameter::clear_has_shift() {
22425   _has_bits_[0] &= ~0x00000004u;
22426 }
22427 inline void ExpParameter::clear_shift() {
22428   shift_ = 0;
22429   clear_has_shift();
22430 }
22431 inline float ExpParameter::shift() const {
22432   // @@protoc_insertion_point(field_get:opencv_caffe.ExpParameter.shift)
22433   return shift_;
22434 }
22435 inline void ExpParameter::set_shift(float value) {
22436   set_has_shift();
22437   shift_ = value;
22438   // @@protoc_insertion_point(field_set:opencv_caffe.ExpParameter.shift)
22439 }
22440
22441 inline const ExpParameter* ExpParameter::internal_default_instance() {
22442   return &ExpParameter_default_instance_.get();
22443 }
22444 // -------------------------------------------------------------------
22445
22446 // FlattenParameter
22447
22448 // optional int32 axis = 1 [default = 1];
22449 inline bool FlattenParameter::has_axis() const {
22450   return (_has_bits_[0] & 0x00000001u) != 0;
22451 }
22452 inline void FlattenParameter::set_has_axis() {
22453   _has_bits_[0] |= 0x00000001u;
22454 }
22455 inline void FlattenParameter::clear_has_axis() {
22456   _has_bits_[0] &= ~0x00000001u;
22457 }
22458 inline void FlattenParameter::clear_axis() {
22459   axis_ = 1;
22460   clear_has_axis();
22461 }
22462 inline ::google::protobuf::int32 FlattenParameter::axis() const {
22463   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.axis)
22464   return axis_;
22465 }
22466 inline void FlattenParameter::set_axis(::google::protobuf::int32 value) {
22467   set_has_axis();
22468   axis_ = value;
22469   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.axis)
22470 }
22471
22472 // optional int32 end_axis = 2 [default = -1];
22473 inline bool FlattenParameter::has_end_axis() const {
22474   return (_has_bits_[0] & 0x00000002u) != 0;
22475 }
22476 inline void FlattenParameter::set_has_end_axis() {
22477   _has_bits_[0] |= 0x00000002u;
22478 }
22479 inline void FlattenParameter::clear_has_end_axis() {
22480   _has_bits_[0] &= ~0x00000002u;
22481 }
22482 inline void FlattenParameter::clear_end_axis() {
22483   end_axis_ = -1;
22484   clear_has_end_axis();
22485 }
22486 inline ::google::protobuf::int32 FlattenParameter::end_axis() const {
22487   // @@protoc_insertion_point(field_get:opencv_caffe.FlattenParameter.end_axis)
22488   return end_axis_;
22489 }
22490 inline void FlattenParameter::set_end_axis(::google::protobuf::int32 value) {
22491   set_has_end_axis();
22492   end_axis_ = value;
22493   // @@protoc_insertion_point(field_set:opencv_caffe.FlattenParameter.end_axis)
22494 }
22495
22496 inline const FlattenParameter* FlattenParameter::internal_default_instance() {
22497   return &FlattenParameter_default_instance_.get();
22498 }
22499 // -------------------------------------------------------------------
22500
22501 // HDF5DataParameter
22502
22503 // optional string source = 1;
22504 inline bool HDF5DataParameter::has_source() const {
22505   return (_has_bits_[0] & 0x00000001u) != 0;
22506 }
22507 inline void HDF5DataParameter::set_has_source() {
22508   _has_bits_[0] |= 0x00000001u;
22509 }
22510 inline void HDF5DataParameter::clear_has_source() {
22511   _has_bits_[0] &= ~0x00000001u;
22512 }
22513 inline void HDF5DataParameter::clear_source() {
22514   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22515   clear_has_source();
22516 }
22517 inline const ::std::string& HDF5DataParameter::source() const {
22518   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.source)
22519   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22520 }
22521 inline void HDF5DataParameter::set_source(const ::std::string& value) {
22522   set_has_source();
22523   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22524   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.source)
22525 }
22526 inline void HDF5DataParameter::set_source(const char* value) {
22527   set_has_source();
22528   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22529   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5DataParameter.source)
22530 }
22531 inline void HDF5DataParameter::set_source(const char* value, size_t size) {
22532   set_has_source();
22533   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22534       ::std::string(reinterpret_cast<const char*>(value), size));
22535   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5DataParameter.source)
22536 }
22537 inline ::std::string* HDF5DataParameter::mutable_source() {
22538   set_has_source();
22539   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5DataParameter.source)
22540   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22541 }
22542 inline ::std::string* HDF5DataParameter::release_source() {
22543   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5DataParameter.source)
22544   clear_has_source();
22545   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22546 }
22547 inline void HDF5DataParameter::set_allocated_source(::std::string* source) {
22548   if (source != NULL) {
22549     set_has_source();
22550   } else {
22551     clear_has_source();
22552   }
22553   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
22554   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5DataParameter.source)
22555 }
22556
22557 // optional uint32 batch_size = 2;
22558 inline bool HDF5DataParameter::has_batch_size() const {
22559   return (_has_bits_[0] & 0x00000002u) != 0;
22560 }
22561 inline void HDF5DataParameter::set_has_batch_size() {
22562   _has_bits_[0] |= 0x00000002u;
22563 }
22564 inline void HDF5DataParameter::clear_has_batch_size() {
22565   _has_bits_[0] &= ~0x00000002u;
22566 }
22567 inline void HDF5DataParameter::clear_batch_size() {
22568   batch_size_ = 0u;
22569   clear_has_batch_size();
22570 }
22571 inline ::google::protobuf::uint32 HDF5DataParameter::batch_size() const {
22572   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.batch_size)
22573   return batch_size_;
22574 }
22575 inline void HDF5DataParameter::set_batch_size(::google::protobuf::uint32 value) {
22576   set_has_batch_size();
22577   batch_size_ = value;
22578   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.batch_size)
22579 }
22580
22581 // optional bool shuffle = 3 [default = false];
22582 inline bool HDF5DataParameter::has_shuffle() const {
22583   return (_has_bits_[0] & 0x00000004u) != 0;
22584 }
22585 inline void HDF5DataParameter::set_has_shuffle() {
22586   _has_bits_[0] |= 0x00000004u;
22587 }
22588 inline void HDF5DataParameter::clear_has_shuffle() {
22589   _has_bits_[0] &= ~0x00000004u;
22590 }
22591 inline void HDF5DataParameter::clear_shuffle() {
22592   shuffle_ = false;
22593   clear_has_shuffle();
22594 }
22595 inline bool HDF5DataParameter::shuffle() const {
22596   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5DataParameter.shuffle)
22597   return shuffle_;
22598 }
22599 inline void HDF5DataParameter::set_shuffle(bool value) {
22600   set_has_shuffle();
22601   shuffle_ = value;
22602   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5DataParameter.shuffle)
22603 }
22604
22605 inline const HDF5DataParameter* HDF5DataParameter::internal_default_instance() {
22606   return &HDF5DataParameter_default_instance_.get();
22607 }
22608 // -------------------------------------------------------------------
22609
22610 // HDF5OutputParameter
22611
22612 // optional string file_name = 1;
22613 inline bool HDF5OutputParameter::has_file_name() const {
22614   return (_has_bits_[0] & 0x00000001u) != 0;
22615 }
22616 inline void HDF5OutputParameter::set_has_file_name() {
22617   _has_bits_[0] |= 0x00000001u;
22618 }
22619 inline void HDF5OutputParameter::clear_has_file_name() {
22620   _has_bits_[0] &= ~0x00000001u;
22621 }
22622 inline void HDF5OutputParameter::clear_file_name() {
22623   file_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22624   clear_has_file_name();
22625 }
22626 inline const ::std::string& HDF5OutputParameter::file_name() const {
22627   // @@protoc_insertion_point(field_get:opencv_caffe.HDF5OutputParameter.file_name)
22628   return file_name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22629 }
22630 inline void HDF5OutputParameter::set_file_name(const ::std::string& value) {
22631   set_has_file_name();
22632   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22633   // @@protoc_insertion_point(field_set:opencv_caffe.HDF5OutputParameter.file_name)
22634 }
22635 inline void HDF5OutputParameter::set_file_name(const char* value) {
22636   set_has_file_name();
22637   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22638   // @@protoc_insertion_point(field_set_char:opencv_caffe.HDF5OutputParameter.file_name)
22639 }
22640 inline void HDF5OutputParameter::set_file_name(const char* value, size_t size) {
22641   set_has_file_name();
22642   file_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22643       ::std::string(reinterpret_cast<const char*>(value), size));
22644   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.HDF5OutputParameter.file_name)
22645 }
22646 inline ::std::string* HDF5OutputParameter::mutable_file_name() {
22647   set_has_file_name();
22648   // @@protoc_insertion_point(field_mutable:opencv_caffe.HDF5OutputParameter.file_name)
22649   return file_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22650 }
22651 inline ::std::string* HDF5OutputParameter::release_file_name() {
22652   // @@protoc_insertion_point(field_release:opencv_caffe.HDF5OutputParameter.file_name)
22653   clear_has_file_name();
22654   return file_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22655 }
22656 inline void HDF5OutputParameter::set_allocated_file_name(::std::string* file_name) {
22657   if (file_name != NULL) {
22658     set_has_file_name();
22659   } else {
22660     clear_has_file_name();
22661   }
22662   file_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), file_name);
22663   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.HDF5OutputParameter.file_name)
22664 }
22665
22666 inline const HDF5OutputParameter* HDF5OutputParameter::internal_default_instance() {
22667   return &HDF5OutputParameter_default_instance_.get();
22668 }
22669 // -------------------------------------------------------------------
22670
22671 // HingeLossParameter
22672
22673 // optional .opencv_caffe.HingeLossParameter.Norm norm = 1 [default = L1];
22674 inline bool HingeLossParameter::has_norm() const {
22675   return (_has_bits_[0] & 0x00000001u) != 0;
22676 }
22677 inline void HingeLossParameter::set_has_norm() {
22678   _has_bits_[0] |= 0x00000001u;
22679 }
22680 inline void HingeLossParameter::clear_has_norm() {
22681   _has_bits_[0] &= ~0x00000001u;
22682 }
22683 inline void HingeLossParameter::clear_norm() {
22684   norm_ = 1;
22685   clear_has_norm();
22686 }
22687 inline ::opencv_caffe::HingeLossParameter_Norm HingeLossParameter::norm() const {
22688   // @@protoc_insertion_point(field_get:opencv_caffe.HingeLossParameter.norm)
22689   return static_cast< ::opencv_caffe::HingeLossParameter_Norm >(norm_);
22690 }
22691 inline void HingeLossParameter::set_norm(::opencv_caffe::HingeLossParameter_Norm value) {
22692   assert(::opencv_caffe::HingeLossParameter_Norm_IsValid(value));
22693   set_has_norm();
22694   norm_ = value;
22695   // @@protoc_insertion_point(field_set:opencv_caffe.HingeLossParameter.norm)
22696 }
22697
22698 inline const HingeLossParameter* HingeLossParameter::internal_default_instance() {
22699   return &HingeLossParameter_default_instance_.get();
22700 }
22701 // -------------------------------------------------------------------
22702
22703 // ImageDataParameter
22704
22705 // optional string source = 1;
22706 inline bool ImageDataParameter::has_source() const {
22707   return (_has_bits_[0] & 0x00000001u) != 0;
22708 }
22709 inline void ImageDataParameter::set_has_source() {
22710   _has_bits_[0] |= 0x00000001u;
22711 }
22712 inline void ImageDataParameter::clear_has_source() {
22713   _has_bits_[0] &= ~0x00000001u;
22714 }
22715 inline void ImageDataParameter::clear_source() {
22716   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22717   clear_has_source();
22718 }
22719 inline const ::std::string& ImageDataParameter::source() const {
22720   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.source)
22721   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22722 }
22723 inline void ImageDataParameter::set_source(const ::std::string& value) {
22724   set_has_source();
22725   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22726   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.source)
22727 }
22728 inline void ImageDataParameter::set_source(const char* value) {
22729   set_has_source();
22730   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22731   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.source)
22732 }
22733 inline void ImageDataParameter::set_source(const char* value, size_t size) {
22734   set_has_source();
22735   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22736       ::std::string(reinterpret_cast<const char*>(value), size));
22737   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.source)
22738 }
22739 inline ::std::string* ImageDataParameter::mutable_source() {
22740   set_has_source();
22741   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.source)
22742   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22743 }
22744 inline ::std::string* ImageDataParameter::release_source() {
22745   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.source)
22746   clear_has_source();
22747   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22748 }
22749 inline void ImageDataParameter::set_allocated_source(::std::string* source) {
22750   if (source != NULL) {
22751     set_has_source();
22752   } else {
22753     clear_has_source();
22754   }
22755   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
22756   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.source)
22757 }
22758
22759 // optional uint32 batch_size = 4 [default = 1];
22760 inline bool ImageDataParameter::has_batch_size() const {
22761   return (_has_bits_[0] & 0x00000002u) != 0;
22762 }
22763 inline void ImageDataParameter::set_has_batch_size() {
22764   _has_bits_[0] |= 0x00000002u;
22765 }
22766 inline void ImageDataParameter::clear_has_batch_size() {
22767   _has_bits_[0] &= ~0x00000002u;
22768 }
22769 inline void ImageDataParameter::clear_batch_size() {
22770   batch_size_ = 1u;
22771   clear_has_batch_size();
22772 }
22773 inline ::google::protobuf::uint32 ImageDataParameter::batch_size() const {
22774   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.batch_size)
22775   return batch_size_;
22776 }
22777 inline void ImageDataParameter::set_batch_size(::google::protobuf::uint32 value) {
22778   set_has_batch_size();
22779   batch_size_ = value;
22780   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.batch_size)
22781 }
22782
22783 // optional uint32 rand_skip = 7 [default = 0];
22784 inline bool ImageDataParameter::has_rand_skip() const {
22785   return (_has_bits_[0] & 0x00000004u) != 0;
22786 }
22787 inline void ImageDataParameter::set_has_rand_skip() {
22788   _has_bits_[0] |= 0x00000004u;
22789 }
22790 inline void ImageDataParameter::clear_has_rand_skip() {
22791   _has_bits_[0] &= ~0x00000004u;
22792 }
22793 inline void ImageDataParameter::clear_rand_skip() {
22794   rand_skip_ = 0u;
22795   clear_has_rand_skip();
22796 }
22797 inline ::google::protobuf::uint32 ImageDataParameter::rand_skip() const {
22798   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.rand_skip)
22799   return rand_skip_;
22800 }
22801 inline void ImageDataParameter::set_rand_skip(::google::protobuf::uint32 value) {
22802   set_has_rand_skip();
22803   rand_skip_ = value;
22804   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.rand_skip)
22805 }
22806
22807 // optional bool shuffle = 8 [default = false];
22808 inline bool ImageDataParameter::has_shuffle() const {
22809   return (_has_bits_[0] & 0x00000008u) != 0;
22810 }
22811 inline void ImageDataParameter::set_has_shuffle() {
22812   _has_bits_[0] |= 0x00000008u;
22813 }
22814 inline void ImageDataParameter::clear_has_shuffle() {
22815   _has_bits_[0] &= ~0x00000008u;
22816 }
22817 inline void ImageDataParameter::clear_shuffle() {
22818   shuffle_ = false;
22819   clear_has_shuffle();
22820 }
22821 inline bool ImageDataParameter::shuffle() const {
22822   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.shuffle)
22823   return shuffle_;
22824 }
22825 inline void ImageDataParameter::set_shuffle(bool value) {
22826   set_has_shuffle();
22827   shuffle_ = value;
22828   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.shuffle)
22829 }
22830
22831 // optional uint32 new_height = 9 [default = 0];
22832 inline bool ImageDataParameter::has_new_height() const {
22833   return (_has_bits_[0] & 0x00000010u) != 0;
22834 }
22835 inline void ImageDataParameter::set_has_new_height() {
22836   _has_bits_[0] |= 0x00000010u;
22837 }
22838 inline void ImageDataParameter::clear_has_new_height() {
22839   _has_bits_[0] &= ~0x00000010u;
22840 }
22841 inline void ImageDataParameter::clear_new_height() {
22842   new_height_ = 0u;
22843   clear_has_new_height();
22844 }
22845 inline ::google::protobuf::uint32 ImageDataParameter::new_height() const {
22846   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_height)
22847   return new_height_;
22848 }
22849 inline void ImageDataParameter::set_new_height(::google::protobuf::uint32 value) {
22850   set_has_new_height();
22851   new_height_ = value;
22852   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_height)
22853 }
22854
22855 // optional uint32 new_width = 10 [default = 0];
22856 inline bool ImageDataParameter::has_new_width() const {
22857   return (_has_bits_[0] & 0x00000020u) != 0;
22858 }
22859 inline void ImageDataParameter::set_has_new_width() {
22860   _has_bits_[0] |= 0x00000020u;
22861 }
22862 inline void ImageDataParameter::clear_has_new_width() {
22863   _has_bits_[0] &= ~0x00000020u;
22864 }
22865 inline void ImageDataParameter::clear_new_width() {
22866   new_width_ = 0u;
22867   clear_has_new_width();
22868 }
22869 inline ::google::protobuf::uint32 ImageDataParameter::new_width() const {
22870   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.new_width)
22871   return new_width_;
22872 }
22873 inline void ImageDataParameter::set_new_width(::google::protobuf::uint32 value) {
22874   set_has_new_width();
22875   new_width_ = value;
22876   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.new_width)
22877 }
22878
22879 // optional bool is_color = 11 [default = true];
22880 inline bool ImageDataParameter::has_is_color() const {
22881   return (_has_bits_[0] & 0x00000040u) != 0;
22882 }
22883 inline void ImageDataParameter::set_has_is_color() {
22884   _has_bits_[0] |= 0x00000040u;
22885 }
22886 inline void ImageDataParameter::clear_has_is_color() {
22887   _has_bits_[0] &= ~0x00000040u;
22888 }
22889 inline void ImageDataParameter::clear_is_color() {
22890   is_color_ = true;
22891   clear_has_is_color();
22892 }
22893 inline bool ImageDataParameter::is_color() const {
22894   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.is_color)
22895   return is_color_;
22896 }
22897 inline void ImageDataParameter::set_is_color(bool value) {
22898   set_has_is_color();
22899   is_color_ = value;
22900   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.is_color)
22901 }
22902
22903 // optional float scale = 2 [default = 1];
22904 inline bool ImageDataParameter::has_scale() const {
22905   return (_has_bits_[0] & 0x00000080u) != 0;
22906 }
22907 inline void ImageDataParameter::set_has_scale() {
22908   _has_bits_[0] |= 0x00000080u;
22909 }
22910 inline void ImageDataParameter::clear_has_scale() {
22911   _has_bits_[0] &= ~0x00000080u;
22912 }
22913 inline void ImageDataParameter::clear_scale() {
22914   scale_ = 1;
22915   clear_has_scale();
22916 }
22917 inline float ImageDataParameter::scale() const {
22918   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.scale)
22919   return scale_;
22920 }
22921 inline void ImageDataParameter::set_scale(float value) {
22922   set_has_scale();
22923   scale_ = value;
22924   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.scale)
22925 }
22926
22927 // optional string mean_file = 3;
22928 inline bool ImageDataParameter::has_mean_file() const {
22929   return (_has_bits_[0] & 0x00000100u) != 0;
22930 }
22931 inline void ImageDataParameter::set_has_mean_file() {
22932   _has_bits_[0] |= 0x00000100u;
22933 }
22934 inline void ImageDataParameter::clear_has_mean_file() {
22935   _has_bits_[0] &= ~0x00000100u;
22936 }
22937 inline void ImageDataParameter::clear_mean_file() {
22938   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22939   clear_has_mean_file();
22940 }
22941 inline const ::std::string& ImageDataParameter::mean_file() const {
22942   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mean_file)
22943   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22944 }
22945 inline void ImageDataParameter::set_mean_file(const ::std::string& value) {
22946   set_has_mean_file();
22947   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
22948   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mean_file)
22949 }
22950 inline void ImageDataParameter::set_mean_file(const char* value) {
22951   set_has_mean_file();
22952   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
22953   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.mean_file)
22954 }
22955 inline void ImageDataParameter::set_mean_file(const char* value, size_t size) {
22956   set_has_mean_file();
22957   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
22958       ::std::string(reinterpret_cast<const char*>(value), size));
22959   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.mean_file)
22960 }
22961 inline ::std::string* ImageDataParameter::mutable_mean_file() {
22962   set_has_mean_file();
22963   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.mean_file)
22964   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22965 }
22966 inline ::std::string* ImageDataParameter::release_mean_file() {
22967   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.mean_file)
22968   clear_has_mean_file();
22969   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
22970 }
22971 inline void ImageDataParameter::set_allocated_mean_file(::std::string* mean_file) {
22972   if (mean_file != NULL) {
22973     set_has_mean_file();
22974   } else {
22975     clear_has_mean_file();
22976   }
22977   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
22978   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.mean_file)
22979 }
22980
22981 // optional uint32 crop_size = 5 [default = 0];
22982 inline bool ImageDataParameter::has_crop_size() const {
22983   return (_has_bits_[0] & 0x00000200u) != 0;
22984 }
22985 inline void ImageDataParameter::set_has_crop_size() {
22986   _has_bits_[0] |= 0x00000200u;
22987 }
22988 inline void ImageDataParameter::clear_has_crop_size() {
22989   _has_bits_[0] &= ~0x00000200u;
22990 }
22991 inline void ImageDataParameter::clear_crop_size() {
22992   crop_size_ = 0u;
22993   clear_has_crop_size();
22994 }
22995 inline ::google::protobuf::uint32 ImageDataParameter::crop_size() const {
22996   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.crop_size)
22997   return crop_size_;
22998 }
22999 inline void ImageDataParameter::set_crop_size(::google::protobuf::uint32 value) {
23000   set_has_crop_size();
23001   crop_size_ = value;
23002   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.crop_size)
23003 }
23004
23005 // optional bool mirror = 6 [default = false];
23006 inline bool ImageDataParameter::has_mirror() const {
23007   return (_has_bits_[0] & 0x00000400u) != 0;
23008 }
23009 inline void ImageDataParameter::set_has_mirror() {
23010   _has_bits_[0] |= 0x00000400u;
23011 }
23012 inline void ImageDataParameter::clear_has_mirror() {
23013   _has_bits_[0] &= ~0x00000400u;
23014 }
23015 inline void ImageDataParameter::clear_mirror() {
23016   mirror_ = false;
23017   clear_has_mirror();
23018 }
23019 inline bool ImageDataParameter::mirror() const {
23020   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.mirror)
23021   return mirror_;
23022 }
23023 inline void ImageDataParameter::set_mirror(bool value) {
23024   set_has_mirror();
23025   mirror_ = value;
23026   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.mirror)
23027 }
23028
23029 // optional string root_folder = 12 [default = ""];
23030 inline bool ImageDataParameter::has_root_folder() const {
23031   return (_has_bits_[0] & 0x00000800u) != 0;
23032 }
23033 inline void ImageDataParameter::set_has_root_folder() {
23034   _has_bits_[0] |= 0x00000800u;
23035 }
23036 inline void ImageDataParameter::clear_has_root_folder() {
23037   _has_bits_[0] &= ~0x00000800u;
23038 }
23039 inline void ImageDataParameter::clear_root_folder() {
23040   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23041   clear_has_root_folder();
23042 }
23043 inline const ::std::string& ImageDataParameter::root_folder() const {
23044   // @@protoc_insertion_point(field_get:opencv_caffe.ImageDataParameter.root_folder)
23045   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23046 }
23047 inline void ImageDataParameter::set_root_folder(const ::std::string& value) {
23048   set_has_root_folder();
23049   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
23050   // @@protoc_insertion_point(field_set:opencv_caffe.ImageDataParameter.root_folder)
23051 }
23052 inline void ImageDataParameter::set_root_folder(const char* value) {
23053   set_has_root_folder();
23054   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
23055   // @@protoc_insertion_point(field_set_char:opencv_caffe.ImageDataParameter.root_folder)
23056 }
23057 inline void ImageDataParameter::set_root_folder(const char* value, size_t size) {
23058   set_has_root_folder();
23059   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
23060       ::std::string(reinterpret_cast<const char*>(value), size));
23061   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.ImageDataParameter.root_folder)
23062 }
23063 inline ::std::string* ImageDataParameter::mutable_root_folder() {
23064   set_has_root_folder();
23065   // @@protoc_insertion_point(field_mutable:opencv_caffe.ImageDataParameter.root_folder)
23066   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23067 }
23068 inline ::std::string* ImageDataParameter::release_root_folder() {
23069   // @@protoc_insertion_point(field_release:opencv_caffe.ImageDataParameter.root_folder)
23070   clear_has_root_folder();
23071   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23072 }
23073 inline void ImageDataParameter::set_allocated_root_folder(::std::string* root_folder) {
23074   if (root_folder != NULL) {
23075     set_has_root_folder();
23076   } else {
23077     clear_has_root_folder();
23078   }
23079   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
23080   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ImageDataParameter.root_folder)
23081 }
23082
23083 inline const ImageDataParameter* ImageDataParameter::internal_default_instance() {
23084   return &ImageDataParameter_default_instance_.get();
23085 }
23086 // -------------------------------------------------------------------
23087
23088 // InfogainLossParameter
23089
23090 // optional string source = 1;
23091 inline bool InfogainLossParameter::has_source() const {
23092   return (_has_bits_[0] & 0x00000001u) != 0;
23093 }
23094 inline void InfogainLossParameter::set_has_source() {
23095   _has_bits_[0] |= 0x00000001u;
23096 }
23097 inline void InfogainLossParameter::clear_has_source() {
23098   _has_bits_[0] &= ~0x00000001u;
23099 }
23100 inline void InfogainLossParameter::clear_source() {
23101   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23102   clear_has_source();
23103 }
23104 inline const ::std::string& InfogainLossParameter::source() const {
23105   // @@protoc_insertion_point(field_get:opencv_caffe.InfogainLossParameter.source)
23106   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23107 }
23108 inline void InfogainLossParameter::set_source(const ::std::string& value) {
23109   set_has_source();
23110   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
23111   // @@protoc_insertion_point(field_set:opencv_caffe.InfogainLossParameter.source)
23112 }
23113 inline void InfogainLossParameter::set_source(const char* value) {
23114   set_has_source();
23115   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
23116   // @@protoc_insertion_point(field_set_char:opencv_caffe.InfogainLossParameter.source)
23117 }
23118 inline void InfogainLossParameter::set_source(const char* value, size_t size) {
23119   set_has_source();
23120   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
23121       ::std::string(reinterpret_cast<const char*>(value), size));
23122   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.InfogainLossParameter.source)
23123 }
23124 inline ::std::string* InfogainLossParameter::mutable_source() {
23125   set_has_source();
23126   // @@protoc_insertion_point(field_mutable:opencv_caffe.InfogainLossParameter.source)
23127   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23128 }
23129 inline ::std::string* InfogainLossParameter::release_source() {
23130   // @@protoc_insertion_point(field_release:opencv_caffe.InfogainLossParameter.source)
23131   clear_has_source();
23132   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
23133 }
23134 inline void InfogainLossParameter::set_allocated_source(::std::string* source) {
23135   if (source != NULL) {
23136     set_has_source();
23137   } else {
23138     clear_has_source();
23139   }
23140   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
23141   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InfogainLossParameter.source)
23142 }
23143
23144 inline const InfogainLossParameter* InfogainLossParameter::internal_default_instance() {
23145   return &InfogainLossParameter_default_instance_.get();
23146 }
23147 // -------------------------------------------------------------------
23148
23149 // InnerProductParameter
23150
23151 // optional uint32 num_output = 1;
23152 inline bool InnerProductParameter::has_num_output() const {
23153   return (_has_bits_[0] & 0x00000001u) != 0;
23154 }
23155 inline void InnerProductParameter::set_has_num_output() {
23156   _has_bits_[0] |= 0x00000001u;
23157 }
23158 inline void InnerProductParameter::clear_has_num_output() {
23159   _has_bits_[0] &= ~0x00000001u;
23160 }
23161 inline void InnerProductParameter::clear_num_output() {
23162   num_output_ = 0u;
23163   clear_has_num_output();
23164 }
23165 inline ::google::protobuf::uint32 InnerProductParameter::num_output() const {
23166   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.num_output)
23167   return num_output_;
23168 }
23169 inline void InnerProductParameter::set_num_output(::google::protobuf::uint32 value) {
23170   set_has_num_output();
23171   num_output_ = value;
23172   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.num_output)
23173 }
23174
23175 // optional bool bias_term = 2 [default = true];
23176 inline bool InnerProductParameter::has_bias_term() const {
23177   return (_has_bits_[0] & 0x00000002u) != 0;
23178 }
23179 inline void InnerProductParameter::set_has_bias_term() {
23180   _has_bits_[0] |= 0x00000002u;
23181 }
23182 inline void InnerProductParameter::clear_has_bias_term() {
23183   _has_bits_[0] &= ~0x00000002u;
23184 }
23185 inline void InnerProductParameter::clear_bias_term() {
23186   bias_term_ = true;
23187   clear_has_bias_term();
23188 }
23189 inline bool InnerProductParameter::bias_term() const {
23190   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_term)
23191   return bias_term_;
23192 }
23193 inline void InnerProductParameter::set_bias_term(bool value) {
23194   set_has_bias_term();
23195   bias_term_ = value;
23196   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.bias_term)
23197 }
23198
23199 // optional .opencv_caffe.FillerParameter weight_filler = 3;
23200 inline bool InnerProductParameter::has_weight_filler() const {
23201   return (_has_bits_[0] & 0x00000004u) != 0;
23202 }
23203 inline void InnerProductParameter::set_has_weight_filler() {
23204   _has_bits_[0] |= 0x00000004u;
23205 }
23206 inline void InnerProductParameter::clear_has_weight_filler() {
23207   _has_bits_[0] &= ~0x00000004u;
23208 }
23209 inline void InnerProductParameter::clear_weight_filler() {
23210   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
23211   clear_has_weight_filler();
23212 }
23213 inline const ::opencv_caffe::FillerParameter& InnerProductParameter::weight_filler() const {
23214   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.weight_filler)
23215   return weight_filler_ != NULL ? *weight_filler_
23216                          : *::opencv_caffe::FillerParameter::internal_default_instance();
23217 }
23218 inline ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_weight_filler() {
23219   set_has_weight_filler();
23220   if (weight_filler_ == NULL) {
23221     weight_filler_ = new ::opencv_caffe::FillerParameter;
23222   }
23223   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.weight_filler)
23224   return weight_filler_;
23225 }
23226 inline ::opencv_caffe::FillerParameter* InnerProductParameter::release_weight_filler() {
23227   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.weight_filler)
23228   clear_has_weight_filler();
23229   ::opencv_caffe::FillerParameter* temp = weight_filler_;
23230   weight_filler_ = NULL;
23231   return temp;
23232 }
23233 inline void InnerProductParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
23234   delete weight_filler_;
23235   weight_filler_ = weight_filler;
23236   if (weight_filler) {
23237     set_has_weight_filler();
23238   } else {
23239     clear_has_weight_filler();
23240   }
23241   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.weight_filler)
23242 }
23243
23244 // optional .opencv_caffe.FillerParameter bias_filler = 4;
23245 inline bool InnerProductParameter::has_bias_filler() const {
23246   return (_has_bits_[0] & 0x00000008u) != 0;
23247 }
23248 inline void InnerProductParameter::set_has_bias_filler() {
23249   _has_bits_[0] |= 0x00000008u;
23250 }
23251 inline void InnerProductParameter::clear_has_bias_filler() {
23252   _has_bits_[0] &= ~0x00000008u;
23253 }
23254 inline void InnerProductParameter::clear_bias_filler() {
23255   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
23256   clear_has_bias_filler();
23257 }
23258 inline const ::opencv_caffe::FillerParameter& InnerProductParameter::bias_filler() const {
23259   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.bias_filler)
23260   return bias_filler_ != NULL ? *bias_filler_
23261                          : *::opencv_caffe::FillerParameter::internal_default_instance();
23262 }
23263 inline ::opencv_caffe::FillerParameter* InnerProductParameter::mutable_bias_filler() {
23264   set_has_bias_filler();
23265   if (bias_filler_ == NULL) {
23266     bias_filler_ = new ::opencv_caffe::FillerParameter;
23267   }
23268   // @@protoc_insertion_point(field_mutable:opencv_caffe.InnerProductParameter.bias_filler)
23269   return bias_filler_;
23270 }
23271 inline ::opencv_caffe::FillerParameter* InnerProductParameter::release_bias_filler() {
23272   // @@protoc_insertion_point(field_release:opencv_caffe.InnerProductParameter.bias_filler)
23273   clear_has_bias_filler();
23274   ::opencv_caffe::FillerParameter* temp = bias_filler_;
23275   bias_filler_ = NULL;
23276   return temp;
23277 }
23278 inline void InnerProductParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
23279   delete bias_filler_;
23280   bias_filler_ = bias_filler;
23281   if (bias_filler) {
23282     set_has_bias_filler();
23283   } else {
23284     clear_has_bias_filler();
23285   }
23286   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.InnerProductParameter.bias_filler)
23287 }
23288
23289 // optional int32 axis = 5 [default = 1];
23290 inline bool InnerProductParameter::has_axis() const {
23291   return (_has_bits_[0] & 0x00000010u) != 0;
23292 }
23293 inline void InnerProductParameter::set_has_axis() {
23294   _has_bits_[0] |= 0x00000010u;
23295 }
23296 inline void InnerProductParameter::clear_has_axis() {
23297   _has_bits_[0] &= ~0x00000010u;
23298 }
23299 inline void InnerProductParameter::clear_axis() {
23300   axis_ = 1;
23301   clear_has_axis();
23302 }
23303 inline ::google::protobuf::int32 InnerProductParameter::axis() const {
23304   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.axis)
23305   return axis_;
23306 }
23307 inline void InnerProductParameter::set_axis(::google::protobuf::int32 value) {
23308   set_has_axis();
23309   axis_ = value;
23310   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.axis)
23311 }
23312
23313 // optional bool transpose = 6 [default = false];
23314 inline bool InnerProductParameter::has_transpose() const {
23315   return (_has_bits_[0] & 0x00000020u) != 0;
23316 }
23317 inline void InnerProductParameter::set_has_transpose() {
23318   _has_bits_[0] |= 0x00000020u;
23319 }
23320 inline void InnerProductParameter::clear_has_transpose() {
23321   _has_bits_[0] &= ~0x00000020u;
23322 }
23323 inline void InnerProductParameter::clear_transpose() {
23324   transpose_ = false;
23325   clear_has_transpose();
23326 }
23327 inline bool InnerProductParameter::transpose() const {
23328   // @@protoc_insertion_point(field_get:opencv_caffe.InnerProductParameter.transpose)
23329   return transpose_;
23330 }
23331 inline void InnerProductParameter::set_transpose(bool value) {
23332   set_has_transpose();
23333   transpose_ = value;
23334   // @@protoc_insertion_point(field_set:opencv_caffe.InnerProductParameter.transpose)
23335 }
23336
23337 inline const InnerProductParameter* InnerProductParameter::internal_default_instance() {
23338   return &InnerProductParameter_default_instance_.get();
23339 }
23340 // -------------------------------------------------------------------
23341
23342 // InputParameter
23343
23344 // repeated .opencv_caffe.BlobShape shape = 1;
23345 inline int InputParameter::shape_size() const {
23346   return shape_.size();
23347 }
23348 inline void InputParameter::clear_shape() {
23349   shape_.Clear();
23350 }
23351 inline const ::opencv_caffe::BlobShape& InputParameter::shape(int index) const {
23352   // @@protoc_insertion_point(field_get:opencv_caffe.InputParameter.shape)
23353   return shape_.Get(index);
23354 }
23355 inline ::opencv_caffe::BlobShape* InputParameter::mutable_shape(int index) {
23356   // @@protoc_insertion_point(field_mutable:opencv_caffe.InputParameter.shape)
23357   return shape_.Mutable(index);
23358 }
23359 inline ::opencv_caffe::BlobShape* InputParameter::add_shape() {
23360   // @@protoc_insertion_point(field_add:opencv_caffe.InputParameter.shape)
23361   return shape_.Add();
23362 }
23363 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >*
23364 InputParameter::mutable_shape() {
23365   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.InputParameter.shape)
23366   return &shape_;
23367 }
23368 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobShape >&
23369 InputParameter::shape() const {
23370   // @@protoc_insertion_point(field_list:opencv_caffe.InputParameter.shape)
23371   return shape_;
23372 }
23373
23374 inline const InputParameter* InputParameter::internal_default_instance() {
23375   return &InputParameter_default_instance_.get();
23376 }
23377 // -------------------------------------------------------------------
23378
23379 // LogParameter
23380
23381 // optional float base = 1 [default = -1];
23382 inline bool LogParameter::has_base() const {
23383   return (_has_bits_[0] & 0x00000001u) != 0;
23384 }
23385 inline void LogParameter::set_has_base() {
23386   _has_bits_[0] |= 0x00000001u;
23387 }
23388 inline void LogParameter::clear_has_base() {
23389   _has_bits_[0] &= ~0x00000001u;
23390 }
23391 inline void LogParameter::clear_base() {
23392   base_ = -1;
23393   clear_has_base();
23394 }
23395 inline float LogParameter::base() const {
23396   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.base)
23397   return base_;
23398 }
23399 inline void LogParameter::set_base(float value) {
23400   set_has_base();
23401   base_ = value;
23402   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.base)
23403 }
23404
23405 // optional float scale = 2 [default = 1];
23406 inline bool LogParameter::has_scale() const {
23407   return (_has_bits_[0] & 0x00000002u) != 0;
23408 }
23409 inline void LogParameter::set_has_scale() {
23410   _has_bits_[0] |= 0x00000002u;
23411 }
23412 inline void LogParameter::clear_has_scale() {
23413   _has_bits_[0] &= ~0x00000002u;
23414 }
23415 inline void LogParameter::clear_scale() {
23416   scale_ = 1;
23417   clear_has_scale();
23418 }
23419 inline float LogParameter::scale() const {
23420   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.scale)
23421   return scale_;
23422 }
23423 inline void LogParameter::set_scale(float value) {
23424   set_has_scale();
23425   scale_ = value;
23426   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.scale)
23427 }
23428
23429 // optional float shift = 3 [default = 0];
23430 inline bool LogParameter::has_shift() const {
23431   return (_has_bits_[0] & 0x00000004u) != 0;
23432 }
23433 inline void LogParameter::set_has_shift() {
23434   _has_bits_[0] |= 0x00000004u;
23435 }
23436 inline void LogParameter::clear_has_shift() {
23437   _has_bits_[0] &= ~0x00000004u;
23438 }
23439 inline void LogParameter::clear_shift() {
23440   shift_ = 0;
23441   clear_has_shift();
23442 }
23443 inline float LogParameter::shift() const {
23444   // @@protoc_insertion_point(field_get:opencv_caffe.LogParameter.shift)
23445   return shift_;
23446 }
23447 inline void LogParameter::set_shift(float value) {
23448   set_has_shift();
23449   shift_ = value;
23450   // @@protoc_insertion_point(field_set:opencv_caffe.LogParameter.shift)
23451 }
23452
23453 inline const LogParameter* LogParameter::internal_default_instance() {
23454   return &LogParameter_default_instance_.get();
23455 }
23456 // -------------------------------------------------------------------
23457
23458 // LRNParameter
23459
23460 // optional uint32 local_size = 1 [default = 5];
23461 inline bool LRNParameter::has_local_size() const {
23462   return (_has_bits_[0] & 0x00000001u) != 0;
23463 }
23464 inline void LRNParameter::set_has_local_size() {
23465   _has_bits_[0] |= 0x00000001u;
23466 }
23467 inline void LRNParameter::clear_has_local_size() {
23468   _has_bits_[0] &= ~0x00000001u;
23469 }
23470 inline void LRNParameter::clear_local_size() {
23471   local_size_ = 5u;
23472   clear_has_local_size();
23473 }
23474 inline ::google::protobuf::uint32 LRNParameter::local_size() const {
23475   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.local_size)
23476   return local_size_;
23477 }
23478 inline void LRNParameter::set_local_size(::google::protobuf::uint32 value) {
23479   set_has_local_size();
23480   local_size_ = value;
23481   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.local_size)
23482 }
23483
23484 // optional float alpha = 2 [default = 1];
23485 inline bool LRNParameter::has_alpha() const {
23486   return (_has_bits_[0] & 0x00000002u) != 0;
23487 }
23488 inline void LRNParameter::set_has_alpha() {
23489   _has_bits_[0] |= 0x00000002u;
23490 }
23491 inline void LRNParameter::clear_has_alpha() {
23492   _has_bits_[0] &= ~0x00000002u;
23493 }
23494 inline void LRNParameter::clear_alpha() {
23495   alpha_ = 1;
23496   clear_has_alpha();
23497 }
23498 inline float LRNParameter::alpha() const {
23499   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.alpha)
23500   return alpha_;
23501 }
23502 inline void LRNParameter::set_alpha(float value) {
23503   set_has_alpha();
23504   alpha_ = value;
23505   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.alpha)
23506 }
23507
23508 // optional float beta = 3 [default = 0.75];
23509 inline bool LRNParameter::has_beta() const {
23510   return (_has_bits_[0] & 0x00000004u) != 0;
23511 }
23512 inline void LRNParameter::set_has_beta() {
23513   _has_bits_[0] |= 0x00000004u;
23514 }
23515 inline void LRNParameter::clear_has_beta() {
23516   _has_bits_[0] &= ~0x00000004u;
23517 }
23518 inline void LRNParameter::clear_beta() {
23519   beta_ = 0.75f;
23520   clear_has_beta();
23521 }
23522 inline float LRNParameter::beta() const {
23523   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.beta)
23524   return beta_;
23525 }
23526 inline void LRNParameter::set_beta(float value) {
23527   set_has_beta();
23528   beta_ = value;
23529   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.beta)
23530 }
23531
23532 // optional .opencv_caffe.LRNParameter.NormRegion norm_region = 4 [default = ACROSS_CHANNELS];
23533 inline bool LRNParameter::has_norm_region() const {
23534   return (_has_bits_[0] & 0x00000008u) != 0;
23535 }
23536 inline void LRNParameter::set_has_norm_region() {
23537   _has_bits_[0] |= 0x00000008u;
23538 }
23539 inline void LRNParameter::clear_has_norm_region() {
23540   _has_bits_[0] &= ~0x00000008u;
23541 }
23542 inline void LRNParameter::clear_norm_region() {
23543   norm_region_ = 0;
23544   clear_has_norm_region();
23545 }
23546 inline ::opencv_caffe::LRNParameter_NormRegion LRNParameter::norm_region() const {
23547   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.norm_region)
23548   return static_cast< ::opencv_caffe::LRNParameter_NormRegion >(norm_region_);
23549 }
23550 inline void LRNParameter::set_norm_region(::opencv_caffe::LRNParameter_NormRegion value) {
23551   assert(::opencv_caffe::LRNParameter_NormRegion_IsValid(value));
23552   set_has_norm_region();
23553   norm_region_ = value;
23554   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.norm_region)
23555 }
23556
23557 // optional float k = 5 [default = 1];
23558 inline bool LRNParameter::has_k() const {
23559   return (_has_bits_[0] & 0x00000010u) != 0;
23560 }
23561 inline void LRNParameter::set_has_k() {
23562   _has_bits_[0] |= 0x00000010u;
23563 }
23564 inline void LRNParameter::clear_has_k() {
23565   _has_bits_[0] &= ~0x00000010u;
23566 }
23567 inline void LRNParameter::clear_k() {
23568   k_ = 1;
23569   clear_has_k();
23570 }
23571 inline float LRNParameter::k() const {
23572   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.k)
23573   return k_;
23574 }
23575 inline void LRNParameter::set_k(float value) {
23576   set_has_k();
23577   k_ = value;
23578   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.k)
23579 }
23580
23581 // optional .opencv_caffe.LRNParameter.Engine engine = 6 [default = DEFAULT];
23582 inline bool LRNParameter::has_engine() const {
23583   return (_has_bits_[0] & 0x00000020u) != 0;
23584 }
23585 inline void LRNParameter::set_has_engine() {
23586   _has_bits_[0] |= 0x00000020u;
23587 }
23588 inline void LRNParameter::clear_has_engine() {
23589   _has_bits_[0] &= ~0x00000020u;
23590 }
23591 inline void LRNParameter::clear_engine() {
23592   engine_ = 0;
23593   clear_has_engine();
23594 }
23595 inline ::opencv_caffe::LRNParameter_Engine LRNParameter::engine() const {
23596   // @@protoc_insertion_point(field_get:opencv_caffe.LRNParameter.engine)
23597   return static_cast< ::opencv_caffe::LRNParameter_Engine >(engine_);
23598 }
23599 inline void LRNParameter::set_engine(::opencv_caffe::LRNParameter_Engine value) {
23600   assert(::opencv_caffe::LRNParameter_Engine_IsValid(value));
23601   set_has_engine();
23602   engine_ = value;
23603   // @@protoc_insertion_point(field_set:opencv_caffe.LRNParameter.engine)
23604 }
23605
23606 inline const LRNParameter* LRNParameter::internal_default_instance() {
23607   return &LRNParameter_default_instance_.get();
23608 }
23609 // -------------------------------------------------------------------
23610
23611 // MemoryDataParameter
23612
23613 // optional uint32 batch_size = 1;
23614 inline bool MemoryDataParameter::has_batch_size() const {
23615   return (_has_bits_[0] & 0x00000001u) != 0;
23616 }
23617 inline void MemoryDataParameter::set_has_batch_size() {
23618   _has_bits_[0] |= 0x00000001u;
23619 }
23620 inline void MemoryDataParameter::clear_has_batch_size() {
23621   _has_bits_[0] &= ~0x00000001u;
23622 }
23623 inline void MemoryDataParameter::clear_batch_size() {
23624   batch_size_ = 0u;
23625   clear_has_batch_size();
23626 }
23627 inline ::google::protobuf::uint32 MemoryDataParameter::batch_size() const {
23628   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.batch_size)
23629   return batch_size_;
23630 }
23631 inline void MemoryDataParameter::set_batch_size(::google::protobuf::uint32 value) {
23632   set_has_batch_size();
23633   batch_size_ = value;
23634   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.batch_size)
23635 }
23636
23637 // optional uint32 channels = 2;
23638 inline bool MemoryDataParameter::has_channels() const {
23639   return (_has_bits_[0] & 0x00000002u) != 0;
23640 }
23641 inline void MemoryDataParameter::set_has_channels() {
23642   _has_bits_[0] |= 0x00000002u;
23643 }
23644 inline void MemoryDataParameter::clear_has_channels() {
23645   _has_bits_[0] &= ~0x00000002u;
23646 }
23647 inline void MemoryDataParameter::clear_channels() {
23648   channels_ = 0u;
23649   clear_has_channels();
23650 }
23651 inline ::google::protobuf::uint32 MemoryDataParameter::channels() const {
23652   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.channels)
23653   return channels_;
23654 }
23655 inline void MemoryDataParameter::set_channels(::google::protobuf::uint32 value) {
23656   set_has_channels();
23657   channels_ = value;
23658   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.channels)
23659 }
23660
23661 // optional uint32 height = 3;
23662 inline bool MemoryDataParameter::has_height() const {
23663   return (_has_bits_[0] & 0x00000004u) != 0;
23664 }
23665 inline void MemoryDataParameter::set_has_height() {
23666   _has_bits_[0] |= 0x00000004u;
23667 }
23668 inline void MemoryDataParameter::clear_has_height() {
23669   _has_bits_[0] &= ~0x00000004u;
23670 }
23671 inline void MemoryDataParameter::clear_height() {
23672   height_ = 0u;
23673   clear_has_height();
23674 }
23675 inline ::google::protobuf::uint32 MemoryDataParameter::height() const {
23676   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.height)
23677   return height_;
23678 }
23679 inline void MemoryDataParameter::set_height(::google::protobuf::uint32 value) {
23680   set_has_height();
23681   height_ = value;
23682   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.height)
23683 }
23684
23685 // optional uint32 width = 4;
23686 inline bool MemoryDataParameter::has_width() const {
23687   return (_has_bits_[0] & 0x00000008u) != 0;
23688 }
23689 inline void MemoryDataParameter::set_has_width() {
23690   _has_bits_[0] |= 0x00000008u;
23691 }
23692 inline void MemoryDataParameter::clear_has_width() {
23693   _has_bits_[0] &= ~0x00000008u;
23694 }
23695 inline void MemoryDataParameter::clear_width() {
23696   width_ = 0u;
23697   clear_has_width();
23698 }
23699 inline ::google::protobuf::uint32 MemoryDataParameter::width() const {
23700   // @@protoc_insertion_point(field_get:opencv_caffe.MemoryDataParameter.width)
23701   return width_;
23702 }
23703 inline void MemoryDataParameter::set_width(::google::protobuf::uint32 value) {
23704   set_has_width();
23705   width_ = value;
23706   // @@protoc_insertion_point(field_set:opencv_caffe.MemoryDataParameter.width)
23707 }
23708
23709 inline const MemoryDataParameter* MemoryDataParameter::internal_default_instance() {
23710   return &MemoryDataParameter_default_instance_.get();
23711 }
23712 // -------------------------------------------------------------------
23713
23714 // MVNParameter
23715
23716 // optional bool normalize_variance = 1 [default = true];
23717 inline bool MVNParameter::has_normalize_variance() const {
23718   return (_has_bits_[0] & 0x00000001u) != 0;
23719 }
23720 inline void MVNParameter::set_has_normalize_variance() {
23721   _has_bits_[0] |= 0x00000001u;
23722 }
23723 inline void MVNParameter::clear_has_normalize_variance() {
23724   _has_bits_[0] &= ~0x00000001u;
23725 }
23726 inline void MVNParameter::clear_normalize_variance() {
23727   normalize_variance_ = true;
23728   clear_has_normalize_variance();
23729 }
23730 inline bool MVNParameter::normalize_variance() const {
23731   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.normalize_variance)
23732   return normalize_variance_;
23733 }
23734 inline void MVNParameter::set_normalize_variance(bool value) {
23735   set_has_normalize_variance();
23736   normalize_variance_ = value;
23737   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.normalize_variance)
23738 }
23739
23740 // optional bool across_channels = 2 [default = false];
23741 inline bool MVNParameter::has_across_channels() const {
23742   return (_has_bits_[0] & 0x00000002u) != 0;
23743 }
23744 inline void MVNParameter::set_has_across_channels() {
23745   _has_bits_[0] |= 0x00000002u;
23746 }
23747 inline void MVNParameter::clear_has_across_channels() {
23748   _has_bits_[0] &= ~0x00000002u;
23749 }
23750 inline void MVNParameter::clear_across_channels() {
23751   across_channels_ = false;
23752   clear_has_across_channels();
23753 }
23754 inline bool MVNParameter::across_channels() const {
23755   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.across_channels)
23756   return across_channels_;
23757 }
23758 inline void MVNParameter::set_across_channels(bool value) {
23759   set_has_across_channels();
23760   across_channels_ = value;
23761   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.across_channels)
23762 }
23763
23764 // optional float eps = 3 [default = 1e-09];
23765 inline bool MVNParameter::has_eps() const {
23766   return (_has_bits_[0] & 0x00000004u) != 0;
23767 }
23768 inline void MVNParameter::set_has_eps() {
23769   _has_bits_[0] |= 0x00000004u;
23770 }
23771 inline void MVNParameter::clear_has_eps() {
23772   _has_bits_[0] &= ~0x00000004u;
23773 }
23774 inline void MVNParameter::clear_eps() {
23775   eps_ = 1e-09f;
23776   clear_has_eps();
23777 }
23778 inline float MVNParameter::eps() const {
23779   // @@protoc_insertion_point(field_get:opencv_caffe.MVNParameter.eps)
23780   return eps_;
23781 }
23782 inline void MVNParameter::set_eps(float value) {
23783   set_has_eps();
23784   eps_ = value;
23785   // @@protoc_insertion_point(field_set:opencv_caffe.MVNParameter.eps)
23786 }
23787
23788 inline const MVNParameter* MVNParameter::internal_default_instance() {
23789   return &MVNParameter_default_instance_.get();
23790 }
23791 // -------------------------------------------------------------------
23792
23793 // ParameterParameter
23794
23795 // optional .opencv_caffe.BlobShape shape = 1;
23796 inline bool ParameterParameter::has_shape() const {
23797   return (_has_bits_[0] & 0x00000001u) != 0;
23798 }
23799 inline void ParameterParameter::set_has_shape() {
23800   _has_bits_[0] |= 0x00000001u;
23801 }
23802 inline void ParameterParameter::clear_has_shape() {
23803   _has_bits_[0] &= ~0x00000001u;
23804 }
23805 inline void ParameterParameter::clear_shape() {
23806   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
23807   clear_has_shape();
23808 }
23809 inline const ::opencv_caffe::BlobShape& ParameterParameter::shape() const {
23810   // @@protoc_insertion_point(field_get:opencv_caffe.ParameterParameter.shape)
23811   return shape_ != NULL ? *shape_
23812                          : *::opencv_caffe::BlobShape::internal_default_instance();
23813 }
23814 inline ::opencv_caffe::BlobShape* ParameterParameter::mutable_shape() {
23815   set_has_shape();
23816   if (shape_ == NULL) {
23817     shape_ = new ::opencv_caffe::BlobShape;
23818   }
23819   // @@protoc_insertion_point(field_mutable:opencv_caffe.ParameterParameter.shape)
23820   return shape_;
23821 }
23822 inline ::opencv_caffe::BlobShape* ParameterParameter::release_shape() {
23823   // @@protoc_insertion_point(field_release:opencv_caffe.ParameterParameter.shape)
23824   clear_has_shape();
23825   ::opencv_caffe::BlobShape* temp = shape_;
23826   shape_ = NULL;
23827   return temp;
23828 }
23829 inline void ParameterParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
23830   delete shape_;
23831   shape_ = shape;
23832   if (shape) {
23833     set_has_shape();
23834   } else {
23835     clear_has_shape();
23836   }
23837   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ParameterParameter.shape)
23838 }
23839
23840 inline const ParameterParameter* ParameterParameter::internal_default_instance() {
23841   return &ParameterParameter_default_instance_.get();
23842 }
23843 // -------------------------------------------------------------------
23844
23845 // PoolingParameter
23846
23847 // optional .opencv_caffe.PoolingParameter.PoolMethod pool = 1 [default = MAX];
23848 inline bool PoolingParameter::has_pool() const {
23849   return (_has_bits_[0] & 0x00000001u) != 0;
23850 }
23851 inline void PoolingParameter::set_has_pool() {
23852   _has_bits_[0] |= 0x00000001u;
23853 }
23854 inline void PoolingParameter::clear_has_pool() {
23855   _has_bits_[0] &= ~0x00000001u;
23856 }
23857 inline void PoolingParameter::clear_pool() {
23858   pool_ = 0;
23859   clear_has_pool();
23860 }
23861 inline ::opencv_caffe::PoolingParameter_PoolMethod PoolingParameter::pool() const {
23862   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pool)
23863   return static_cast< ::opencv_caffe::PoolingParameter_PoolMethod >(pool_);
23864 }
23865 inline void PoolingParameter::set_pool(::opencv_caffe::PoolingParameter_PoolMethod value) {
23866   assert(::opencv_caffe::PoolingParameter_PoolMethod_IsValid(value));
23867   set_has_pool();
23868   pool_ = value;
23869   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pool)
23870 }
23871
23872 // optional uint32 pad = 4 [default = 0];
23873 inline bool PoolingParameter::has_pad() const {
23874   return (_has_bits_[0] & 0x00000002u) != 0;
23875 }
23876 inline void PoolingParameter::set_has_pad() {
23877   _has_bits_[0] |= 0x00000002u;
23878 }
23879 inline void PoolingParameter::clear_has_pad() {
23880   _has_bits_[0] &= ~0x00000002u;
23881 }
23882 inline void PoolingParameter::clear_pad() {
23883   pad_ = 0u;
23884   clear_has_pad();
23885 }
23886 inline ::google::protobuf::uint32 PoolingParameter::pad() const {
23887   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad)
23888   return pad_;
23889 }
23890 inline void PoolingParameter::set_pad(::google::protobuf::uint32 value) {
23891   set_has_pad();
23892   pad_ = value;
23893   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad)
23894 }
23895
23896 // optional uint32 pad_h = 9 [default = 0];
23897 inline bool PoolingParameter::has_pad_h() const {
23898   return (_has_bits_[0] & 0x00000004u) != 0;
23899 }
23900 inline void PoolingParameter::set_has_pad_h() {
23901   _has_bits_[0] |= 0x00000004u;
23902 }
23903 inline void PoolingParameter::clear_has_pad_h() {
23904   _has_bits_[0] &= ~0x00000004u;
23905 }
23906 inline void PoolingParameter::clear_pad_h() {
23907   pad_h_ = 0u;
23908   clear_has_pad_h();
23909 }
23910 inline ::google::protobuf::uint32 PoolingParameter::pad_h() const {
23911   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_h)
23912   return pad_h_;
23913 }
23914 inline void PoolingParameter::set_pad_h(::google::protobuf::uint32 value) {
23915   set_has_pad_h();
23916   pad_h_ = value;
23917   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_h)
23918 }
23919
23920 // optional uint32 pad_w = 10 [default = 0];
23921 inline bool PoolingParameter::has_pad_w() const {
23922   return (_has_bits_[0] & 0x00000008u) != 0;
23923 }
23924 inline void PoolingParameter::set_has_pad_w() {
23925   _has_bits_[0] |= 0x00000008u;
23926 }
23927 inline void PoolingParameter::clear_has_pad_w() {
23928   _has_bits_[0] &= ~0x00000008u;
23929 }
23930 inline void PoolingParameter::clear_pad_w() {
23931   pad_w_ = 0u;
23932   clear_has_pad_w();
23933 }
23934 inline ::google::protobuf::uint32 PoolingParameter::pad_w() const {
23935   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.pad_w)
23936   return pad_w_;
23937 }
23938 inline void PoolingParameter::set_pad_w(::google::protobuf::uint32 value) {
23939   set_has_pad_w();
23940   pad_w_ = value;
23941   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.pad_w)
23942 }
23943
23944 // optional uint32 kernel_size = 2;
23945 inline bool PoolingParameter::has_kernel_size() const {
23946   return (_has_bits_[0] & 0x00000010u) != 0;
23947 }
23948 inline void PoolingParameter::set_has_kernel_size() {
23949   _has_bits_[0] |= 0x00000010u;
23950 }
23951 inline void PoolingParameter::clear_has_kernel_size() {
23952   _has_bits_[0] &= ~0x00000010u;
23953 }
23954 inline void PoolingParameter::clear_kernel_size() {
23955   kernel_size_ = 0u;
23956   clear_has_kernel_size();
23957 }
23958 inline ::google::protobuf::uint32 PoolingParameter::kernel_size() const {
23959   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_size)
23960   return kernel_size_;
23961 }
23962 inline void PoolingParameter::set_kernel_size(::google::protobuf::uint32 value) {
23963   set_has_kernel_size();
23964   kernel_size_ = value;
23965   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_size)
23966 }
23967
23968 // optional uint32 kernel_h = 5;
23969 inline bool PoolingParameter::has_kernel_h() const {
23970   return (_has_bits_[0] & 0x00000020u) != 0;
23971 }
23972 inline void PoolingParameter::set_has_kernel_h() {
23973   _has_bits_[0] |= 0x00000020u;
23974 }
23975 inline void PoolingParameter::clear_has_kernel_h() {
23976   _has_bits_[0] &= ~0x00000020u;
23977 }
23978 inline void PoolingParameter::clear_kernel_h() {
23979   kernel_h_ = 0u;
23980   clear_has_kernel_h();
23981 }
23982 inline ::google::protobuf::uint32 PoolingParameter::kernel_h() const {
23983   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_h)
23984   return kernel_h_;
23985 }
23986 inline void PoolingParameter::set_kernel_h(::google::protobuf::uint32 value) {
23987   set_has_kernel_h();
23988   kernel_h_ = value;
23989   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_h)
23990 }
23991
23992 // optional uint32 kernel_w = 6;
23993 inline bool PoolingParameter::has_kernel_w() const {
23994   return (_has_bits_[0] & 0x00000040u) != 0;
23995 }
23996 inline void PoolingParameter::set_has_kernel_w() {
23997   _has_bits_[0] |= 0x00000040u;
23998 }
23999 inline void PoolingParameter::clear_has_kernel_w() {
24000   _has_bits_[0] &= ~0x00000040u;
24001 }
24002 inline void PoolingParameter::clear_kernel_w() {
24003   kernel_w_ = 0u;
24004   clear_has_kernel_w();
24005 }
24006 inline ::google::protobuf::uint32 PoolingParameter::kernel_w() const {
24007   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.kernel_w)
24008   return kernel_w_;
24009 }
24010 inline void PoolingParameter::set_kernel_w(::google::protobuf::uint32 value) {
24011   set_has_kernel_w();
24012   kernel_w_ = value;
24013   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.kernel_w)
24014 }
24015
24016 // optional uint32 stride = 3 [default = 1];
24017 inline bool PoolingParameter::has_stride() const {
24018   return (_has_bits_[0] & 0x00000080u) != 0;
24019 }
24020 inline void PoolingParameter::set_has_stride() {
24021   _has_bits_[0] |= 0x00000080u;
24022 }
24023 inline void PoolingParameter::clear_has_stride() {
24024   _has_bits_[0] &= ~0x00000080u;
24025 }
24026 inline void PoolingParameter::clear_stride() {
24027   stride_ = 1u;
24028   clear_has_stride();
24029 }
24030 inline ::google::protobuf::uint32 PoolingParameter::stride() const {
24031   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride)
24032   return stride_;
24033 }
24034 inline void PoolingParameter::set_stride(::google::protobuf::uint32 value) {
24035   set_has_stride();
24036   stride_ = value;
24037   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride)
24038 }
24039
24040 // optional uint32 stride_h = 7;
24041 inline bool PoolingParameter::has_stride_h() const {
24042   return (_has_bits_[0] & 0x00000100u) != 0;
24043 }
24044 inline void PoolingParameter::set_has_stride_h() {
24045   _has_bits_[0] |= 0x00000100u;
24046 }
24047 inline void PoolingParameter::clear_has_stride_h() {
24048   _has_bits_[0] &= ~0x00000100u;
24049 }
24050 inline void PoolingParameter::clear_stride_h() {
24051   stride_h_ = 0u;
24052   clear_has_stride_h();
24053 }
24054 inline ::google::protobuf::uint32 PoolingParameter::stride_h() const {
24055   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_h)
24056   return stride_h_;
24057 }
24058 inline void PoolingParameter::set_stride_h(::google::protobuf::uint32 value) {
24059   set_has_stride_h();
24060   stride_h_ = value;
24061   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_h)
24062 }
24063
24064 // optional uint32 stride_w = 8;
24065 inline bool PoolingParameter::has_stride_w() const {
24066   return (_has_bits_[0] & 0x00000200u) != 0;
24067 }
24068 inline void PoolingParameter::set_has_stride_w() {
24069   _has_bits_[0] |= 0x00000200u;
24070 }
24071 inline void PoolingParameter::clear_has_stride_w() {
24072   _has_bits_[0] &= ~0x00000200u;
24073 }
24074 inline void PoolingParameter::clear_stride_w() {
24075   stride_w_ = 0u;
24076   clear_has_stride_w();
24077 }
24078 inline ::google::protobuf::uint32 PoolingParameter::stride_w() const {
24079   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.stride_w)
24080   return stride_w_;
24081 }
24082 inline void PoolingParameter::set_stride_w(::google::protobuf::uint32 value) {
24083   set_has_stride_w();
24084   stride_w_ = value;
24085   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.stride_w)
24086 }
24087
24088 // optional .opencv_caffe.PoolingParameter.Engine engine = 11 [default = DEFAULT];
24089 inline bool PoolingParameter::has_engine() const {
24090   return (_has_bits_[0] & 0x00000400u) != 0;
24091 }
24092 inline void PoolingParameter::set_has_engine() {
24093   _has_bits_[0] |= 0x00000400u;
24094 }
24095 inline void PoolingParameter::clear_has_engine() {
24096   _has_bits_[0] &= ~0x00000400u;
24097 }
24098 inline void PoolingParameter::clear_engine() {
24099   engine_ = 0;
24100   clear_has_engine();
24101 }
24102 inline ::opencv_caffe::PoolingParameter_Engine PoolingParameter::engine() const {
24103   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.engine)
24104   return static_cast< ::opencv_caffe::PoolingParameter_Engine >(engine_);
24105 }
24106 inline void PoolingParameter::set_engine(::opencv_caffe::PoolingParameter_Engine value) {
24107   assert(::opencv_caffe::PoolingParameter_Engine_IsValid(value));
24108   set_has_engine();
24109   engine_ = value;
24110   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.engine)
24111 }
24112
24113 // optional bool global_pooling = 12 [default = false];
24114 inline bool PoolingParameter::has_global_pooling() const {
24115   return (_has_bits_[0] & 0x00000800u) != 0;
24116 }
24117 inline void PoolingParameter::set_has_global_pooling() {
24118   _has_bits_[0] |= 0x00000800u;
24119 }
24120 inline void PoolingParameter::clear_has_global_pooling() {
24121   _has_bits_[0] &= ~0x00000800u;
24122 }
24123 inline void PoolingParameter::clear_global_pooling() {
24124   global_pooling_ = false;
24125   clear_has_global_pooling();
24126 }
24127 inline bool PoolingParameter::global_pooling() const {
24128   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.global_pooling)
24129   return global_pooling_;
24130 }
24131 inline void PoolingParameter::set_global_pooling(bool value) {
24132   set_has_global_pooling();
24133   global_pooling_ = value;
24134   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.global_pooling)
24135 }
24136
24137 // optional bool ceil_mode = 13 [default = true];
24138 inline bool PoolingParameter::has_ceil_mode() const {
24139   return (_has_bits_[0] & 0x00001000u) != 0;
24140 }
24141 inline void PoolingParameter::set_has_ceil_mode() {
24142   _has_bits_[0] |= 0x00001000u;
24143 }
24144 inline void PoolingParameter::clear_has_ceil_mode() {
24145   _has_bits_[0] &= ~0x00001000u;
24146 }
24147 inline void PoolingParameter::clear_ceil_mode() {
24148   ceil_mode_ = true;
24149   clear_has_ceil_mode();
24150 }
24151 inline bool PoolingParameter::ceil_mode() const {
24152   // @@protoc_insertion_point(field_get:opencv_caffe.PoolingParameter.ceil_mode)
24153   return ceil_mode_;
24154 }
24155 inline void PoolingParameter::set_ceil_mode(bool value) {
24156   set_has_ceil_mode();
24157   ceil_mode_ = value;
24158   // @@protoc_insertion_point(field_set:opencv_caffe.PoolingParameter.ceil_mode)
24159 }
24160
24161 inline const PoolingParameter* PoolingParameter::internal_default_instance() {
24162   return &PoolingParameter_default_instance_.get();
24163 }
24164 // -------------------------------------------------------------------
24165
24166 // PowerParameter
24167
24168 // optional float power = 1 [default = 1];
24169 inline bool PowerParameter::has_power() const {
24170   return (_has_bits_[0] & 0x00000001u) != 0;
24171 }
24172 inline void PowerParameter::set_has_power() {
24173   _has_bits_[0] |= 0x00000001u;
24174 }
24175 inline void PowerParameter::clear_has_power() {
24176   _has_bits_[0] &= ~0x00000001u;
24177 }
24178 inline void PowerParameter::clear_power() {
24179   power_ = 1;
24180   clear_has_power();
24181 }
24182 inline float PowerParameter::power() const {
24183   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.power)
24184   return power_;
24185 }
24186 inline void PowerParameter::set_power(float value) {
24187   set_has_power();
24188   power_ = value;
24189   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.power)
24190 }
24191
24192 // optional float scale = 2 [default = 1];
24193 inline bool PowerParameter::has_scale() const {
24194   return (_has_bits_[0] & 0x00000002u) != 0;
24195 }
24196 inline void PowerParameter::set_has_scale() {
24197   _has_bits_[0] |= 0x00000002u;
24198 }
24199 inline void PowerParameter::clear_has_scale() {
24200   _has_bits_[0] &= ~0x00000002u;
24201 }
24202 inline void PowerParameter::clear_scale() {
24203   scale_ = 1;
24204   clear_has_scale();
24205 }
24206 inline float PowerParameter::scale() const {
24207   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.scale)
24208   return scale_;
24209 }
24210 inline void PowerParameter::set_scale(float value) {
24211   set_has_scale();
24212   scale_ = value;
24213   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.scale)
24214 }
24215
24216 // optional float shift = 3 [default = 0];
24217 inline bool PowerParameter::has_shift() const {
24218   return (_has_bits_[0] & 0x00000004u) != 0;
24219 }
24220 inline void PowerParameter::set_has_shift() {
24221   _has_bits_[0] |= 0x00000004u;
24222 }
24223 inline void PowerParameter::clear_has_shift() {
24224   _has_bits_[0] &= ~0x00000004u;
24225 }
24226 inline void PowerParameter::clear_shift() {
24227   shift_ = 0;
24228   clear_has_shift();
24229 }
24230 inline float PowerParameter::shift() const {
24231   // @@protoc_insertion_point(field_get:opencv_caffe.PowerParameter.shift)
24232   return shift_;
24233 }
24234 inline void PowerParameter::set_shift(float value) {
24235   set_has_shift();
24236   shift_ = value;
24237   // @@protoc_insertion_point(field_set:opencv_caffe.PowerParameter.shift)
24238 }
24239
24240 inline const PowerParameter* PowerParameter::internal_default_instance() {
24241   return &PowerParameter_default_instance_.get();
24242 }
24243 // -------------------------------------------------------------------
24244
24245 // PythonParameter
24246
24247 // optional string module = 1;
24248 inline bool PythonParameter::has_module() const {
24249   return (_has_bits_[0] & 0x00000001u) != 0;
24250 }
24251 inline void PythonParameter::set_has_module() {
24252   _has_bits_[0] |= 0x00000001u;
24253 }
24254 inline void PythonParameter::clear_has_module() {
24255   _has_bits_[0] &= ~0x00000001u;
24256 }
24257 inline void PythonParameter::clear_module() {
24258   module_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24259   clear_has_module();
24260 }
24261 inline const ::std::string& PythonParameter::module() const {
24262   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.module)
24263   return module_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24264 }
24265 inline void PythonParameter::set_module(const ::std::string& value) {
24266   set_has_module();
24267   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
24268   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.module)
24269 }
24270 inline void PythonParameter::set_module(const char* value) {
24271   set_has_module();
24272   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
24273   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.module)
24274 }
24275 inline void PythonParameter::set_module(const char* value, size_t size) {
24276   set_has_module();
24277   module_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
24278       ::std::string(reinterpret_cast<const char*>(value), size));
24279   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.module)
24280 }
24281 inline ::std::string* PythonParameter::mutable_module() {
24282   set_has_module();
24283   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.module)
24284   return module_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24285 }
24286 inline ::std::string* PythonParameter::release_module() {
24287   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.module)
24288   clear_has_module();
24289   return module_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24290 }
24291 inline void PythonParameter::set_allocated_module(::std::string* module) {
24292   if (module != NULL) {
24293     set_has_module();
24294   } else {
24295     clear_has_module();
24296   }
24297   module_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), module);
24298   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.module)
24299 }
24300
24301 // optional string layer = 2;
24302 inline bool PythonParameter::has_layer() const {
24303   return (_has_bits_[0] & 0x00000002u) != 0;
24304 }
24305 inline void PythonParameter::set_has_layer() {
24306   _has_bits_[0] |= 0x00000002u;
24307 }
24308 inline void PythonParameter::clear_has_layer() {
24309   _has_bits_[0] &= ~0x00000002u;
24310 }
24311 inline void PythonParameter::clear_layer() {
24312   layer_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24313   clear_has_layer();
24314 }
24315 inline const ::std::string& PythonParameter::layer() const {
24316   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.layer)
24317   return layer_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24318 }
24319 inline void PythonParameter::set_layer(const ::std::string& value) {
24320   set_has_layer();
24321   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
24322   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.layer)
24323 }
24324 inline void PythonParameter::set_layer(const char* value) {
24325   set_has_layer();
24326   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
24327   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.layer)
24328 }
24329 inline void PythonParameter::set_layer(const char* value, size_t size) {
24330   set_has_layer();
24331   layer_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
24332       ::std::string(reinterpret_cast<const char*>(value), size));
24333   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.layer)
24334 }
24335 inline ::std::string* PythonParameter::mutable_layer() {
24336   set_has_layer();
24337   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.layer)
24338   return layer_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24339 }
24340 inline ::std::string* PythonParameter::release_layer() {
24341   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.layer)
24342   clear_has_layer();
24343   return layer_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24344 }
24345 inline void PythonParameter::set_allocated_layer(::std::string* layer) {
24346   if (layer != NULL) {
24347     set_has_layer();
24348   } else {
24349     clear_has_layer();
24350   }
24351   layer_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), layer);
24352   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.layer)
24353 }
24354
24355 // optional string param_str = 3 [default = ""];
24356 inline bool PythonParameter::has_param_str() const {
24357   return (_has_bits_[0] & 0x00000004u) != 0;
24358 }
24359 inline void PythonParameter::set_has_param_str() {
24360   _has_bits_[0] |= 0x00000004u;
24361 }
24362 inline void PythonParameter::clear_has_param_str() {
24363   _has_bits_[0] &= ~0x00000004u;
24364 }
24365 inline void PythonParameter::clear_param_str() {
24366   param_str_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24367   clear_has_param_str();
24368 }
24369 inline const ::std::string& PythonParameter::param_str() const {
24370   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.param_str)
24371   return param_str_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24372 }
24373 inline void PythonParameter::set_param_str(const ::std::string& value) {
24374   set_has_param_str();
24375   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
24376   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.param_str)
24377 }
24378 inline void PythonParameter::set_param_str(const char* value) {
24379   set_has_param_str();
24380   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
24381   // @@protoc_insertion_point(field_set_char:opencv_caffe.PythonParameter.param_str)
24382 }
24383 inline void PythonParameter::set_param_str(const char* value, size_t size) {
24384   set_has_param_str();
24385   param_str_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
24386       ::std::string(reinterpret_cast<const char*>(value), size));
24387   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.PythonParameter.param_str)
24388 }
24389 inline ::std::string* PythonParameter::mutable_param_str() {
24390   set_has_param_str();
24391   // @@protoc_insertion_point(field_mutable:opencv_caffe.PythonParameter.param_str)
24392   return param_str_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24393 }
24394 inline ::std::string* PythonParameter::release_param_str() {
24395   // @@protoc_insertion_point(field_release:opencv_caffe.PythonParameter.param_str)
24396   clear_has_param_str();
24397   return param_str_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
24398 }
24399 inline void PythonParameter::set_allocated_param_str(::std::string* param_str) {
24400   if (param_str != NULL) {
24401     set_has_param_str();
24402   } else {
24403     clear_has_param_str();
24404   }
24405   param_str_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), param_str);
24406   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PythonParameter.param_str)
24407 }
24408
24409 // optional bool share_in_parallel = 4 [default = false];
24410 inline bool PythonParameter::has_share_in_parallel() const {
24411   return (_has_bits_[0] & 0x00000008u) != 0;
24412 }
24413 inline void PythonParameter::set_has_share_in_parallel() {
24414   _has_bits_[0] |= 0x00000008u;
24415 }
24416 inline void PythonParameter::clear_has_share_in_parallel() {
24417   _has_bits_[0] &= ~0x00000008u;
24418 }
24419 inline void PythonParameter::clear_share_in_parallel() {
24420   share_in_parallel_ = false;
24421   clear_has_share_in_parallel();
24422 }
24423 inline bool PythonParameter::share_in_parallel() const {
24424   // @@protoc_insertion_point(field_get:opencv_caffe.PythonParameter.share_in_parallel)
24425   return share_in_parallel_;
24426 }
24427 inline void PythonParameter::set_share_in_parallel(bool value) {
24428   set_has_share_in_parallel();
24429   share_in_parallel_ = value;
24430   // @@protoc_insertion_point(field_set:opencv_caffe.PythonParameter.share_in_parallel)
24431 }
24432
24433 inline const PythonParameter* PythonParameter::internal_default_instance() {
24434   return &PythonParameter_default_instance_.get();
24435 }
24436 // -------------------------------------------------------------------
24437
24438 // RecurrentParameter
24439
24440 // optional uint32 num_output = 1 [default = 0];
24441 inline bool RecurrentParameter::has_num_output() const {
24442   return (_has_bits_[0] & 0x00000001u) != 0;
24443 }
24444 inline void RecurrentParameter::set_has_num_output() {
24445   _has_bits_[0] |= 0x00000001u;
24446 }
24447 inline void RecurrentParameter::clear_has_num_output() {
24448   _has_bits_[0] &= ~0x00000001u;
24449 }
24450 inline void RecurrentParameter::clear_num_output() {
24451   num_output_ = 0u;
24452   clear_has_num_output();
24453 }
24454 inline ::google::protobuf::uint32 RecurrentParameter::num_output() const {
24455   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.num_output)
24456   return num_output_;
24457 }
24458 inline void RecurrentParameter::set_num_output(::google::protobuf::uint32 value) {
24459   set_has_num_output();
24460   num_output_ = value;
24461   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.num_output)
24462 }
24463
24464 // optional .opencv_caffe.FillerParameter weight_filler = 2;
24465 inline bool RecurrentParameter::has_weight_filler() const {
24466   return (_has_bits_[0] & 0x00000002u) != 0;
24467 }
24468 inline void RecurrentParameter::set_has_weight_filler() {
24469   _has_bits_[0] |= 0x00000002u;
24470 }
24471 inline void RecurrentParameter::clear_has_weight_filler() {
24472   _has_bits_[0] &= ~0x00000002u;
24473 }
24474 inline void RecurrentParameter::clear_weight_filler() {
24475   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
24476   clear_has_weight_filler();
24477 }
24478 inline const ::opencv_caffe::FillerParameter& RecurrentParameter::weight_filler() const {
24479   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.weight_filler)
24480   return weight_filler_ != NULL ? *weight_filler_
24481                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24482 }
24483 inline ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_weight_filler() {
24484   set_has_weight_filler();
24485   if (weight_filler_ == NULL) {
24486     weight_filler_ = new ::opencv_caffe::FillerParameter;
24487   }
24488   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.weight_filler)
24489   return weight_filler_;
24490 }
24491 inline ::opencv_caffe::FillerParameter* RecurrentParameter::release_weight_filler() {
24492   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.weight_filler)
24493   clear_has_weight_filler();
24494   ::opencv_caffe::FillerParameter* temp = weight_filler_;
24495   weight_filler_ = NULL;
24496   return temp;
24497 }
24498 inline void RecurrentParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
24499   delete weight_filler_;
24500   weight_filler_ = weight_filler;
24501   if (weight_filler) {
24502     set_has_weight_filler();
24503   } else {
24504     clear_has_weight_filler();
24505   }
24506   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.weight_filler)
24507 }
24508
24509 // optional .opencv_caffe.FillerParameter bias_filler = 3;
24510 inline bool RecurrentParameter::has_bias_filler() const {
24511   return (_has_bits_[0] & 0x00000004u) != 0;
24512 }
24513 inline void RecurrentParameter::set_has_bias_filler() {
24514   _has_bits_[0] |= 0x00000004u;
24515 }
24516 inline void RecurrentParameter::clear_has_bias_filler() {
24517   _has_bits_[0] &= ~0x00000004u;
24518 }
24519 inline void RecurrentParameter::clear_bias_filler() {
24520   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
24521   clear_has_bias_filler();
24522 }
24523 inline const ::opencv_caffe::FillerParameter& RecurrentParameter::bias_filler() const {
24524   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.bias_filler)
24525   return bias_filler_ != NULL ? *bias_filler_
24526                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24527 }
24528 inline ::opencv_caffe::FillerParameter* RecurrentParameter::mutable_bias_filler() {
24529   set_has_bias_filler();
24530   if (bias_filler_ == NULL) {
24531     bias_filler_ = new ::opencv_caffe::FillerParameter;
24532   }
24533   // @@protoc_insertion_point(field_mutable:opencv_caffe.RecurrentParameter.bias_filler)
24534   return bias_filler_;
24535 }
24536 inline ::opencv_caffe::FillerParameter* RecurrentParameter::release_bias_filler() {
24537   // @@protoc_insertion_point(field_release:opencv_caffe.RecurrentParameter.bias_filler)
24538   clear_has_bias_filler();
24539   ::opencv_caffe::FillerParameter* temp = bias_filler_;
24540   bias_filler_ = NULL;
24541   return temp;
24542 }
24543 inline void RecurrentParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
24544   delete bias_filler_;
24545   bias_filler_ = bias_filler;
24546   if (bias_filler) {
24547     set_has_bias_filler();
24548   } else {
24549     clear_has_bias_filler();
24550   }
24551   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.RecurrentParameter.bias_filler)
24552 }
24553
24554 // optional bool debug_info = 4 [default = false];
24555 inline bool RecurrentParameter::has_debug_info() const {
24556   return (_has_bits_[0] & 0x00000008u) != 0;
24557 }
24558 inline void RecurrentParameter::set_has_debug_info() {
24559   _has_bits_[0] |= 0x00000008u;
24560 }
24561 inline void RecurrentParameter::clear_has_debug_info() {
24562   _has_bits_[0] &= ~0x00000008u;
24563 }
24564 inline void RecurrentParameter::clear_debug_info() {
24565   debug_info_ = false;
24566   clear_has_debug_info();
24567 }
24568 inline bool RecurrentParameter::debug_info() const {
24569   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.debug_info)
24570   return debug_info_;
24571 }
24572 inline void RecurrentParameter::set_debug_info(bool value) {
24573   set_has_debug_info();
24574   debug_info_ = value;
24575   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.debug_info)
24576 }
24577
24578 // optional bool expose_hidden = 5 [default = false];
24579 inline bool RecurrentParameter::has_expose_hidden() const {
24580   return (_has_bits_[0] & 0x00000010u) != 0;
24581 }
24582 inline void RecurrentParameter::set_has_expose_hidden() {
24583   _has_bits_[0] |= 0x00000010u;
24584 }
24585 inline void RecurrentParameter::clear_has_expose_hidden() {
24586   _has_bits_[0] &= ~0x00000010u;
24587 }
24588 inline void RecurrentParameter::clear_expose_hidden() {
24589   expose_hidden_ = false;
24590   clear_has_expose_hidden();
24591 }
24592 inline bool RecurrentParameter::expose_hidden() const {
24593   // @@protoc_insertion_point(field_get:opencv_caffe.RecurrentParameter.expose_hidden)
24594   return expose_hidden_;
24595 }
24596 inline void RecurrentParameter::set_expose_hidden(bool value) {
24597   set_has_expose_hidden();
24598   expose_hidden_ = value;
24599   // @@protoc_insertion_point(field_set:opencv_caffe.RecurrentParameter.expose_hidden)
24600 }
24601
24602 inline const RecurrentParameter* RecurrentParameter::internal_default_instance() {
24603   return &RecurrentParameter_default_instance_.get();
24604 }
24605 // -------------------------------------------------------------------
24606
24607 // ReductionParameter
24608
24609 // optional .opencv_caffe.ReductionParameter.ReductionOp operation = 1 [default = SUM];
24610 inline bool ReductionParameter::has_operation() const {
24611   return (_has_bits_[0] & 0x00000001u) != 0;
24612 }
24613 inline void ReductionParameter::set_has_operation() {
24614   _has_bits_[0] |= 0x00000001u;
24615 }
24616 inline void ReductionParameter::clear_has_operation() {
24617   _has_bits_[0] &= ~0x00000001u;
24618 }
24619 inline void ReductionParameter::clear_operation() {
24620   operation_ = 1;
24621   clear_has_operation();
24622 }
24623 inline ::opencv_caffe::ReductionParameter_ReductionOp ReductionParameter::operation() const {
24624   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.operation)
24625   return static_cast< ::opencv_caffe::ReductionParameter_ReductionOp >(operation_);
24626 }
24627 inline void ReductionParameter::set_operation(::opencv_caffe::ReductionParameter_ReductionOp value) {
24628   assert(::opencv_caffe::ReductionParameter_ReductionOp_IsValid(value));
24629   set_has_operation();
24630   operation_ = value;
24631   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.operation)
24632 }
24633
24634 // optional int32 axis = 2 [default = 0];
24635 inline bool ReductionParameter::has_axis() const {
24636   return (_has_bits_[0] & 0x00000002u) != 0;
24637 }
24638 inline void ReductionParameter::set_has_axis() {
24639   _has_bits_[0] |= 0x00000002u;
24640 }
24641 inline void ReductionParameter::clear_has_axis() {
24642   _has_bits_[0] &= ~0x00000002u;
24643 }
24644 inline void ReductionParameter::clear_axis() {
24645   axis_ = 0;
24646   clear_has_axis();
24647 }
24648 inline ::google::protobuf::int32 ReductionParameter::axis() const {
24649   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.axis)
24650   return axis_;
24651 }
24652 inline void ReductionParameter::set_axis(::google::protobuf::int32 value) {
24653   set_has_axis();
24654   axis_ = value;
24655   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.axis)
24656 }
24657
24658 // optional float coeff = 3 [default = 1];
24659 inline bool ReductionParameter::has_coeff() const {
24660   return (_has_bits_[0] & 0x00000004u) != 0;
24661 }
24662 inline void ReductionParameter::set_has_coeff() {
24663   _has_bits_[0] |= 0x00000004u;
24664 }
24665 inline void ReductionParameter::clear_has_coeff() {
24666   _has_bits_[0] &= ~0x00000004u;
24667 }
24668 inline void ReductionParameter::clear_coeff() {
24669   coeff_ = 1;
24670   clear_has_coeff();
24671 }
24672 inline float ReductionParameter::coeff() const {
24673   // @@protoc_insertion_point(field_get:opencv_caffe.ReductionParameter.coeff)
24674   return coeff_;
24675 }
24676 inline void ReductionParameter::set_coeff(float value) {
24677   set_has_coeff();
24678   coeff_ = value;
24679   // @@protoc_insertion_point(field_set:opencv_caffe.ReductionParameter.coeff)
24680 }
24681
24682 inline const ReductionParameter* ReductionParameter::internal_default_instance() {
24683   return &ReductionParameter_default_instance_.get();
24684 }
24685 // -------------------------------------------------------------------
24686
24687 // ReLUParameter
24688
24689 // optional float negative_slope = 1 [default = 0];
24690 inline bool ReLUParameter::has_negative_slope() const {
24691   return (_has_bits_[0] & 0x00000001u) != 0;
24692 }
24693 inline void ReLUParameter::set_has_negative_slope() {
24694   _has_bits_[0] |= 0x00000001u;
24695 }
24696 inline void ReLUParameter::clear_has_negative_slope() {
24697   _has_bits_[0] &= ~0x00000001u;
24698 }
24699 inline void ReLUParameter::clear_negative_slope() {
24700   negative_slope_ = 0;
24701   clear_has_negative_slope();
24702 }
24703 inline float ReLUParameter::negative_slope() const {
24704   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.negative_slope)
24705   return negative_slope_;
24706 }
24707 inline void ReLUParameter::set_negative_slope(float value) {
24708   set_has_negative_slope();
24709   negative_slope_ = value;
24710   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.negative_slope)
24711 }
24712
24713 // optional .opencv_caffe.ReLUParameter.Engine engine = 2 [default = DEFAULT];
24714 inline bool ReLUParameter::has_engine() const {
24715   return (_has_bits_[0] & 0x00000002u) != 0;
24716 }
24717 inline void ReLUParameter::set_has_engine() {
24718   _has_bits_[0] |= 0x00000002u;
24719 }
24720 inline void ReLUParameter::clear_has_engine() {
24721   _has_bits_[0] &= ~0x00000002u;
24722 }
24723 inline void ReLUParameter::clear_engine() {
24724   engine_ = 0;
24725   clear_has_engine();
24726 }
24727 inline ::opencv_caffe::ReLUParameter_Engine ReLUParameter::engine() const {
24728   // @@protoc_insertion_point(field_get:opencv_caffe.ReLUParameter.engine)
24729   return static_cast< ::opencv_caffe::ReLUParameter_Engine >(engine_);
24730 }
24731 inline void ReLUParameter::set_engine(::opencv_caffe::ReLUParameter_Engine value) {
24732   assert(::opencv_caffe::ReLUParameter_Engine_IsValid(value));
24733   set_has_engine();
24734   engine_ = value;
24735   // @@protoc_insertion_point(field_set:opencv_caffe.ReLUParameter.engine)
24736 }
24737
24738 inline const ReLUParameter* ReLUParameter::internal_default_instance() {
24739   return &ReLUParameter_default_instance_.get();
24740 }
24741 // -------------------------------------------------------------------
24742
24743 // ReshapeParameter
24744
24745 // optional .opencv_caffe.BlobShape shape = 1;
24746 inline bool ReshapeParameter::has_shape() const {
24747   return (_has_bits_[0] & 0x00000001u) != 0;
24748 }
24749 inline void ReshapeParameter::set_has_shape() {
24750   _has_bits_[0] |= 0x00000001u;
24751 }
24752 inline void ReshapeParameter::clear_has_shape() {
24753   _has_bits_[0] &= ~0x00000001u;
24754 }
24755 inline void ReshapeParameter::clear_shape() {
24756   if (shape_ != NULL) shape_->::opencv_caffe::BlobShape::Clear();
24757   clear_has_shape();
24758 }
24759 inline const ::opencv_caffe::BlobShape& ReshapeParameter::shape() const {
24760   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.shape)
24761   return shape_ != NULL ? *shape_
24762                          : *::opencv_caffe::BlobShape::internal_default_instance();
24763 }
24764 inline ::opencv_caffe::BlobShape* ReshapeParameter::mutable_shape() {
24765   set_has_shape();
24766   if (shape_ == NULL) {
24767     shape_ = new ::opencv_caffe::BlobShape;
24768   }
24769   // @@protoc_insertion_point(field_mutable:opencv_caffe.ReshapeParameter.shape)
24770   return shape_;
24771 }
24772 inline ::opencv_caffe::BlobShape* ReshapeParameter::release_shape() {
24773   // @@protoc_insertion_point(field_release:opencv_caffe.ReshapeParameter.shape)
24774   clear_has_shape();
24775   ::opencv_caffe::BlobShape* temp = shape_;
24776   shape_ = NULL;
24777   return temp;
24778 }
24779 inline void ReshapeParameter::set_allocated_shape(::opencv_caffe::BlobShape* shape) {
24780   delete shape_;
24781   shape_ = shape;
24782   if (shape) {
24783     set_has_shape();
24784   } else {
24785     clear_has_shape();
24786   }
24787   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ReshapeParameter.shape)
24788 }
24789
24790 // optional int32 axis = 2 [default = 0];
24791 inline bool ReshapeParameter::has_axis() const {
24792   return (_has_bits_[0] & 0x00000002u) != 0;
24793 }
24794 inline void ReshapeParameter::set_has_axis() {
24795   _has_bits_[0] |= 0x00000002u;
24796 }
24797 inline void ReshapeParameter::clear_has_axis() {
24798   _has_bits_[0] &= ~0x00000002u;
24799 }
24800 inline void ReshapeParameter::clear_axis() {
24801   axis_ = 0;
24802   clear_has_axis();
24803 }
24804 inline ::google::protobuf::int32 ReshapeParameter::axis() const {
24805   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.axis)
24806   return axis_;
24807 }
24808 inline void ReshapeParameter::set_axis(::google::protobuf::int32 value) {
24809   set_has_axis();
24810   axis_ = value;
24811   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.axis)
24812 }
24813
24814 // optional int32 num_axes = 3 [default = -1];
24815 inline bool ReshapeParameter::has_num_axes() const {
24816   return (_has_bits_[0] & 0x00000004u) != 0;
24817 }
24818 inline void ReshapeParameter::set_has_num_axes() {
24819   _has_bits_[0] |= 0x00000004u;
24820 }
24821 inline void ReshapeParameter::clear_has_num_axes() {
24822   _has_bits_[0] &= ~0x00000004u;
24823 }
24824 inline void ReshapeParameter::clear_num_axes() {
24825   num_axes_ = -1;
24826   clear_has_num_axes();
24827 }
24828 inline ::google::protobuf::int32 ReshapeParameter::num_axes() const {
24829   // @@protoc_insertion_point(field_get:opencv_caffe.ReshapeParameter.num_axes)
24830   return num_axes_;
24831 }
24832 inline void ReshapeParameter::set_num_axes(::google::protobuf::int32 value) {
24833   set_has_num_axes();
24834   num_axes_ = value;
24835   // @@protoc_insertion_point(field_set:opencv_caffe.ReshapeParameter.num_axes)
24836 }
24837
24838 inline const ReshapeParameter* ReshapeParameter::internal_default_instance() {
24839   return &ReshapeParameter_default_instance_.get();
24840 }
24841 // -------------------------------------------------------------------
24842
24843 // ScaleParameter
24844
24845 // optional int32 axis = 1 [default = 1];
24846 inline bool ScaleParameter::has_axis() const {
24847   return (_has_bits_[0] & 0x00000001u) != 0;
24848 }
24849 inline void ScaleParameter::set_has_axis() {
24850   _has_bits_[0] |= 0x00000001u;
24851 }
24852 inline void ScaleParameter::clear_has_axis() {
24853   _has_bits_[0] &= ~0x00000001u;
24854 }
24855 inline void ScaleParameter::clear_axis() {
24856   axis_ = 1;
24857   clear_has_axis();
24858 }
24859 inline ::google::protobuf::int32 ScaleParameter::axis() const {
24860   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.axis)
24861   return axis_;
24862 }
24863 inline void ScaleParameter::set_axis(::google::protobuf::int32 value) {
24864   set_has_axis();
24865   axis_ = value;
24866   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.axis)
24867 }
24868
24869 // optional int32 num_axes = 2 [default = 1];
24870 inline bool ScaleParameter::has_num_axes() const {
24871   return (_has_bits_[0] & 0x00000002u) != 0;
24872 }
24873 inline void ScaleParameter::set_has_num_axes() {
24874   _has_bits_[0] |= 0x00000002u;
24875 }
24876 inline void ScaleParameter::clear_has_num_axes() {
24877   _has_bits_[0] &= ~0x00000002u;
24878 }
24879 inline void ScaleParameter::clear_num_axes() {
24880   num_axes_ = 1;
24881   clear_has_num_axes();
24882 }
24883 inline ::google::protobuf::int32 ScaleParameter::num_axes() const {
24884   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.num_axes)
24885   return num_axes_;
24886 }
24887 inline void ScaleParameter::set_num_axes(::google::protobuf::int32 value) {
24888   set_has_num_axes();
24889   num_axes_ = value;
24890   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.num_axes)
24891 }
24892
24893 // optional .opencv_caffe.FillerParameter filler = 3;
24894 inline bool ScaleParameter::has_filler() const {
24895   return (_has_bits_[0] & 0x00000004u) != 0;
24896 }
24897 inline void ScaleParameter::set_has_filler() {
24898   _has_bits_[0] |= 0x00000004u;
24899 }
24900 inline void ScaleParameter::clear_has_filler() {
24901   _has_bits_[0] &= ~0x00000004u;
24902 }
24903 inline void ScaleParameter::clear_filler() {
24904   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
24905   clear_has_filler();
24906 }
24907 inline const ::opencv_caffe::FillerParameter& ScaleParameter::filler() const {
24908   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.filler)
24909   return filler_ != NULL ? *filler_
24910                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24911 }
24912 inline ::opencv_caffe::FillerParameter* ScaleParameter::mutable_filler() {
24913   set_has_filler();
24914   if (filler_ == NULL) {
24915     filler_ = new ::opencv_caffe::FillerParameter;
24916   }
24917   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.filler)
24918   return filler_;
24919 }
24920 inline ::opencv_caffe::FillerParameter* ScaleParameter::release_filler() {
24921   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.filler)
24922   clear_has_filler();
24923   ::opencv_caffe::FillerParameter* temp = filler_;
24924   filler_ = NULL;
24925   return temp;
24926 }
24927 inline void ScaleParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
24928   delete filler_;
24929   filler_ = filler;
24930   if (filler) {
24931     set_has_filler();
24932   } else {
24933     clear_has_filler();
24934   }
24935   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.filler)
24936 }
24937
24938 // optional bool bias_term = 4 [default = false];
24939 inline bool ScaleParameter::has_bias_term() const {
24940   return (_has_bits_[0] & 0x00000008u) != 0;
24941 }
24942 inline void ScaleParameter::set_has_bias_term() {
24943   _has_bits_[0] |= 0x00000008u;
24944 }
24945 inline void ScaleParameter::clear_has_bias_term() {
24946   _has_bits_[0] &= ~0x00000008u;
24947 }
24948 inline void ScaleParameter::clear_bias_term() {
24949   bias_term_ = false;
24950   clear_has_bias_term();
24951 }
24952 inline bool ScaleParameter::bias_term() const {
24953   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_term)
24954   return bias_term_;
24955 }
24956 inline void ScaleParameter::set_bias_term(bool value) {
24957   set_has_bias_term();
24958   bias_term_ = value;
24959   // @@protoc_insertion_point(field_set:opencv_caffe.ScaleParameter.bias_term)
24960 }
24961
24962 // optional .opencv_caffe.FillerParameter bias_filler = 5;
24963 inline bool ScaleParameter::has_bias_filler() const {
24964   return (_has_bits_[0] & 0x00000010u) != 0;
24965 }
24966 inline void ScaleParameter::set_has_bias_filler() {
24967   _has_bits_[0] |= 0x00000010u;
24968 }
24969 inline void ScaleParameter::clear_has_bias_filler() {
24970   _has_bits_[0] &= ~0x00000010u;
24971 }
24972 inline void ScaleParameter::clear_bias_filler() {
24973   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
24974   clear_has_bias_filler();
24975 }
24976 inline const ::opencv_caffe::FillerParameter& ScaleParameter::bias_filler() const {
24977   // @@protoc_insertion_point(field_get:opencv_caffe.ScaleParameter.bias_filler)
24978   return bias_filler_ != NULL ? *bias_filler_
24979                          : *::opencv_caffe::FillerParameter::internal_default_instance();
24980 }
24981 inline ::opencv_caffe::FillerParameter* ScaleParameter::mutable_bias_filler() {
24982   set_has_bias_filler();
24983   if (bias_filler_ == NULL) {
24984     bias_filler_ = new ::opencv_caffe::FillerParameter;
24985   }
24986   // @@protoc_insertion_point(field_mutable:opencv_caffe.ScaleParameter.bias_filler)
24987   return bias_filler_;
24988 }
24989 inline ::opencv_caffe::FillerParameter* ScaleParameter::release_bias_filler() {
24990   // @@protoc_insertion_point(field_release:opencv_caffe.ScaleParameter.bias_filler)
24991   clear_has_bias_filler();
24992   ::opencv_caffe::FillerParameter* temp = bias_filler_;
24993   bias_filler_ = NULL;
24994   return temp;
24995 }
24996 inline void ScaleParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
24997   delete bias_filler_;
24998   bias_filler_ = bias_filler;
24999   if (bias_filler) {
25000     set_has_bias_filler();
25001   } else {
25002     clear_has_bias_filler();
25003   }
25004   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.ScaleParameter.bias_filler)
25005 }
25006
25007 inline const ScaleParameter* ScaleParameter::internal_default_instance() {
25008   return &ScaleParameter_default_instance_.get();
25009 }
25010 // -------------------------------------------------------------------
25011
25012 // SigmoidParameter
25013
25014 // optional .opencv_caffe.SigmoidParameter.Engine engine = 1 [default = DEFAULT];
25015 inline bool SigmoidParameter::has_engine() const {
25016   return (_has_bits_[0] & 0x00000001u) != 0;
25017 }
25018 inline void SigmoidParameter::set_has_engine() {
25019   _has_bits_[0] |= 0x00000001u;
25020 }
25021 inline void SigmoidParameter::clear_has_engine() {
25022   _has_bits_[0] &= ~0x00000001u;
25023 }
25024 inline void SigmoidParameter::clear_engine() {
25025   engine_ = 0;
25026   clear_has_engine();
25027 }
25028 inline ::opencv_caffe::SigmoidParameter_Engine SigmoidParameter::engine() const {
25029   // @@protoc_insertion_point(field_get:opencv_caffe.SigmoidParameter.engine)
25030   return static_cast< ::opencv_caffe::SigmoidParameter_Engine >(engine_);
25031 }
25032 inline void SigmoidParameter::set_engine(::opencv_caffe::SigmoidParameter_Engine value) {
25033   assert(::opencv_caffe::SigmoidParameter_Engine_IsValid(value));
25034   set_has_engine();
25035   engine_ = value;
25036   // @@protoc_insertion_point(field_set:opencv_caffe.SigmoidParameter.engine)
25037 }
25038
25039 inline const SigmoidParameter* SigmoidParameter::internal_default_instance() {
25040   return &SigmoidParameter_default_instance_.get();
25041 }
25042 // -------------------------------------------------------------------
25043
25044 // SliceParameter
25045
25046 // optional int32 axis = 3 [default = 1];
25047 inline bool SliceParameter::has_axis() const {
25048   return (_has_bits_[0] & 0x00000001u) != 0;
25049 }
25050 inline void SliceParameter::set_has_axis() {
25051   _has_bits_[0] |= 0x00000001u;
25052 }
25053 inline void SliceParameter::clear_has_axis() {
25054   _has_bits_[0] &= ~0x00000001u;
25055 }
25056 inline void SliceParameter::clear_axis() {
25057   axis_ = 1;
25058   clear_has_axis();
25059 }
25060 inline ::google::protobuf::int32 SliceParameter::axis() const {
25061   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.axis)
25062   return axis_;
25063 }
25064 inline void SliceParameter::set_axis(::google::protobuf::int32 value) {
25065   set_has_axis();
25066   axis_ = value;
25067   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.axis)
25068 }
25069
25070 // repeated uint32 slice_point = 2;
25071 inline int SliceParameter::slice_point_size() const {
25072   return slice_point_.size();
25073 }
25074 inline void SliceParameter::clear_slice_point() {
25075   slice_point_.Clear();
25076 }
25077 inline ::google::protobuf::uint32 SliceParameter::slice_point(int index) const {
25078   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_point)
25079   return slice_point_.Get(index);
25080 }
25081 inline void SliceParameter::set_slice_point(int index, ::google::protobuf::uint32 value) {
25082   slice_point_.Set(index, value);
25083   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_point)
25084 }
25085 inline void SliceParameter::add_slice_point(::google::protobuf::uint32 value) {
25086   slice_point_.Add(value);
25087   // @@protoc_insertion_point(field_add:opencv_caffe.SliceParameter.slice_point)
25088 }
25089 inline const ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >&
25090 SliceParameter::slice_point() const {
25091   // @@protoc_insertion_point(field_list:opencv_caffe.SliceParameter.slice_point)
25092   return slice_point_;
25093 }
25094 inline ::google::protobuf::RepeatedField< ::google::protobuf::uint32 >*
25095 SliceParameter::mutable_slice_point() {
25096   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.SliceParameter.slice_point)
25097   return &slice_point_;
25098 }
25099
25100 // optional uint32 slice_dim = 1 [default = 1];
25101 inline bool SliceParameter::has_slice_dim() const {
25102   return (_has_bits_[0] & 0x00000004u) != 0;
25103 }
25104 inline void SliceParameter::set_has_slice_dim() {
25105   _has_bits_[0] |= 0x00000004u;
25106 }
25107 inline void SliceParameter::clear_has_slice_dim() {
25108   _has_bits_[0] &= ~0x00000004u;
25109 }
25110 inline void SliceParameter::clear_slice_dim() {
25111   slice_dim_ = 1u;
25112   clear_has_slice_dim();
25113 }
25114 inline ::google::protobuf::uint32 SliceParameter::slice_dim() const {
25115   // @@protoc_insertion_point(field_get:opencv_caffe.SliceParameter.slice_dim)
25116   return slice_dim_;
25117 }
25118 inline void SliceParameter::set_slice_dim(::google::protobuf::uint32 value) {
25119   set_has_slice_dim();
25120   slice_dim_ = value;
25121   // @@protoc_insertion_point(field_set:opencv_caffe.SliceParameter.slice_dim)
25122 }
25123
25124 inline const SliceParameter* SliceParameter::internal_default_instance() {
25125   return &SliceParameter_default_instance_.get();
25126 }
25127 // -------------------------------------------------------------------
25128
25129 // SoftmaxParameter
25130
25131 // optional .opencv_caffe.SoftmaxParameter.Engine engine = 1 [default = DEFAULT];
25132 inline bool SoftmaxParameter::has_engine() const {
25133   return (_has_bits_[0] & 0x00000001u) != 0;
25134 }
25135 inline void SoftmaxParameter::set_has_engine() {
25136   _has_bits_[0] |= 0x00000001u;
25137 }
25138 inline void SoftmaxParameter::clear_has_engine() {
25139   _has_bits_[0] &= ~0x00000001u;
25140 }
25141 inline void SoftmaxParameter::clear_engine() {
25142   engine_ = 0;
25143   clear_has_engine();
25144 }
25145 inline ::opencv_caffe::SoftmaxParameter_Engine SoftmaxParameter::engine() const {
25146   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.engine)
25147   return static_cast< ::opencv_caffe::SoftmaxParameter_Engine >(engine_);
25148 }
25149 inline void SoftmaxParameter::set_engine(::opencv_caffe::SoftmaxParameter_Engine value) {
25150   assert(::opencv_caffe::SoftmaxParameter_Engine_IsValid(value));
25151   set_has_engine();
25152   engine_ = value;
25153   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.engine)
25154 }
25155
25156 // optional int32 axis = 2 [default = 1];
25157 inline bool SoftmaxParameter::has_axis() const {
25158   return (_has_bits_[0] & 0x00000002u) != 0;
25159 }
25160 inline void SoftmaxParameter::set_has_axis() {
25161   _has_bits_[0] |= 0x00000002u;
25162 }
25163 inline void SoftmaxParameter::clear_has_axis() {
25164   _has_bits_[0] &= ~0x00000002u;
25165 }
25166 inline void SoftmaxParameter::clear_axis() {
25167   axis_ = 1;
25168   clear_has_axis();
25169 }
25170 inline ::google::protobuf::int32 SoftmaxParameter::axis() const {
25171   // @@protoc_insertion_point(field_get:opencv_caffe.SoftmaxParameter.axis)
25172   return axis_;
25173 }
25174 inline void SoftmaxParameter::set_axis(::google::protobuf::int32 value) {
25175   set_has_axis();
25176   axis_ = value;
25177   // @@protoc_insertion_point(field_set:opencv_caffe.SoftmaxParameter.axis)
25178 }
25179
25180 inline const SoftmaxParameter* SoftmaxParameter::internal_default_instance() {
25181   return &SoftmaxParameter_default_instance_.get();
25182 }
25183 // -------------------------------------------------------------------
25184
25185 // TanHParameter
25186
25187 // optional .opencv_caffe.TanHParameter.Engine engine = 1 [default = DEFAULT];
25188 inline bool TanHParameter::has_engine() const {
25189   return (_has_bits_[0] & 0x00000001u) != 0;
25190 }
25191 inline void TanHParameter::set_has_engine() {
25192   _has_bits_[0] |= 0x00000001u;
25193 }
25194 inline void TanHParameter::clear_has_engine() {
25195   _has_bits_[0] &= ~0x00000001u;
25196 }
25197 inline void TanHParameter::clear_engine() {
25198   engine_ = 0;
25199   clear_has_engine();
25200 }
25201 inline ::opencv_caffe::TanHParameter_Engine TanHParameter::engine() const {
25202   // @@protoc_insertion_point(field_get:opencv_caffe.TanHParameter.engine)
25203   return static_cast< ::opencv_caffe::TanHParameter_Engine >(engine_);
25204 }
25205 inline void TanHParameter::set_engine(::opencv_caffe::TanHParameter_Engine value) {
25206   assert(::opencv_caffe::TanHParameter_Engine_IsValid(value));
25207   set_has_engine();
25208   engine_ = value;
25209   // @@protoc_insertion_point(field_set:opencv_caffe.TanHParameter.engine)
25210 }
25211
25212 inline const TanHParameter* TanHParameter::internal_default_instance() {
25213   return &TanHParameter_default_instance_.get();
25214 }
25215 // -------------------------------------------------------------------
25216
25217 // TileParameter
25218
25219 // optional int32 axis = 1 [default = 1];
25220 inline bool TileParameter::has_axis() const {
25221   return (_has_bits_[0] & 0x00000001u) != 0;
25222 }
25223 inline void TileParameter::set_has_axis() {
25224   _has_bits_[0] |= 0x00000001u;
25225 }
25226 inline void TileParameter::clear_has_axis() {
25227   _has_bits_[0] &= ~0x00000001u;
25228 }
25229 inline void TileParameter::clear_axis() {
25230   axis_ = 1;
25231   clear_has_axis();
25232 }
25233 inline ::google::protobuf::int32 TileParameter::axis() const {
25234   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.axis)
25235   return axis_;
25236 }
25237 inline void TileParameter::set_axis(::google::protobuf::int32 value) {
25238   set_has_axis();
25239   axis_ = value;
25240   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.axis)
25241 }
25242
25243 // optional int32 tiles = 2;
25244 inline bool TileParameter::has_tiles() const {
25245   return (_has_bits_[0] & 0x00000002u) != 0;
25246 }
25247 inline void TileParameter::set_has_tiles() {
25248   _has_bits_[0] |= 0x00000002u;
25249 }
25250 inline void TileParameter::clear_has_tiles() {
25251   _has_bits_[0] &= ~0x00000002u;
25252 }
25253 inline void TileParameter::clear_tiles() {
25254   tiles_ = 0;
25255   clear_has_tiles();
25256 }
25257 inline ::google::protobuf::int32 TileParameter::tiles() const {
25258   // @@protoc_insertion_point(field_get:opencv_caffe.TileParameter.tiles)
25259   return tiles_;
25260 }
25261 inline void TileParameter::set_tiles(::google::protobuf::int32 value) {
25262   set_has_tiles();
25263   tiles_ = value;
25264   // @@protoc_insertion_point(field_set:opencv_caffe.TileParameter.tiles)
25265 }
25266
25267 inline const TileParameter* TileParameter::internal_default_instance() {
25268   return &TileParameter_default_instance_.get();
25269 }
25270 // -------------------------------------------------------------------
25271
25272 // ThresholdParameter
25273
25274 // optional float threshold = 1 [default = 0];
25275 inline bool ThresholdParameter::has_threshold() const {
25276   return (_has_bits_[0] & 0x00000001u) != 0;
25277 }
25278 inline void ThresholdParameter::set_has_threshold() {
25279   _has_bits_[0] |= 0x00000001u;
25280 }
25281 inline void ThresholdParameter::clear_has_threshold() {
25282   _has_bits_[0] &= ~0x00000001u;
25283 }
25284 inline void ThresholdParameter::clear_threshold() {
25285   threshold_ = 0;
25286   clear_has_threshold();
25287 }
25288 inline float ThresholdParameter::threshold() const {
25289   // @@protoc_insertion_point(field_get:opencv_caffe.ThresholdParameter.threshold)
25290   return threshold_;
25291 }
25292 inline void ThresholdParameter::set_threshold(float value) {
25293   set_has_threshold();
25294   threshold_ = value;
25295   // @@protoc_insertion_point(field_set:opencv_caffe.ThresholdParameter.threshold)
25296 }
25297
25298 inline const ThresholdParameter* ThresholdParameter::internal_default_instance() {
25299   return &ThresholdParameter_default_instance_.get();
25300 }
25301 // -------------------------------------------------------------------
25302
25303 // WindowDataParameter
25304
25305 // optional string source = 1;
25306 inline bool WindowDataParameter::has_source() const {
25307   return (_has_bits_[0] & 0x00000001u) != 0;
25308 }
25309 inline void WindowDataParameter::set_has_source() {
25310   _has_bits_[0] |= 0x00000001u;
25311 }
25312 inline void WindowDataParameter::clear_has_source() {
25313   _has_bits_[0] &= ~0x00000001u;
25314 }
25315 inline void WindowDataParameter::clear_source() {
25316   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25317   clear_has_source();
25318 }
25319 inline const ::std::string& WindowDataParameter::source() const {
25320   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.source)
25321   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25322 }
25323 inline void WindowDataParameter::set_source(const ::std::string& value) {
25324   set_has_source();
25325   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25326   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.source)
25327 }
25328 inline void WindowDataParameter::set_source(const char* value) {
25329   set_has_source();
25330   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25331   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.source)
25332 }
25333 inline void WindowDataParameter::set_source(const char* value, size_t size) {
25334   set_has_source();
25335   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25336       ::std::string(reinterpret_cast<const char*>(value), size));
25337   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.source)
25338 }
25339 inline ::std::string* WindowDataParameter::mutable_source() {
25340   set_has_source();
25341   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.source)
25342   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25343 }
25344 inline ::std::string* WindowDataParameter::release_source() {
25345   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.source)
25346   clear_has_source();
25347   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25348 }
25349 inline void WindowDataParameter::set_allocated_source(::std::string* source) {
25350   if (source != NULL) {
25351     set_has_source();
25352   } else {
25353     clear_has_source();
25354   }
25355   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
25356   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.source)
25357 }
25358
25359 // optional float scale = 2 [default = 1];
25360 inline bool WindowDataParameter::has_scale() const {
25361   return (_has_bits_[0] & 0x00000002u) != 0;
25362 }
25363 inline void WindowDataParameter::set_has_scale() {
25364   _has_bits_[0] |= 0x00000002u;
25365 }
25366 inline void WindowDataParameter::clear_has_scale() {
25367   _has_bits_[0] &= ~0x00000002u;
25368 }
25369 inline void WindowDataParameter::clear_scale() {
25370   scale_ = 1;
25371   clear_has_scale();
25372 }
25373 inline float WindowDataParameter::scale() const {
25374   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.scale)
25375   return scale_;
25376 }
25377 inline void WindowDataParameter::set_scale(float value) {
25378   set_has_scale();
25379   scale_ = value;
25380   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.scale)
25381 }
25382
25383 // optional string mean_file = 3;
25384 inline bool WindowDataParameter::has_mean_file() const {
25385   return (_has_bits_[0] & 0x00000004u) != 0;
25386 }
25387 inline void WindowDataParameter::set_has_mean_file() {
25388   _has_bits_[0] |= 0x00000004u;
25389 }
25390 inline void WindowDataParameter::clear_has_mean_file() {
25391   _has_bits_[0] &= ~0x00000004u;
25392 }
25393 inline void WindowDataParameter::clear_mean_file() {
25394   mean_file_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25395   clear_has_mean_file();
25396 }
25397 inline const ::std::string& WindowDataParameter::mean_file() const {
25398   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mean_file)
25399   return mean_file_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25400 }
25401 inline void WindowDataParameter::set_mean_file(const ::std::string& value) {
25402   set_has_mean_file();
25403   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25404   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mean_file)
25405 }
25406 inline void WindowDataParameter::set_mean_file(const char* value) {
25407   set_has_mean_file();
25408   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25409   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.mean_file)
25410 }
25411 inline void WindowDataParameter::set_mean_file(const char* value, size_t size) {
25412   set_has_mean_file();
25413   mean_file_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25414       ::std::string(reinterpret_cast<const char*>(value), size));
25415   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.mean_file)
25416 }
25417 inline ::std::string* WindowDataParameter::mutable_mean_file() {
25418   set_has_mean_file();
25419   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.mean_file)
25420   return mean_file_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25421 }
25422 inline ::std::string* WindowDataParameter::release_mean_file() {
25423   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.mean_file)
25424   clear_has_mean_file();
25425   return mean_file_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25426 }
25427 inline void WindowDataParameter::set_allocated_mean_file(::std::string* mean_file) {
25428   if (mean_file != NULL) {
25429     set_has_mean_file();
25430   } else {
25431     clear_has_mean_file();
25432   }
25433   mean_file_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), mean_file);
25434   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.mean_file)
25435 }
25436
25437 // optional uint32 batch_size = 4;
25438 inline bool WindowDataParameter::has_batch_size() const {
25439   return (_has_bits_[0] & 0x00000008u) != 0;
25440 }
25441 inline void WindowDataParameter::set_has_batch_size() {
25442   _has_bits_[0] |= 0x00000008u;
25443 }
25444 inline void WindowDataParameter::clear_has_batch_size() {
25445   _has_bits_[0] &= ~0x00000008u;
25446 }
25447 inline void WindowDataParameter::clear_batch_size() {
25448   batch_size_ = 0u;
25449   clear_has_batch_size();
25450 }
25451 inline ::google::protobuf::uint32 WindowDataParameter::batch_size() const {
25452   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.batch_size)
25453   return batch_size_;
25454 }
25455 inline void WindowDataParameter::set_batch_size(::google::protobuf::uint32 value) {
25456   set_has_batch_size();
25457   batch_size_ = value;
25458   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.batch_size)
25459 }
25460
25461 // optional uint32 crop_size = 5 [default = 0];
25462 inline bool WindowDataParameter::has_crop_size() const {
25463   return (_has_bits_[0] & 0x00000010u) != 0;
25464 }
25465 inline void WindowDataParameter::set_has_crop_size() {
25466   _has_bits_[0] |= 0x00000010u;
25467 }
25468 inline void WindowDataParameter::clear_has_crop_size() {
25469   _has_bits_[0] &= ~0x00000010u;
25470 }
25471 inline void WindowDataParameter::clear_crop_size() {
25472   crop_size_ = 0u;
25473   clear_has_crop_size();
25474 }
25475 inline ::google::protobuf::uint32 WindowDataParameter::crop_size() const {
25476   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_size)
25477   return crop_size_;
25478 }
25479 inline void WindowDataParameter::set_crop_size(::google::protobuf::uint32 value) {
25480   set_has_crop_size();
25481   crop_size_ = value;
25482   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_size)
25483 }
25484
25485 // optional bool mirror = 6 [default = false];
25486 inline bool WindowDataParameter::has_mirror() const {
25487   return (_has_bits_[0] & 0x00000020u) != 0;
25488 }
25489 inline void WindowDataParameter::set_has_mirror() {
25490   _has_bits_[0] |= 0x00000020u;
25491 }
25492 inline void WindowDataParameter::clear_has_mirror() {
25493   _has_bits_[0] &= ~0x00000020u;
25494 }
25495 inline void WindowDataParameter::clear_mirror() {
25496   mirror_ = false;
25497   clear_has_mirror();
25498 }
25499 inline bool WindowDataParameter::mirror() const {
25500   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.mirror)
25501   return mirror_;
25502 }
25503 inline void WindowDataParameter::set_mirror(bool value) {
25504   set_has_mirror();
25505   mirror_ = value;
25506   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.mirror)
25507 }
25508
25509 // optional float fg_threshold = 7 [default = 0.5];
25510 inline bool WindowDataParameter::has_fg_threshold() const {
25511   return (_has_bits_[0] & 0x00000040u) != 0;
25512 }
25513 inline void WindowDataParameter::set_has_fg_threshold() {
25514   _has_bits_[0] |= 0x00000040u;
25515 }
25516 inline void WindowDataParameter::clear_has_fg_threshold() {
25517   _has_bits_[0] &= ~0x00000040u;
25518 }
25519 inline void WindowDataParameter::clear_fg_threshold() {
25520   fg_threshold_ = 0.5f;
25521   clear_has_fg_threshold();
25522 }
25523 inline float WindowDataParameter::fg_threshold() const {
25524   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_threshold)
25525   return fg_threshold_;
25526 }
25527 inline void WindowDataParameter::set_fg_threshold(float value) {
25528   set_has_fg_threshold();
25529   fg_threshold_ = value;
25530   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_threshold)
25531 }
25532
25533 // optional float bg_threshold = 8 [default = 0.5];
25534 inline bool WindowDataParameter::has_bg_threshold() const {
25535   return (_has_bits_[0] & 0x00000080u) != 0;
25536 }
25537 inline void WindowDataParameter::set_has_bg_threshold() {
25538   _has_bits_[0] |= 0x00000080u;
25539 }
25540 inline void WindowDataParameter::clear_has_bg_threshold() {
25541   _has_bits_[0] &= ~0x00000080u;
25542 }
25543 inline void WindowDataParameter::clear_bg_threshold() {
25544   bg_threshold_ = 0.5f;
25545   clear_has_bg_threshold();
25546 }
25547 inline float WindowDataParameter::bg_threshold() const {
25548   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.bg_threshold)
25549   return bg_threshold_;
25550 }
25551 inline void WindowDataParameter::set_bg_threshold(float value) {
25552   set_has_bg_threshold();
25553   bg_threshold_ = value;
25554   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.bg_threshold)
25555 }
25556
25557 // optional float fg_fraction = 9 [default = 0.25];
25558 inline bool WindowDataParameter::has_fg_fraction() const {
25559   return (_has_bits_[0] & 0x00000100u) != 0;
25560 }
25561 inline void WindowDataParameter::set_has_fg_fraction() {
25562   _has_bits_[0] |= 0x00000100u;
25563 }
25564 inline void WindowDataParameter::clear_has_fg_fraction() {
25565   _has_bits_[0] &= ~0x00000100u;
25566 }
25567 inline void WindowDataParameter::clear_fg_fraction() {
25568   fg_fraction_ = 0.25f;
25569   clear_has_fg_fraction();
25570 }
25571 inline float WindowDataParameter::fg_fraction() const {
25572   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.fg_fraction)
25573   return fg_fraction_;
25574 }
25575 inline void WindowDataParameter::set_fg_fraction(float value) {
25576   set_has_fg_fraction();
25577   fg_fraction_ = value;
25578   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.fg_fraction)
25579 }
25580
25581 // optional uint32 context_pad = 10 [default = 0];
25582 inline bool WindowDataParameter::has_context_pad() const {
25583   return (_has_bits_[0] & 0x00000200u) != 0;
25584 }
25585 inline void WindowDataParameter::set_has_context_pad() {
25586   _has_bits_[0] |= 0x00000200u;
25587 }
25588 inline void WindowDataParameter::clear_has_context_pad() {
25589   _has_bits_[0] &= ~0x00000200u;
25590 }
25591 inline void WindowDataParameter::clear_context_pad() {
25592   context_pad_ = 0u;
25593   clear_has_context_pad();
25594 }
25595 inline ::google::protobuf::uint32 WindowDataParameter::context_pad() const {
25596   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.context_pad)
25597   return context_pad_;
25598 }
25599 inline void WindowDataParameter::set_context_pad(::google::protobuf::uint32 value) {
25600   set_has_context_pad();
25601   context_pad_ = value;
25602   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.context_pad)
25603 }
25604
25605 // optional string crop_mode = 11 [default = "warp"];
25606 inline bool WindowDataParameter::has_crop_mode() const {
25607   return (_has_bits_[0] & 0x00000400u) != 0;
25608 }
25609 inline void WindowDataParameter::set_has_crop_mode() {
25610   _has_bits_[0] |= 0x00000400u;
25611 }
25612 inline void WindowDataParameter::clear_has_crop_mode() {
25613   _has_bits_[0] &= ~0x00000400u;
25614 }
25615 inline void WindowDataParameter::clear_crop_mode() {
25616   crop_mode_.ClearToDefaultNoArena(_default_crop_mode_);
25617   clear_has_crop_mode();
25618 }
25619 inline const ::std::string& WindowDataParameter::crop_mode() const {
25620   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.crop_mode)
25621   return crop_mode_.GetNoArena(_default_crop_mode_);
25622 }
25623 inline void WindowDataParameter::set_crop_mode(const ::std::string& value) {
25624   set_has_crop_mode();
25625   crop_mode_.SetNoArena(_default_crop_mode_, value);
25626   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.crop_mode)
25627 }
25628 inline void WindowDataParameter::set_crop_mode(const char* value) {
25629   set_has_crop_mode();
25630   crop_mode_.SetNoArena(_default_crop_mode_, ::std::string(value));
25631   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.crop_mode)
25632 }
25633 inline void WindowDataParameter::set_crop_mode(const char* value, size_t size) {
25634   set_has_crop_mode();
25635   crop_mode_.SetNoArena(_default_crop_mode_,
25636       ::std::string(reinterpret_cast<const char*>(value), size));
25637   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.crop_mode)
25638 }
25639 inline ::std::string* WindowDataParameter::mutable_crop_mode() {
25640   set_has_crop_mode();
25641   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.crop_mode)
25642   return crop_mode_.MutableNoArena(_default_crop_mode_);
25643 }
25644 inline ::std::string* WindowDataParameter::release_crop_mode() {
25645   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.crop_mode)
25646   clear_has_crop_mode();
25647   return crop_mode_.ReleaseNoArena(_default_crop_mode_);
25648 }
25649 inline void WindowDataParameter::set_allocated_crop_mode(::std::string* crop_mode) {
25650   if (crop_mode != NULL) {
25651     set_has_crop_mode();
25652   } else {
25653     clear_has_crop_mode();
25654   }
25655   crop_mode_.SetAllocatedNoArena(_default_crop_mode_, crop_mode);
25656   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.crop_mode)
25657 }
25658
25659 // optional bool cache_images = 12 [default = false];
25660 inline bool WindowDataParameter::has_cache_images() const {
25661   return (_has_bits_[0] & 0x00000800u) != 0;
25662 }
25663 inline void WindowDataParameter::set_has_cache_images() {
25664   _has_bits_[0] |= 0x00000800u;
25665 }
25666 inline void WindowDataParameter::clear_has_cache_images() {
25667   _has_bits_[0] &= ~0x00000800u;
25668 }
25669 inline void WindowDataParameter::clear_cache_images() {
25670   cache_images_ = false;
25671   clear_has_cache_images();
25672 }
25673 inline bool WindowDataParameter::cache_images() const {
25674   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.cache_images)
25675   return cache_images_;
25676 }
25677 inline void WindowDataParameter::set_cache_images(bool value) {
25678   set_has_cache_images();
25679   cache_images_ = value;
25680   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.cache_images)
25681 }
25682
25683 // optional string root_folder = 13 [default = ""];
25684 inline bool WindowDataParameter::has_root_folder() const {
25685   return (_has_bits_[0] & 0x00001000u) != 0;
25686 }
25687 inline void WindowDataParameter::set_has_root_folder() {
25688   _has_bits_[0] |= 0x00001000u;
25689 }
25690 inline void WindowDataParameter::clear_has_root_folder() {
25691   _has_bits_[0] &= ~0x00001000u;
25692 }
25693 inline void WindowDataParameter::clear_root_folder() {
25694   root_folder_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25695   clear_has_root_folder();
25696 }
25697 inline const ::std::string& WindowDataParameter::root_folder() const {
25698   // @@protoc_insertion_point(field_get:opencv_caffe.WindowDataParameter.root_folder)
25699   return root_folder_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25700 }
25701 inline void WindowDataParameter::set_root_folder(const ::std::string& value) {
25702   set_has_root_folder();
25703   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25704   // @@protoc_insertion_point(field_set:opencv_caffe.WindowDataParameter.root_folder)
25705 }
25706 inline void WindowDataParameter::set_root_folder(const char* value) {
25707   set_has_root_folder();
25708   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25709   // @@protoc_insertion_point(field_set_char:opencv_caffe.WindowDataParameter.root_folder)
25710 }
25711 inline void WindowDataParameter::set_root_folder(const char* value, size_t size) {
25712   set_has_root_folder();
25713   root_folder_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25714       ::std::string(reinterpret_cast<const char*>(value), size));
25715   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.WindowDataParameter.root_folder)
25716 }
25717 inline ::std::string* WindowDataParameter::mutable_root_folder() {
25718   set_has_root_folder();
25719   // @@protoc_insertion_point(field_mutable:opencv_caffe.WindowDataParameter.root_folder)
25720   return root_folder_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25721 }
25722 inline ::std::string* WindowDataParameter::release_root_folder() {
25723   // @@protoc_insertion_point(field_release:opencv_caffe.WindowDataParameter.root_folder)
25724   clear_has_root_folder();
25725   return root_folder_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25726 }
25727 inline void WindowDataParameter::set_allocated_root_folder(::std::string* root_folder) {
25728   if (root_folder != NULL) {
25729     set_has_root_folder();
25730   } else {
25731     clear_has_root_folder();
25732   }
25733   root_folder_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), root_folder);
25734   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.WindowDataParameter.root_folder)
25735 }
25736
25737 inline const WindowDataParameter* WindowDataParameter::internal_default_instance() {
25738   return &WindowDataParameter_default_instance_.get();
25739 }
25740 // -------------------------------------------------------------------
25741
25742 // SPPParameter
25743
25744 // optional uint32 pyramid_height = 1;
25745 inline bool SPPParameter::has_pyramid_height() const {
25746   return (_has_bits_[0] & 0x00000001u) != 0;
25747 }
25748 inline void SPPParameter::set_has_pyramid_height() {
25749   _has_bits_[0] |= 0x00000001u;
25750 }
25751 inline void SPPParameter::clear_has_pyramid_height() {
25752   _has_bits_[0] &= ~0x00000001u;
25753 }
25754 inline void SPPParameter::clear_pyramid_height() {
25755   pyramid_height_ = 0u;
25756   clear_has_pyramid_height();
25757 }
25758 inline ::google::protobuf::uint32 SPPParameter::pyramid_height() const {
25759   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pyramid_height)
25760   return pyramid_height_;
25761 }
25762 inline void SPPParameter::set_pyramid_height(::google::protobuf::uint32 value) {
25763   set_has_pyramid_height();
25764   pyramid_height_ = value;
25765   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pyramid_height)
25766 }
25767
25768 // optional .opencv_caffe.SPPParameter.PoolMethod pool = 2 [default = MAX];
25769 inline bool SPPParameter::has_pool() const {
25770   return (_has_bits_[0] & 0x00000002u) != 0;
25771 }
25772 inline void SPPParameter::set_has_pool() {
25773   _has_bits_[0] |= 0x00000002u;
25774 }
25775 inline void SPPParameter::clear_has_pool() {
25776   _has_bits_[0] &= ~0x00000002u;
25777 }
25778 inline void SPPParameter::clear_pool() {
25779   pool_ = 0;
25780   clear_has_pool();
25781 }
25782 inline ::opencv_caffe::SPPParameter_PoolMethod SPPParameter::pool() const {
25783   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.pool)
25784   return static_cast< ::opencv_caffe::SPPParameter_PoolMethod >(pool_);
25785 }
25786 inline void SPPParameter::set_pool(::opencv_caffe::SPPParameter_PoolMethod value) {
25787   assert(::opencv_caffe::SPPParameter_PoolMethod_IsValid(value));
25788   set_has_pool();
25789   pool_ = value;
25790   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.pool)
25791 }
25792
25793 // optional .opencv_caffe.SPPParameter.Engine engine = 6 [default = DEFAULT];
25794 inline bool SPPParameter::has_engine() const {
25795   return (_has_bits_[0] & 0x00000004u) != 0;
25796 }
25797 inline void SPPParameter::set_has_engine() {
25798   _has_bits_[0] |= 0x00000004u;
25799 }
25800 inline void SPPParameter::clear_has_engine() {
25801   _has_bits_[0] &= ~0x00000004u;
25802 }
25803 inline void SPPParameter::clear_engine() {
25804   engine_ = 0;
25805   clear_has_engine();
25806 }
25807 inline ::opencv_caffe::SPPParameter_Engine SPPParameter::engine() const {
25808   // @@protoc_insertion_point(field_get:opencv_caffe.SPPParameter.engine)
25809   return static_cast< ::opencv_caffe::SPPParameter_Engine >(engine_);
25810 }
25811 inline void SPPParameter::set_engine(::opencv_caffe::SPPParameter_Engine value) {
25812   assert(::opencv_caffe::SPPParameter_Engine_IsValid(value));
25813   set_has_engine();
25814   engine_ = value;
25815   // @@protoc_insertion_point(field_set:opencv_caffe.SPPParameter.engine)
25816 }
25817
25818 inline const SPPParameter* SPPParameter::internal_default_instance() {
25819   return &SPPParameter_default_instance_.get();
25820 }
25821 // -------------------------------------------------------------------
25822
25823 // V1LayerParameter
25824
25825 // repeated string bottom = 2;
25826 inline int V1LayerParameter::bottom_size() const {
25827   return bottom_.size();
25828 }
25829 inline void V1LayerParameter::clear_bottom() {
25830   bottom_.Clear();
25831 }
25832 inline const ::std::string& V1LayerParameter::bottom(int index) const {
25833   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.bottom)
25834   return bottom_.Get(index);
25835 }
25836 inline ::std::string* V1LayerParameter::mutable_bottom(int index) {
25837   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.bottom)
25838   return bottom_.Mutable(index);
25839 }
25840 inline void V1LayerParameter::set_bottom(int index, const ::std::string& value) {
25841   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.bottom)
25842   bottom_.Mutable(index)->assign(value);
25843 }
25844 inline void V1LayerParameter::set_bottom(int index, const char* value) {
25845   bottom_.Mutable(index)->assign(value);
25846   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.bottom)
25847 }
25848 inline void V1LayerParameter::set_bottom(int index, const char* value, size_t size) {
25849   bottom_.Mutable(index)->assign(
25850     reinterpret_cast<const char*>(value), size);
25851   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.bottom)
25852 }
25853 inline ::std::string* V1LayerParameter::add_bottom() {
25854   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.bottom)
25855   return bottom_.Add();
25856 }
25857 inline void V1LayerParameter::add_bottom(const ::std::string& value) {
25858   bottom_.Add()->assign(value);
25859   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.bottom)
25860 }
25861 inline void V1LayerParameter::add_bottom(const char* value) {
25862   bottom_.Add()->assign(value);
25863   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.bottom)
25864 }
25865 inline void V1LayerParameter::add_bottom(const char* value, size_t size) {
25866   bottom_.Add()->assign(reinterpret_cast<const char*>(value), size);
25867   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.bottom)
25868 }
25869 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
25870 V1LayerParameter::bottom() const {
25871   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.bottom)
25872   return bottom_;
25873 }
25874 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
25875 V1LayerParameter::mutable_bottom() {
25876   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.bottom)
25877   return &bottom_;
25878 }
25879
25880 // repeated string top = 3;
25881 inline int V1LayerParameter::top_size() const {
25882   return top_.size();
25883 }
25884 inline void V1LayerParameter::clear_top() {
25885   top_.Clear();
25886 }
25887 inline const ::std::string& V1LayerParameter::top(int index) const {
25888   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.top)
25889   return top_.Get(index);
25890 }
25891 inline ::std::string* V1LayerParameter::mutable_top(int index) {
25892   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.top)
25893   return top_.Mutable(index);
25894 }
25895 inline void V1LayerParameter::set_top(int index, const ::std::string& value) {
25896   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.top)
25897   top_.Mutable(index)->assign(value);
25898 }
25899 inline void V1LayerParameter::set_top(int index, const char* value) {
25900   top_.Mutable(index)->assign(value);
25901   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.top)
25902 }
25903 inline void V1LayerParameter::set_top(int index, const char* value, size_t size) {
25904   top_.Mutable(index)->assign(
25905     reinterpret_cast<const char*>(value), size);
25906   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.top)
25907 }
25908 inline ::std::string* V1LayerParameter::add_top() {
25909   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.top)
25910   return top_.Add();
25911 }
25912 inline void V1LayerParameter::add_top(const ::std::string& value) {
25913   top_.Add()->assign(value);
25914   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.top)
25915 }
25916 inline void V1LayerParameter::add_top(const char* value) {
25917   top_.Add()->assign(value);
25918   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.top)
25919 }
25920 inline void V1LayerParameter::add_top(const char* value, size_t size) {
25921   top_.Add()->assign(reinterpret_cast<const char*>(value), size);
25922   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.top)
25923 }
25924 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
25925 V1LayerParameter::top() const {
25926   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.top)
25927   return top_;
25928 }
25929 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
25930 V1LayerParameter::mutable_top() {
25931   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.top)
25932   return &top_;
25933 }
25934
25935 // optional string name = 4;
25936 inline bool V1LayerParameter::has_name() const {
25937   return (_has_bits_[0] & 0x00000004u) != 0;
25938 }
25939 inline void V1LayerParameter::set_has_name() {
25940   _has_bits_[0] |= 0x00000004u;
25941 }
25942 inline void V1LayerParameter::clear_has_name() {
25943   _has_bits_[0] &= ~0x00000004u;
25944 }
25945 inline void V1LayerParameter::clear_name() {
25946   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25947   clear_has_name();
25948 }
25949 inline const ::std::string& V1LayerParameter::name() const {
25950   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.name)
25951   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25952 }
25953 inline void V1LayerParameter::set_name(const ::std::string& value) {
25954   set_has_name();
25955   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
25956   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.name)
25957 }
25958 inline void V1LayerParameter::set_name(const char* value) {
25959   set_has_name();
25960   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
25961   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.name)
25962 }
25963 inline void V1LayerParameter::set_name(const char* value, size_t size) {
25964   set_has_name();
25965   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
25966       ::std::string(reinterpret_cast<const char*>(value), size));
25967   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.name)
25968 }
25969 inline ::std::string* V1LayerParameter::mutable_name() {
25970   set_has_name();
25971   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.name)
25972   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25973 }
25974 inline ::std::string* V1LayerParameter::release_name() {
25975   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.name)
25976   clear_has_name();
25977   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
25978 }
25979 inline void V1LayerParameter::set_allocated_name(::std::string* name) {
25980   if (name != NULL) {
25981     set_has_name();
25982   } else {
25983     clear_has_name();
25984   }
25985   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
25986   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.name)
25987 }
25988
25989 // repeated .opencv_caffe.NetStateRule include = 32;
25990 inline int V1LayerParameter::include_size() const {
25991   return include_.size();
25992 }
25993 inline void V1LayerParameter::clear_include() {
25994   include_.Clear();
25995 }
25996 inline const ::opencv_caffe::NetStateRule& V1LayerParameter::include(int index) const {
25997   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.include)
25998   return include_.Get(index);
25999 }
26000 inline ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_include(int index) {
26001   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.include)
26002   return include_.Mutable(index);
26003 }
26004 inline ::opencv_caffe::NetStateRule* V1LayerParameter::add_include() {
26005   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.include)
26006   return include_.Add();
26007 }
26008 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
26009 V1LayerParameter::mutable_include() {
26010   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.include)
26011   return &include_;
26012 }
26013 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
26014 V1LayerParameter::include() const {
26015   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.include)
26016   return include_;
26017 }
26018
26019 // repeated .opencv_caffe.NetStateRule exclude = 33;
26020 inline int V1LayerParameter::exclude_size() const {
26021   return exclude_.size();
26022 }
26023 inline void V1LayerParameter::clear_exclude() {
26024   exclude_.Clear();
26025 }
26026 inline const ::opencv_caffe::NetStateRule& V1LayerParameter::exclude(int index) const {
26027   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exclude)
26028   return exclude_.Get(index);
26029 }
26030 inline ::opencv_caffe::NetStateRule* V1LayerParameter::mutable_exclude(int index) {
26031   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exclude)
26032   return exclude_.Mutable(index);
26033 }
26034 inline ::opencv_caffe::NetStateRule* V1LayerParameter::add_exclude() {
26035   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.exclude)
26036   return exclude_.Add();
26037 }
26038 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >*
26039 V1LayerParameter::mutable_exclude() {
26040   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.exclude)
26041   return &exclude_;
26042 }
26043 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::NetStateRule >&
26044 V1LayerParameter::exclude() const {
26045   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.exclude)
26046   return exclude_;
26047 }
26048
26049 // optional .opencv_caffe.V1LayerParameter.LayerType type = 5;
26050 inline bool V1LayerParameter::has_type() const {
26051   return (_has_bits_[0] & 0x00000020u) != 0;
26052 }
26053 inline void V1LayerParameter::set_has_type() {
26054   _has_bits_[0] |= 0x00000020u;
26055 }
26056 inline void V1LayerParameter::clear_has_type() {
26057   _has_bits_[0] &= ~0x00000020u;
26058 }
26059 inline void V1LayerParameter::clear_type() {
26060   type_ = 0;
26061   clear_has_type();
26062 }
26063 inline ::opencv_caffe::V1LayerParameter_LayerType V1LayerParameter::type() const {
26064   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.type)
26065   return static_cast< ::opencv_caffe::V1LayerParameter_LayerType >(type_);
26066 }
26067 inline void V1LayerParameter::set_type(::opencv_caffe::V1LayerParameter_LayerType value) {
26068   assert(::opencv_caffe::V1LayerParameter_LayerType_IsValid(value));
26069   set_has_type();
26070   type_ = value;
26071   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.type)
26072 }
26073
26074 // repeated .opencv_caffe.BlobProto blobs = 6;
26075 inline int V1LayerParameter::blobs_size() const {
26076   return blobs_.size();
26077 }
26078 inline void V1LayerParameter::clear_blobs() {
26079   blobs_.Clear();
26080 }
26081 inline const ::opencv_caffe::BlobProto& V1LayerParameter::blobs(int index) const {
26082   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs)
26083   return blobs_.Get(index);
26084 }
26085 inline ::opencv_caffe::BlobProto* V1LayerParameter::mutable_blobs(int index) {
26086   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.blobs)
26087   return blobs_.Mutable(index);
26088 }
26089 inline ::opencv_caffe::BlobProto* V1LayerParameter::add_blobs() {
26090   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs)
26091   return blobs_.Add();
26092 }
26093 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
26094 V1LayerParameter::mutable_blobs() {
26095   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs)
26096   return &blobs_;
26097 }
26098 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
26099 V1LayerParameter::blobs() const {
26100   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs)
26101   return blobs_;
26102 }
26103
26104 // repeated string param = 1001;
26105 inline int V1LayerParameter::param_size() const {
26106   return param_.size();
26107 }
26108 inline void V1LayerParameter::clear_param() {
26109   param_.Clear();
26110 }
26111 inline const ::std::string& V1LayerParameter::param(int index) const {
26112   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.param)
26113   return param_.Get(index);
26114 }
26115 inline ::std::string* V1LayerParameter::mutable_param(int index) {
26116   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.param)
26117   return param_.Mutable(index);
26118 }
26119 inline void V1LayerParameter::set_param(int index, const ::std::string& value) {
26120   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.param)
26121   param_.Mutable(index)->assign(value);
26122 }
26123 inline void V1LayerParameter::set_param(int index, const char* value) {
26124   param_.Mutable(index)->assign(value);
26125   // @@protoc_insertion_point(field_set_char:opencv_caffe.V1LayerParameter.param)
26126 }
26127 inline void V1LayerParameter::set_param(int index, const char* value, size_t size) {
26128   param_.Mutable(index)->assign(
26129     reinterpret_cast<const char*>(value), size);
26130   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V1LayerParameter.param)
26131 }
26132 inline ::std::string* V1LayerParameter::add_param() {
26133   // @@protoc_insertion_point(field_add_mutable:opencv_caffe.V1LayerParameter.param)
26134   return param_.Add();
26135 }
26136 inline void V1LayerParameter::add_param(const ::std::string& value) {
26137   param_.Add()->assign(value);
26138   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.param)
26139 }
26140 inline void V1LayerParameter::add_param(const char* value) {
26141   param_.Add()->assign(value);
26142   // @@protoc_insertion_point(field_add_char:opencv_caffe.V1LayerParameter.param)
26143 }
26144 inline void V1LayerParameter::add_param(const char* value, size_t size) {
26145   param_.Add()->assign(reinterpret_cast<const char*>(value), size);
26146   // @@protoc_insertion_point(field_add_pointer:opencv_caffe.V1LayerParameter.param)
26147 }
26148 inline const ::google::protobuf::RepeatedPtrField< ::std::string>&
26149 V1LayerParameter::param() const {
26150   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.param)
26151   return param_;
26152 }
26153 inline ::google::protobuf::RepeatedPtrField< ::std::string>*
26154 V1LayerParameter::mutable_param() {
26155   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.param)
26156   return &param_;
26157 }
26158
26159 // repeated .opencv_caffe.V1LayerParameter.DimCheckMode blob_share_mode = 1002;
26160 inline int V1LayerParameter::blob_share_mode_size() const {
26161   return blob_share_mode_.size();
26162 }
26163 inline void V1LayerParameter::clear_blob_share_mode() {
26164   blob_share_mode_.Clear();
26165 }
26166 inline ::opencv_caffe::V1LayerParameter_DimCheckMode V1LayerParameter::blob_share_mode(int index) const {
26167   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blob_share_mode)
26168   return static_cast< ::opencv_caffe::V1LayerParameter_DimCheckMode >(blob_share_mode_.Get(index));
26169 }
26170 inline void V1LayerParameter::set_blob_share_mode(int index, ::opencv_caffe::V1LayerParameter_DimCheckMode value) {
26171   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
26172   blob_share_mode_.Set(index, value);
26173   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blob_share_mode)
26174 }
26175 inline void V1LayerParameter::add_blob_share_mode(::opencv_caffe::V1LayerParameter_DimCheckMode value) {
26176   assert(::opencv_caffe::V1LayerParameter_DimCheckMode_IsValid(value));
26177   blob_share_mode_.Add(value);
26178   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blob_share_mode)
26179 }
26180 inline const ::google::protobuf::RepeatedField<int>&
26181 V1LayerParameter::blob_share_mode() const {
26182   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blob_share_mode)
26183   return blob_share_mode_;
26184 }
26185 inline ::google::protobuf::RepeatedField<int>*
26186 V1LayerParameter::mutable_blob_share_mode() {
26187   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blob_share_mode)
26188   return &blob_share_mode_;
26189 }
26190
26191 // repeated float blobs_lr = 7;
26192 inline int V1LayerParameter::blobs_lr_size() const {
26193   return blobs_lr_.size();
26194 }
26195 inline void V1LayerParameter::clear_blobs_lr() {
26196   blobs_lr_.Clear();
26197 }
26198 inline float V1LayerParameter::blobs_lr(int index) const {
26199   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.blobs_lr)
26200   return blobs_lr_.Get(index);
26201 }
26202 inline void V1LayerParameter::set_blobs_lr(int index, float value) {
26203   blobs_lr_.Set(index, value);
26204   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.blobs_lr)
26205 }
26206 inline void V1LayerParameter::add_blobs_lr(float value) {
26207   blobs_lr_.Add(value);
26208   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.blobs_lr)
26209 }
26210 inline const ::google::protobuf::RepeatedField< float >&
26211 V1LayerParameter::blobs_lr() const {
26212   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.blobs_lr)
26213   return blobs_lr_;
26214 }
26215 inline ::google::protobuf::RepeatedField< float >*
26216 V1LayerParameter::mutable_blobs_lr() {
26217   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.blobs_lr)
26218   return &blobs_lr_;
26219 }
26220
26221 // repeated float weight_decay = 8;
26222 inline int V1LayerParameter::weight_decay_size() const {
26223   return weight_decay_.size();
26224 }
26225 inline void V1LayerParameter::clear_weight_decay() {
26226   weight_decay_.Clear();
26227 }
26228 inline float V1LayerParameter::weight_decay(int index) const {
26229   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.weight_decay)
26230   return weight_decay_.Get(index);
26231 }
26232 inline void V1LayerParameter::set_weight_decay(int index, float value) {
26233   weight_decay_.Set(index, value);
26234   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.weight_decay)
26235 }
26236 inline void V1LayerParameter::add_weight_decay(float value) {
26237   weight_decay_.Add(value);
26238   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.weight_decay)
26239 }
26240 inline const ::google::protobuf::RepeatedField< float >&
26241 V1LayerParameter::weight_decay() const {
26242   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.weight_decay)
26243   return weight_decay_;
26244 }
26245 inline ::google::protobuf::RepeatedField< float >*
26246 V1LayerParameter::mutable_weight_decay() {
26247   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.weight_decay)
26248   return &weight_decay_;
26249 }
26250
26251 // repeated float loss_weight = 35;
26252 inline int V1LayerParameter::loss_weight_size() const {
26253   return loss_weight_.size();
26254 }
26255 inline void V1LayerParameter::clear_loss_weight() {
26256   loss_weight_.Clear();
26257 }
26258 inline float V1LayerParameter::loss_weight(int index) const {
26259   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_weight)
26260   return loss_weight_.Get(index);
26261 }
26262 inline void V1LayerParameter::set_loss_weight(int index, float value) {
26263   loss_weight_.Set(index, value);
26264   // @@protoc_insertion_point(field_set:opencv_caffe.V1LayerParameter.loss_weight)
26265 }
26266 inline void V1LayerParameter::add_loss_weight(float value) {
26267   loss_weight_.Add(value);
26268   // @@protoc_insertion_point(field_add:opencv_caffe.V1LayerParameter.loss_weight)
26269 }
26270 inline const ::google::protobuf::RepeatedField< float >&
26271 V1LayerParameter::loss_weight() const {
26272   // @@protoc_insertion_point(field_list:opencv_caffe.V1LayerParameter.loss_weight)
26273   return loss_weight_;
26274 }
26275 inline ::google::protobuf::RepeatedField< float >*
26276 V1LayerParameter::mutable_loss_weight() {
26277   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V1LayerParameter.loss_weight)
26278   return &loss_weight_;
26279 }
26280
26281 // optional .opencv_caffe.AccuracyParameter accuracy_param = 27;
26282 inline bool V1LayerParameter::has_accuracy_param() const {
26283   return (_has_bits_[0] & 0x00001000u) != 0;
26284 }
26285 inline void V1LayerParameter::set_has_accuracy_param() {
26286   _has_bits_[0] |= 0x00001000u;
26287 }
26288 inline void V1LayerParameter::clear_has_accuracy_param() {
26289   _has_bits_[0] &= ~0x00001000u;
26290 }
26291 inline void V1LayerParameter::clear_accuracy_param() {
26292   if (accuracy_param_ != NULL) accuracy_param_->::opencv_caffe::AccuracyParameter::Clear();
26293   clear_has_accuracy_param();
26294 }
26295 inline const ::opencv_caffe::AccuracyParameter& V1LayerParameter::accuracy_param() const {
26296   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.accuracy_param)
26297   return accuracy_param_ != NULL ? *accuracy_param_
26298                          : *::opencv_caffe::AccuracyParameter::internal_default_instance();
26299 }
26300 inline ::opencv_caffe::AccuracyParameter* V1LayerParameter::mutable_accuracy_param() {
26301   set_has_accuracy_param();
26302   if (accuracy_param_ == NULL) {
26303     accuracy_param_ = new ::opencv_caffe::AccuracyParameter;
26304   }
26305   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.accuracy_param)
26306   return accuracy_param_;
26307 }
26308 inline ::opencv_caffe::AccuracyParameter* V1LayerParameter::release_accuracy_param() {
26309   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.accuracy_param)
26310   clear_has_accuracy_param();
26311   ::opencv_caffe::AccuracyParameter* temp = accuracy_param_;
26312   accuracy_param_ = NULL;
26313   return temp;
26314 }
26315 inline void V1LayerParameter::set_allocated_accuracy_param(::opencv_caffe::AccuracyParameter* accuracy_param) {
26316   delete accuracy_param_;
26317   accuracy_param_ = accuracy_param;
26318   if (accuracy_param) {
26319     set_has_accuracy_param();
26320   } else {
26321     clear_has_accuracy_param();
26322   }
26323   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.accuracy_param)
26324 }
26325
26326 // optional .opencv_caffe.ArgMaxParameter argmax_param = 23;
26327 inline bool V1LayerParameter::has_argmax_param() const {
26328   return (_has_bits_[0] & 0x00002000u) != 0;
26329 }
26330 inline void V1LayerParameter::set_has_argmax_param() {
26331   _has_bits_[0] |= 0x00002000u;
26332 }
26333 inline void V1LayerParameter::clear_has_argmax_param() {
26334   _has_bits_[0] &= ~0x00002000u;
26335 }
26336 inline void V1LayerParameter::clear_argmax_param() {
26337   if (argmax_param_ != NULL) argmax_param_->::opencv_caffe::ArgMaxParameter::Clear();
26338   clear_has_argmax_param();
26339 }
26340 inline const ::opencv_caffe::ArgMaxParameter& V1LayerParameter::argmax_param() const {
26341   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.argmax_param)
26342   return argmax_param_ != NULL ? *argmax_param_
26343                          : *::opencv_caffe::ArgMaxParameter::internal_default_instance();
26344 }
26345 inline ::opencv_caffe::ArgMaxParameter* V1LayerParameter::mutable_argmax_param() {
26346   set_has_argmax_param();
26347   if (argmax_param_ == NULL) {
26348     argmax_param_ = new ::opencv_caffe::ArgMaxParameter;
26349   }
26350   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.argmax_param)
26351   return argmax_param_;
26352 }
26353 inline ::opencv_caffe::ArgMaxParameter* V1LayerParameter::release_argmax_param() {
26354   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.argmax_param)
26355   clear_has_argmax_param();
26356   ::opencv_caffe::ArgMaxParameter* temp = argmax_param_;
26357   argmax_param_ = NULL;
26358   return temp;
26359 }
26360 inline void V1LayerParameter::set_allocated_argmax_param(::opencv_caffe::ArgMaxParameter* argmax_param) {
26361   delete argmax_param_;
26362   argmax_param_ = argmax_param;
26363   if (argmax_param) {
26364     set_has_argmax_param();
26365   } else {
26366     clear_has_argmax_param();
26367   }
26368   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.argmax_param)
26369 }
26370
26371 // optional .opencv_caffe.ConcatParameter concat_param = 9;
26372 inline bool V1LayerParameter::has_concat_param() const {
26373   return (_has_bits_[0] & 0x00004000u) != 0;
26374 }
26375 inline void V1LayerParameter::set_has_concat_param() {
26376   _has_bits_[0] |= 0x00004000u;
26377 }
26378 inline void V1LayerParameter::clear_has_concat_param() {
26379   _has_bits_[0] &= ~0x00004000u;
26380 }
26381 inline void V1LayerParameter::clear_concat_param() {
26382   if (concat_param_ != NULL) concat_param_->::opencv_caffe::ConcatParameter::Clear();
26383   clear_has_concat_param();
26384 }
26385 inline const ::opencv_caffe::ConcatParameter& V1LayerParameter::concat_param() const {
26386   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.concat_param)
26387   return concat_param_ != NULL ? *concat_param_
26388                          : *::opencv_caffe::ConcatParameter::internal_default_instance();
26389 }
26390 inline ::opencv_caffe::ConcatParameter* V1LayerParameter::mutable_concat_param() {
26391   set_has_concat_param();
26392   if (concat_param_ == NULL) {
26393     concat_param_ = new ::opencv_caffe::ConcatParameter;
26394   }
26395   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.concat_param)
26396   return concat_param_;
26397 }
26398 inline ::opencv_caffe::ConcatParameter* V1LayerParameter::release_concat_param() {
26399   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.concat_param)
26400   clear_has_concat_param();
26401   ::opencv_caffe::ConcatParameter* temp = concat_param_;
26402   concat_param_ = NULL;
26403   return temp;
26404 }
26405 inline void V1LayerParameter::set_allocated_concat_param(::opencv_caffe::ConcatParameter* concat_param) {
26406   delete concat_param_;
26407   concat_param_ = concat_param;
26408   if (concat_param) {
26409     set_has_concat_param();
26410   } else {
26411     clear_has_concat_param();
26412   }
26413   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.concat_param)
26414 }
26415
26416 // optional .opencv_caffe.ContrastiveLossParameter contrastive_loss_param = 40;
26417 inline bool V1LayerParameter::has_contrastive_loss_param() const {
26418   return (_has_bits_[0] & 0x00008000u) != 0;
26419 }
26420 inline void V1LayerParameter::set_has_contrastive_loss_param() {
26421   _has_bits_[0] |= 0x00008000u;
26422 }
26423 inline void V1LayerParameter::clear_has_contrastive_loss_param() {
26424   _has_bits_[0] &= ~0x00008000u;
26425 }
26426 inline void V1LayerParameter::clear_contrastive_loss_param() {
26427   if (contrastive_loss_param_ != NULL) contrastive_loss_param_->::opencv_caffe::ContrastiveLossParameter::Clear();
26428   clear_has_contrastive_loss_param();
26429 }
26430 inline const ::opencv_caffe::ContrastiveLossParameter& V1LayerParameter::contrastive_loss_param() const {
26431   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26432   return contrastive_loss_param_ != NULL ? *contrastive_loss_param_
26433                          : *::opencv_caffe::ContrastiveLossParameter::internal_default_instance();
26434 }
26435 inline ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::mutable_contrastive_loss_param() {
26436   set_has_contrastive_loss_param();
26437   if (contrastive_loss_param_ == NULL) {
26438     contrastive_loss_param_ = new ::opencv_caffe::ContrastiveLossParameter;
26439   }
26440   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26441   return contrastive_loss_param_;
26442 }
26443 inline ::opencv_caffe::ContrastiveLossParameter* V1LayerParameter::release_contrastive_loss_param() {
26444   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26445   clear_has_contrastive_loss_param();
26446   ::opencv_caffe::ContrastiveLossParameter* temp = contrastive_loss_param_;
26447   contrastive_loss_param_ = NULL;
26448   return temp;
26449 }
26450 inline void V1LayerParameter::set_allocated_contrastive_loss_param(::opencv_caffe::ContrastiveLossParameter* contrastive_loss_param) {
26451   delete contrastive_loss_param_;
26452   contrastive_loss_param_ = contrastive_loss_param;
26453   if (contrastive_loss_param) {
26454     set_has_contrastive_loss_param();
26455   } else {
26456     clear_has_contrastive_loss_param();
26457   }
26458   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.contrastive_loss_param)
26459 }
26460
26461 // optional .opencv_caffe.ConvolutionParameter convolution_param = 10;
26462 inline bool V1LayerParameter::has_convolution_param() const {
26463   return (_has_bits_[0] & 0x00010000u) != 0;
26464 }
26465 inline void V1LayerParameter::set_has_convolution_param() {
26466   _has_bits_[0] |= 0x00010000u;
26467 }
26468 inline void V1LayerParameter::clear_has_convolution_param() {
26469   _has_bits_[0] &= ~0x00010000u;
26470 }
26471 inline void V1LayerParameter::clear_convolution_param() {
26472   if (convolution_param_ != NULL) convolution_param_->::opencv_caffe::ConvolutionParameter::Clear();
26473   clear_has_convolution_param();
26474 }
26475 inline const ::opencv_caffe::ConvolutionParameter& V1LayerParameter::convolution_param() const {
26476   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.convolution_param)
26477   return convolution_param_ != NULL ? *convolution_param_
26478                          : *::opencv_caffe::ConvolutionParameter::internal_default_instance();
26479 }
26480 inline ::opencv_caffe::ConvolutionParameter* V1LayerParameter::mutable_convolution_param() {
26481   set_has_convolution_param();
26482   if (convolution_param_ == NULL) {
26483     convolution_param_ = new ::opencv_caffe::ConvolutionParameter;
26484   }
26485   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.convolution_param)
26486   return convolution_param_;
26487 }
26488 inline ::opencv_caffe::ConvolutionParameter* V1LayerParameter::release_convolution_param() {
26489   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.convolution_param)
26490   clear_has_convolution_param();
26491   ::opencv_caffe::ConvolutionParameter* temp = convolution_param_;
26492   convolution_param_ = NULL;
26493   return temp;
26494 }
26495 inline void V1LayerParameter::set_allocated_convolution_param(::opencv_caffe::ConvolutionParameter* convolution_param) {
26496   delete convolution_param_;
26497   convolution_param_ = convolution_param;
26498   if (convolution_param) {
26499     set_has_convolution_param();
26500   } else {
26501     clear_has_convolution_param();
26502   }
26503   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.convolution_param)
26504 }
26505
26506 // optional .opencv_caffe.DataParameter data_param = 11;
26507 inline bool V1LayerParameter::has_data_param() const {
26508   return (_has_bits_[0] & 0x00020000u) != 0;
26509 }
26510 inline void V1LayerParameter::set_has_data_param() {
26511   _has_bits_[0] |= 0x00020000u;
26512 }
26513 inline void V1LayerParameter::clear_has_data_param() {
26514   _has_bits_[0] &= ~0x00020000u;
26515 }
26516 inline void V1LayerParameter::clear_data_param() {
26517   if (data_param_ != NULL) data_param_->::opencv_caffe::DataParameter::Clear();
26518   clear_has_data_param();
26519 }
26520 inline const ::opencv_caffe::DataParameter& V1LayerParameter::data_param() const {
26521   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.data_param)
26522   return data_param_ != NULL ? *data_param_
26523                          : *::opencv_caffe::DataParameter::internal_default_instance();
26524 }
26525 inline ::opencv_caffe::DataParameter* V1LayerParameter::mutable_data_param() {
26526   set_has_data_param();
26527   if (data_param_ == NULL) {
26528     data_param_ = new ::opencv_caffe::DataParameter;
26529   }
26530   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.data_param)
26531   return data_param_;
26532 }
26533 inline ::opencv_caffe::DataParameter* V1LayerParameter::release_data_param() {
26534   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.data_param)
26535   clear_has_data_param();
26536   ::opencv_caffe::DataParameter* temp = data_param_;
26537   data_param_ = NULL;
26538   return temp;
26539 }
26540 inline void V1LayerParameter::set_allocated_data_param(::opencv_caffe::DataParameter* data_param) {
26541   delete data_param_;
26542   data_param_ = data_param;
26543   if (data_param) {
26544     set_has_data_param();
26545   } else {
26546     clear_has_data_param();
26547   }
26548   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.data_param)
26549 }
26550
26551 // optional .opencv_caffe.DropoutParameter dropout_param = 12;
26552 inline bool V1LayerParameter::has_dropout_param() const {
26553   return (_has_bits_[0] & 0x00040000u) != 0;
26554 }
26555 inline void V1LayerParameter::set_has_dropout_param() {
26556   _has_bits_[0] |= 0x00040000u;
26557 }
26558 inline void V1LayerParameter::clear_has_dropout_param() {
26559   _has_bits_[0] &= ~0x00040000u;
26560 }
26561 inline void V1LayerParameter::clear_dropout_param() {
26562   if (dropout_param_ != NULL) dropout_param_->::opencv_caffe::DropoutParameter::Clear();
26563   clear_has_dropout_param();
26564 }
26565 inline const ::opencv_caffe::DropoutParameter& V1LayerParameter::dropout_param() const {
26566   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dropout_param)
26567   return dropout_param_ != NULL ? *dropout_param_
26568                          : *::opencv_caffe::DropoutParameter::internal_default_instance();
26569 }
26570 inline ::opencv_caffe::DropoutParameter* V1LayerParameter::mutable_dropout_param() {
26571   set_has_dropout_param();
26572   if (dropout_param_ == NULL) {
26573     dropout_param_ = new ::opencv_caffe::DropoutParameter;
26574   }
26575   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dropout_param)
26576   return dropout_param_;
26577 }
26578 inline ::opencv_caffe::DropoutParameter* V1LayerParameter::release_dropout_param() {
26579   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dropout_param)
26580   clear_has_dropout_param();
26581   ::opencv_caffe::DropoutParameter* temp = dropout_param_;
26582   dropout_param_ = NULL;
26583   return temp;
26584 }
26585 inline void V1LayerParameter::set_allocated_dropout_param(::opencv_caffe::DropoutParameter* dropout_param) {
26586   delete dropout_param_;
26587   dropout_param_ = dropout_param;
26588   if (dropout_param) {
26589     set_has_dropout_param();
26590   } else {
26591     clear_has_dropout_param();
26592   }
26593   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dropout_param)
26594 }
26595
26596 // optional .opencv_caffe.DummyDataParameter dummy_data_param = 26;
26597 inline bool V1LayerParameter::has_dummy_data_param() const {
26598   return (_has_bits_[0] & 0x00080000u) != 0;
26599 }
26600 inline void V1LayerParameter::set_has_dummy_data_param() {
26601   _has_bits_[0] |= 0x00080000u;
26602 }
26603 inline void V1LayerParameter::clear_has_dummy_data_param() {
26604   _has_bits_[0] &= ~0x00080000u;
26605 }
26606 inline void V1LayerParameter::clear_dummy_data_param() {
26607   if (dummy_data_param_ != NULL) dummy_data_param_->::opencv_caffe::DummyDataParameter::Clear();
26608   clear_has_dummy_data_param();
26609 }
26610 inline const ::opencv_caffe::DummyDataParameter& V1LayerParameter::dummy_data_param() const {
26611   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.dummy_data_param)
26612   return dummy_data_param_ != NULL ? *dummy_data_param_
26613                          : *::opencv_caffe::DummyDataParameter::internal_default_instance();
26614 }
26615 inline ::opencv_caffe::DummyDataParameter* V1LayerParameter::mutable_dummy_data_param() {
26616   set_has_dummy_data_param();
26617   if (dummy_data_param_ == NULL) {
26618     dummy_data_param_ = new ::opencv_caffe::DummyDataParameter;
26619   }
26620   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.dummy_data_param)
26621   return dummy_data_param_;
26622 }
26623 inline ::opencv_caffe::DummyDataParameter* V1LayerParameter::release_dummy_data_param() {
26624   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.dummy_data_param)
26625   clear_has_dummy_data_param();
26626   ::opencv_caffe::DummyDataParameter* temp = dummy_data_param_;
26627   dummy_data_param_ = NULL;
26628   return temp;
26629 }
26630 inline void V1LayerParameter::set_allocated_dummy_data_param(::opencv_caffe::DummyDataParameter* dummy_data_param) {
26631   delete dummy_data_param_;
26632   dummy_data_param_ = dummy_data_param;
26633   if (dummy_data_param) {
26634     set_has_dummy_data_param();
26635   } else {
26636     clear_has_dummy_data_param();
26637   }
26638   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.dummy_data_param)
26639 }
26640
26641 // optional .opencv_caffe.EltwiseParameter eltwise_param = 24;
26642 inline bool V1LayerParameter::has_eltwise_param() const {
26643   return (_has_bits_[0] & 0x00100000u) != 0;
26644 }
26645 inline void V1LayerParameter::set_has_eltwise_param() {
26646   _has_bits_[0] |= 0x00100000u;
26647 }
26648 inline void V1LayerParameter::clear_has_eltwise_param() {
26649   _has_bits_[0] &= ~0x00100000u;
26650 }
26651 inline void V1LayerParameter::clear_eltwise_param() {
26652   if (eltwise_param_ != NULL) eltwise_param_->::opencv_caffe::EltwiseParameter::Clear();
26653   clear_has_eltwise_param();
26654 }
26655 inline const ::opencv_caffe::EltwiseParameter& V1LayerParameter::eltwise_param() const {
26656   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.eltwise_param)
26657   return eltwise_param_ != NULL ? *eltwise_param_
26658                          : *::opencv_caffe::EltwiseParameter::internal_default_instance();
26659 }
26660 inline ::opencv_caffe::EltwiseParameter* V1LayerParameter::mutable_eltwise_param() {
26661   set_has_eltwise_param();
26662   if (eltwise_param_ == NULL) {
26663     eltwise_param_ = new ::opencv_caffe::EltwiseParameter;
26664   }
26665   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.eltwise_param)
26666   return eltwise_param_;
26667 }
26668 inline ::opencv_caffe::EltwiseParameter* V1LayerParameter::release_eltwise_param() {
26669   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.eltwise_param)
26670   clear_has_eltwise_param();
26671   ::opencv_caffe::EltwiseParameter* temp = eltwise_param_;
26672   eltwise_param_ = NULL;
26673   return temp;
26674 }
26675 inline void V1LayerParameter::set_allocated_eltwise_param(::opencv_caffe::EltwiseParameter* eltwise_param) {
26676   delete eltwise_param_;
26677   eltwise_param_ = eltwise_param;
26678   if (eltwise_param) {
26679     set_has_eltwise_param();
26680   } else {
26681     clear_has_eltwise_param();
26682   }
26683   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.eltwise_param)
26684 }
26685
26686 // optional .opencv_caffe.ExpParameter exp_param = 41;
26687 inline bool V1LayerParameter::has_exp_param() const {
26688   return (_has_bits_[0] & 0x00200000u) != 0;
26689 }
26690 inline void V1LayerParameter::set_has_exp_param() {
26691   _has_bits_[0] |= 0x00200000u;
26692 }
26693 inline void V1LayerParameter::clear_has_exp_param() {
26694   _has_bits_[0] &= ~0x00200000u;
26695 }
26696 inline void V1LayerParameter::clear_exp_param() {
26697   if (exp_param_ != NULL) exp_param_->::opencv_caffe::ExpParameter::Clear();
26698   clear_has_exp_param();
26699 }
26700 inline const ::opencv_caffe::ExpParameter& V1LayerParameter::exp_param() const {
26701   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.exp_param)
26702   return exp_param_ != NULL ? *exp_param_
26703                          : *::opencv_caffe::ExpParameter::internal_default_instance();
26704 }
26705 inline ::opencv_caffe::ExpParameter* V1LayerParameter::mutable_exp_param() {
26706   set_has_exp_param();
26707   if (exp_param_ == NULL) {
26708     exp_param_ = new ::opencv_caffe::ExpParameter;
26709   }
26710   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.exp_param)
26711   return exp_param_;
26712 }
26713 inline ::opencv_caffe::ExpParameter* V1LayerParameter::release_exp_param() {
26714   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.exp_param)
26715   clear_has_exp_param();
26716   ::opencv_caffe::ExpParameter* temp = exp_param_;
26717   exp_param_ = NULL;
26718   return temp;
26719 }
26720 inline void V1LayerParameter::set_allocated_exp_param(::opencv_caffe::ExpParameter* exp_param) {
26721   delete exp_param_;
26722   exp_param_ = exp_param;
26723   if (exp_param) {
26724     set_has_exp_param();
26725   } else {
26726     clear_has_exp_param();
26727   }
26728   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.exp_param)
26729 }
26730
26731 // optional .opencv_caffe.HDF5DataParameter hdf5_data_param = 13;
26732 inline bool V1LayerParameter::has_hdf5_data_param() const {
26733   return (_has_bits_[0] & 0x00400000u) != 0;
26734 }
26735 inline void V1LayerParameter::set_has_hdf5_data_param() {
26736   _has_bits_[0] |= 0x00400000u;
26737 }
26738 inline void V1LayerParameter::clear_has_hdf5_data_param() {
26739   _has_bits_[0] &= ~0x00400000u;
26740 }
26741 inline void V1LayerParameter::clear_hdf5_data_param() {
26742   if (hdf5_data_param_ != NULL) hdf5_data_param_->::opencv_caffe::HDF5DataParameter::Clear();
26743   clear_has_hdf5_data_param();
26744 }
26745 inline const ::opencv_caffe::HDF5DataParameter& V1LayerParameter::hdf5_data_param() const {
26746   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_data_param)
26747   return hdf5_data_param_ != NULL ? *hdf5_data_param_
26748                          : *::opencv_caffe::HDF5DataParameter::internal_default_instance();
26749 }
26750 inline ::opencv_caffe::HDF5DataParameter* V1LayerParameter::mutable_hdf5_data_param() {
26751   set_has_hdf5_data_param();
26752   if (hdf5_data_param_ == NULL) {
26753     hdf5_data_param_ = new ::opencv_caffe::HDF5DataParameter;
26754   }
26755   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_data_param)
26756   return hdf5_data_param_;
26757 }
26758 inline ::opencv_caffe::HDF5DataParameter* V1LayerParameter::release_hdf5_data_param() {
26759   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_data_param)
26760   clear_has_hdf5_data_param();
26761   ::opencv_caffe::HDF5DataParameter* temp = hdf5_data_param_;
26762   hdf5_data_param_ = NULL;
26763   return temp;
26764 }
26765 inline void V1LayerParameter::set_allocated_hdf5_data_param(::opencv_caffe::HDF5DataParameter* hdf5_data_param) {
26766   delete hdf5_data_param_;
26767   hdf5_data_param_ = hdf5_data_param;
26768   if (hdf5_data_param) {
26769     set_has_hdf5_data_param();
26770   } else {
26771     clear_has_hdf5_data_param();
26772   }
26773   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_data_param)
26774 }
26775
26776 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 14;
26777 inline bool V1LayerParameter::has_hdf5_output_param() const {
26778   return (_has_bits_[0] & 0x00800000u) != 0;
26779 }
26780 inline void V1LayerParameter::set_has_hdf5_output_param() {
26781   _has_bits_[0] |= 0x00800000u;
26782 }
26783 inline void V1LayerParameter::clear_has_hdf5_output_param() {
26784   _has_bits_[0] &= ~0x00800000u;
26785 }
26786 inline void V1LayerParameter::clear_hdf5_output_param() {
26787   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
26788   clear_has_hdf5_output_param();
26789 }
26790 inline const ::opencv_caffe::HDF5OutputParameter& V1LayerParameter::hdf5_output_param() const {
26791   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hdf5_output_param)
26792   return hdf5_output_param_ != NULL ? *hdf5_output_param_
26793                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
26794 }
26795 inline ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::mutable_hdf5_output_param() {
26796   set_has_hdf5_output_param();
26797   if (hdf5_output_param_ == NULL) {
26798     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
26799   }
26800   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hdf5_output_param)
26801   return hdf5_output_param_;
26802 }
26803 inline ::opencv_caffe::HDF5OutputParameter* V1LayerParameter::release_hdf5_output_param() {
26804   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hdf5_output_param)
26805   clear_has_hdf5_output_param();
26806   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
26807   hdf5_output_param_ = NULL;
26808   return temp;
26809 }
26810 inline void V1LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
26811   delete hdf5_output_param_;
26812   hdf5_output_param_ = hdf5_output_param;
26813   if (hdf5_output_param) {
26814     set_has_hdf5_output_param();
26815   } else {
26816     clear_has_hdf5_output_param();
26817   }
26818   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hdf5_output_param)
26819 }
26820
26821 // optional .opencv_caffe.HingeLossParameter hinge_loss_param = 29;
26822 inline bool V1LayerParameter::has_hinge_loss_param() const {
26823   return (_has_bits_[0] & 0x01000000u) != 0;
26824 }
26825 inline void V1LayerParameter::set_has_hinge_loss_param() {
26826   _has_bits_[0] |= 0x01000000u;
26827 }
26828 inline void V1LayerParameter::clear_has_hinge_loss_param() {
26829   _has_bits_[0] &= ~0x01000000u;
26830 }
26831 inline void V1LayerParameter::clear_hinge_loss_param() {
26832   if (hinge_loss_param_ != NULL) hinge_loss_param_->::opencv_caffe::HingeLossParameter::Clear();
26833   clear_has_hinge_loss_param();
26834 }
26835 inline const ::opencv_caffe::HingeLossParameter& V1LayerParameter::hinge_loss_param() const {
26836   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.hinge_loss_param)
26837   return hinge_loss_param_ != NULL ? *hinge_loss_param_
26838                          : *::opencv_caffe::HingeLossParameter::internal_default_instance();
26839 }
26840 inline ::opencv_caffe::HingeLossParameter* V1LayerParameter::mutable_hinge_loss_param() {
26841   set_has_hinge_loss_param();
26842   if (hinge_loss_param_ == NULL) {
26843     hinge_loss_param_ = new ::opencv_caffe::HingeLossParameter;
26844   }
26845   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.hinge_loss_param)
26846   return hinge_loss_param_;
26847 }
26848 inline ::opencv_caffe::HingeLossParameter* V1LayerParameter::release_hinge_loss_param() {
26849   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.hinge_loss_param)
26850   clear_has_hinge_loss_param();
26851   ::opencv_caffe::HingeLossParameter* temp = hinge_loss_param_;
26852   hinge_loss_param_ = NULL;
26853   return temp;
26854 }
26855 inline void V1LayerParameter::set_allocated_hinge_loss_param(::opencv_caffe::HingeLossParameter* hinge_loss_param) {
26856   delete hinge_loss_param_;
26857   hinge_loss_param_ = hinge_loss_param;
26858   if (hinge_loss_param) {
26859     set_has_hinge_loss_param();
26860   } else {
26861     clear_has_hinge_loss_param();
26862   }
26863   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.hinge_loss_param)
26864 }
26865
26866 // optional .opencv_caffe.ImageDataParameter image_data_param = 15;
26867 inline bool V1LayerParameter::has_image_data_param() const {
26868   return (_has_bits_[0] & 0x02000000u) != 0;
26869 }
26870 inline void V1LayerParameter::set_has_image_data_param() {
26871   _has_bits_[0] |= 0x02000000u;
26872 }
26873 inline void V1LayerParameter::clear_has_image_data_param() {
26874   _has_bits_[0] &= ~0x02000000u;
26875 }
26876 inline void V1LayerParameter::clear_image_data_param() {
26877   if (image_data_param_ != NULL) image_data_param_->::opencv_caffe::ImageDataParameter::Clear();
26878   clear_has_image_data_param();
26879 }
26880 inline const ::opencv_caffe::ImageDataParameter& V1LayerParameter::image_data_param() const {
26881   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.image_data_param)
26882   return image_data_param_ != NULL ? *image_data_param_
26883                          : *::opencv_caffe::ImageDataParameter::internal_default_instance();
26884 }
26885 inline ::opencv_caffe::ImageDataParameter* V1LayerParameter::mutable_image_data_param() {
26886   set_has_image_data_param();
26887   if (image_data_param_ == NULL) {
26888     image_data_param_ = new ::opencv_caffe::ImageDataParameter;
26889   }
26890   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.image_data_param)
26891   return image_data_param_;
26892 }
26893 inline ::opencv_caffe::ImageDataParameter* V1LayerParameter::release_image_data_param() {
26894   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.image_data_param)
26895   clear_has_image_data_param();
26896   ::opencv_caffe::ImageDataParameter* temp = image_data_param_;
26897   image_data_param_ = NULL;
26898   return temp;
26899 }
26900 inline void V1LayerParameter::set_allocated_image_data_param(::opencv_caffe::ImageDataParameter* image_data_param) {
26901   delete image_data_param_;
26902   image_data_param_ = image_data_param;
26903   if (image_data_param) {
26904     set_has_image_data_param();
26905   } else {
26906     clear_has_image_data_param();
26907   }
26908   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.image_data_param)
26909 }
26910
26911 // optional .opencv_caffe.InfogainLossParameter infogain_loss_param = 16;
26912 inline bool V1LayerParameter::has_infogain_loss_param() const {
26913   return (_has_bits_[0] & 0x04000000u) != 0;
26914 }
26915 inline void V1LayerParameter::set_has_infogain_loss_param() {
26916   _has_bits_[0] |= 0x04000000u;
26917 }
26918 inline void V1LayerParameter::clear_has_infogain_loss_param() {
26919   _has_bits_[0] &= ~0x04000000u;
26920 }
26921 inline void V1LayerParameter::clear_infogain_loss_param() {
26922   if (infogain_loss_param_ != NULL) infogain_loss_param_->::opencv_caffe::InfogainLossParameter::Clear();
26923   clear_has_infogain_loss_param();
26924 }
26925 inline const ::opencv_caffe::InfogainLossParameter& V1LayerParameter::infogain_loss_param() const {
26926   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.infogain_loss_param)
26927   return infogain_loss_param_ != NULL ? *infogain_loss_param_
26928                          : *::opencv_caffe::InfogainLossParameter::internal_default_instance();
26929 }
26930 inline ::opencv_caffe::InfogainLossParameter* V1LayerParameter::mutable_infogain_loss_param() {
26931   set_has_infogain_loss_param();
26932   if (infogain_loss_param_ == NULL) {
26933     infogain_loss_param_ = new ::opencv_caffe::InfogainLossParameter;
26934   }
26935   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.infogain_loss_param)
26936   return infogain_loss_param_;
26937 }
26938 inline ::opencv_caffe::InfogainLossParameter* V1LayerParameter::release_infogain_loss_param() {
26939   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.infogain_loss_param)
26940   clear_has_infogain_loss_param();
26941   ::opencv_caffe::InfogainLossParameter* temp = infogain_loss_param_;
26942   infogain_loss_param_ = NULL;
26943   return temp;
26944 }
26945 inline void V1LayerParameter::set_allocated_infogain_loss_param(::opencv_caffe::InfogainLossParameter* infogain_loss_param) {
26946   delete infogain_loss_param_;
26947   infogain_loss_param_ = infogain_loss_param;
26948   if (infogain_loss_param) {
26949     set_has_infogain_loss_param();
26950   } else {
26951     clear_has_infogain_loss_param();
26952   }
26953   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.infogain_loss_param)
26954 }
26955
26956 // optional .opencv_caffe.InnerProductParameter inner_product_param = 17;
26957 inline bool V1LayerParameter::has_inner_product_param() const {
26958   return (_has_bits_[0] & 0x08000000u) != 0;
26959 }
26960 inline void V1LayerParameter::set_has_inner_product_param() {
26961   _has_bits_[0] |= 0x08000000u;
26962 }
26963 inline void V1LayerParameter::clear_has_inner_product_param() {
26964   _has_bits_[0] &= ~0x08000000u;
26965 }
26966 inline void V1LayerParameter::clear_inner_product_param() {
26967   if (inner_product_param_ != NULL) inner_product_param_->::opencv_caffe::InnerProductParameter::Clear();
26968   clear_has_inner_product_param();
26969 }
26970 inline const ::opencv_caffe::InnerProductParameter& V1LayerParameter::inner_product_param() const {
26971   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.inner_product_param)
26972   return inner_product_param_ != NULL ? *inner_product_param_
26973                          : *::opencv_caffe::InnerProductParameter::internal_default_instance();
26974 }
26975 inline ::opencv_caffe::InnerProductParameter* V1LayerParameter::mutable_inner_product_param() {
26976   set_has_inner_product_param();
26977   if (inner_product_param_ == NULL) {
26978     inner_product_param_ = new ::opencv_caffe::InnerProductParameter;
26979   }
26980   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.inner_product_param)
26981   return inner_product_param_;
26982 }
26983 inline ::opencv_caffe::InnerProductParameter* V1LayerParameter::release_inner_product_param() {
26984   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.inner_product_param)
26985   clear_has_inner_product_param();
26986   ::opencv_caffe::InnerProductParameter* temp = inner_product_param_;
26987   inner_product_param_ = NULL;
26988   return temp;
26989 }
26990 inline void V1LayerParameter::set_allocated_inner_product_param(::opencv_caffe::InnerProductParameter* inner_product_param) {
26991   delete inner_product_param_;
26992   inner_product_param_ = inner_product_param;
26993   if (inner_product_param) {
26994     set_has_inner_product_param();
26995   } else {
26996     clear_has_inner_product_param();
26997   }
26998   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.inner_product_param)
26999 }
27000
27001 // optional .opencv_caffe.LRNParameter lrn_param = 18;
27002 inline bool V1LayerParameter::has_lrn_param() const {
27003   return (_has_bits_[0] & 0x10000000u) != 0;
27004 }
27005 inline void V1LayerParameter::set_has_lrn_param() {
27006   _has_bits_[0] |= 0x10000000u;
27007 }
27008 inline void V1LayerParameter::clear_has_lrn_param() {
27009   _has_bits_[0] &= ~0x10000000u;
27010 }
27011 inline void V1LayerParameter::clear_lrn_param() {
27012   if (lrn_param_ != NULL) lrn_param_->::opencv_caffe::LRNParameter::Clear();
27013   clear_has_lrn_param();
27014 }
27015 inline const ::opencv_caffe::LRNParameter& V1LayerParameter::lrn_param() const {
27016   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.lrn_param)
27017   return lrn_param_ != NULL ? *lrn_param_
27018                          : *::opencv_caffe::LRNParameter::internal_default_instance();
27019 }
27020 inline ::opencv_caffe::LRNParameter* V1LayerParameter::mutable_lrn_param() {
27021   set_has_lrn_param();
27022   if (lrn_param_ == NULL) {
27023     lrn_param_ = new ::opencv_caffe::LRNParameter;
27024   }
27025   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.lrn_param)
27026   return lrn_param_;
27027 }
27028 inline ::opencv_caffe::LRNParameter* V1LayerParameter::release_lrn_param() {
27029   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.lrn_param)
27030   clear_has_lrn_param();
27031   ::opencv_caffe::LRNParameter* temp = lrn_param_;
27032   lrn_param_ = NULL;
27033   return temp;
27034 }
27035 inline void V1LayerParameter::set_allocated_lrn_param(::opencv_caffe::LRNParameter* lrn_param) {
27036   delete lrn_param_;
27037   lrn_param_ = lrn_param;
27038   if (lrn_param) {
27039     set_has_lrn_param();
27040   } else {
27041     clear_has_lrn_param();
27042   }
27043   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.lrn_param)
27044 }
27045
27046 // optional .opencv_caffe.MemoryDataParameter memory_data_param = 22;
27047 inline bool V1LayerParameter::has_memory_data_param() const {
27048   return (_has_bits_[0] & 0x20000000u) != 0;
27049 }
27050 inline void V1LayerParameter::set_has_memory_data_param() {
27051   _has_bits_[0] |= 0x20000000u;
27052 }
27053 inline void V1LayerParameter::clear_has_memory_data_param() {
27054   _has_bits_[0] &= ~0x20000000u;
27055 }
27056 inline void V1LayerParameter::clear_memory_data_param() {
27057   if (memory_data_param_ != NULL) memory_data_param_->::opencv_caffe::MemoryDataParameter::Clear();
27058   clear_has_memory_data_param();
27059 }
27060 inline const ::opencv_caffe::MemoryDataParameter& V1LayerParameter::memory_data_param() const {
27061   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.memory_data_param)
27062   return memory_data_param_ != NULL ? *memory_data_param_
27063                          : *::opencv_caffe::MemoryDataParameter::internal_default_instance();
27064 }
27065 inline ::opencv_caffe::MemoryDataParameter* V1LayerParameter::mutable_memory_data_param() {
27066   set_has_memory_data_param();
27067   if (memory_data_param_ == NULL) {
27068     memory_data_param_ = new ::opencv_caffe::MemoryDataParameter;
27069   }
27070   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.memory_data_param)
27071   return memory_data_param_;
27072 }
27073 inline ::opencv_caffe::MemoryDataParameter* V1LayerParameter::release_memory_data_param() {
27074   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.memory_data_param)
27075   clear_has_memory_data_param();
27076   ::opencv_caffe::MemoryDataParameter* temp = memory_data_param_;
27077   memory_data_param_ = NULL;
27078   return temp;
27079 }
27080 inline void V1LayerParameter::set_allocated_memory_data_param(::opencv_caffe::MemoryDataParameter* memory_data_param) {
27081   delete memory_data_param_;
27082   memory_data_param_ = memory_data_param;
27083   if (memory_data_param) {
27084     set_has_memory_data_param();
27085   } else {
27086     clear_has_memory_data_param();
27087   }
27088   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.memory_data_param)
27089 }
27090
27091 // optional .opencv_caffe.MVNParameter mvn_param = 34;
27092 inline bool V1LayerParameter::has_mvn_param() const {
27093   return (_has_bits_[0] & 0x40000000u) != 0;
27094 }
27095 inline void V1LayerParameter::set_has_mvn_param() {
27096   _has_bits_[0] |= 0x40000000u;
27097 }
27098 inline void V1LayerParameter::clear_has_mvn_param() {
27099   _has_bits_[0] &= ~0x40000000u;
27100 }
27101 inline void V1LayerParameter::clear_mvn_param() {
27102   if (mvn_param_ != NULL) mvn_param_->::opencv_caffe::MVNParameter::Clear();
27103   clear_has_mvn_param();
27104 }
27105 inline const ::opencv_caffe::MVNParameter& V1LayerParameter::mvn_param() const {
27106   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.mvn_param)
27107   return mvn_param_ != NULL ? *mvn_param_
27108                          : *::opencv_caffe::MVNParameter::internal_default_instance();
27109 }
27110 inline ::opencv_caffe::MVNParameter* V1LayerParameter::mutable_mvn_param() {
27111   set_has_mvn_param();
27112   if (mvn_param_ == NULL) {
27113     mvn_param_ = new ::opencv_caffe::MVNParameter;
27114   }
27115   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.mvn_param)
27116   return mvn_param_;
27117 }
27118 inline ::opencv_caffe::MVNParameter* V1LayerParameter::release_mvn_param() {
27119   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.mvn_param)
27120   clear_has_mvn_param();
27121   ::opencv_caffe::MVNParameter* temp = mvn_param_;
27122   mvn_param_ = NULL;
27123   return temp;
27124 }
27125 inline void V1LayerParameter::set_allocated_mvn_param(::opencv_caffe::MVNParameter* mvn_param) {
27126   delete mvn_param_;
27127   mvn_param_ = mvn_param;
27128   if (mvn_param) {
27129     set_has_mvn_param();
27130   } else {
27131     clear_has_mvn_param();
27132   }
27133   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.mvn_param)
27134 }
27135
27136 // optional .opencv_caffe.PoolingParameter pooling_param = 19;
27137 inline bool V1LayerParameter::has_pooling_param() const {
27138   return (_has_bits_[0] & 0x80000000u) != 0;
27139 }
27140 inline void V1LayerParameter::set_has_pooling_param() {
27141   _has_bits_[0] |= 0x80000000u;
27142 }
27143 inline void V1LayerParameter::clear_has_pooling_param() {
27144   _has_bits_[0] &= ~0x80000000u;
27145 }
27146 inline void V1LayerParameter::clear_pooling_param() {
27147   if (pooling_param_ != NULL) pooling_param_->::opencv_caffe::PoolingParameter::Clear();
27148   clear_has_pooling_param();
27149 }
27150 inline const ::opencv_caffe::PoolingParameter& V1LayerParameter::pooling_param() const {
27151   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.pooling_param)
27152   return pooling_param_ != NULL ? *pooling_param_
27153                          : *::opencv_caffe::PoolingParameter::internal_default_instance();
27154 }
27155 inline ::opencv_caffe::PoolingParameter* V1LayerParameter::mutable_pooling_param() {
27156   set_has_pooling_param();
27157   if (pooling_param_ == NULL) {
27158     pooling_param_ = new ::opencv_caffe::PoolingParameter;
27159   }
27160   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.pooling_param)
27161   return pooling_param_;
27162 }
27163 inline ::opencv_caffe::PoolingParameter* V1LayerParameter::release_pooling_param() {
27164   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.pooling_param)
27165   clear_has_pooling_param();
27166   ::opencv_caffe::PoolingParameter* temp = pooling_param_;
27167   pooling_param_ = NULL;
27168   return temp;
27169 }
27170 inline void V1LayerParameter::set_allocated_pooling_param(::opencv_caffe::PoolingParameter* pooling_param) {
27171   delete pooling_param_;
27172   pooling_param_ = pooling_param;
27173   if (pooling_param) {
27174     set_has_pooling_param();
27175   } else {
27176     clear_has_pooling_param();
27177   }
27178   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.pooling_param)
27179 }
27180
27181 // optional .opencv_caffe.PowerParameter power_param = 21;
27182 inline bool V1LayerParameter::has_power_param() const {
27183   return (_has_bits_[1] & 0x00000001u) != 0;
27184 }
27185 inline void V1LayerParameter::set_has_power_param() {
27186   _has_bits_[1] |= 0x00000001u;
27187 }
27188 inline void V1LayerParameter::clear_has_power_param() {
27189   _has_bits_[1] &= ~0x00000001u;
27190 }
27191 inline void V1LayerParameter::clear_power_param() {
27192   if (power_param_ != NULL) power_param_->::opencv_caffe::PowerParameter::Clear();
27193   clear_has_power_param();
27194 }
27195 inline const ::opencv_caffe::PowerParameter& V1LayerParameter::power_param() const {
27196   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.power_param)
27197   return power_param_ != NULL ? *power_param_
27198                          : *::opencv_caffe::PowerParameter::internal_default_instance();
27199 }
27200 inline ::opencv_caffe::PowerParameter* V1LayerParameter::mutable_power_param() {
27201   set_has_power_param();
27202   if (power_param_ == NULL) {
27203     power_param_ = new ::opencv_caffe::PowerParameter;
27204   }
27205   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.power_param)
27206   return power_param_;
27207 }
27208 inline ::opencv_caffe::PowerParameter* V1LayerParameter::release_power_param() {
27209   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.power_param)
27210   clear_has_power_param();
27211   ::opencv_caffe::PowerParameter* temp = power_param_;
27212   power_param_ = NULL;
27213   return temp;
27214 }
27215 inline void V1LayerParameter::set_allocated_power_param(::opencv_caffe::PowerParameter* power_param) {
27216   delete power_param_;
27217   power_param_ = power_param;
27218   if (power_param) {
27219     set_has_power_param();
27220   } else {
27221     clear_has_power_param();
27222   }
27223   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.power_param)
27224 }
27225
27226 // optional .opencv_caffe.ReLUParameter relu_param = 30;
27227 inline bool V1LayerParameter::has_relu_param() const {
27228   return (_has_bits_[1] & 0x00000002u) != 0;
27229 }
27230 inline void V1LayerParameter::set_has_relu_param() {
27231   _has_bits_[1] |= 0x00000002u;
27232 }
27233 inline void V1LayerParameter::clear_has_relu_param() {
27234   _has_bits_[1] &= ~0x00000002u;
27235 }
27236 inline void V1LayerParameter::clear_relu_param() {
27237   if (relu_param_ != NULL) relu_param_->::opencv_caffe::ReLUParameter::Clear();
27238   clear_has_relu_param();
27239 }
27240 inline const ::opencv_caffe::ReLUParameter& V1LayerParameter::relu_param() const {
27241   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.relu_param)
27242   return relu_param_ != NULL ? *relu_param_
27243                          : *::opencv_caffe::ReLUParameter::internal_default_instance();
27244 }
27245 inline ::opencv_caffe::ReLUParameter* V1LayerParameter::mutable_relu_param() {
27246   set_has_relu_param();
27247   if (relu_param_ == NULL) {
27248     relu_param_ = new ::opencv_caffe::ReLUParameter;
27249   }
27250   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.relu_param)
27251   return relu_param_;
27252 }
27253 inline ::opencv_caffe::ReLUParameter* V1LayerParameter::release_relu_param() {
27254   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.relu_param)
27255   clear_has_relu_param();
27256   ::opencv_caffe::ReLUParameter* temp = relu_param_;
27257   relu_param_ = NULL;
27258   return temp;
27259 }
27260 inline void V1LayerParameter::set_allocated_relu_param(::opencv_caffe::ReLUParameter* relu_param) {
27261   delete relu_param_;
27262   relu_param_ = relu_param;
27263   if (relu_param) {
27264     set_has_relu_param();
27265   } else {
27266     clear_has_relu_param();
27267   }
27268   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.relu_param)
27269 }
27270
27271 // optional .opencv_caffe.SigmoidParameter sigmoid_param = 38;
27272 inline bool V1LayerParameter::has_sigmoid_param() const {
27273   return (_has_bits_[1] & 0x00000004u) != 0;
27274 }
27275 inline void V1LayerParameter::set_has_sigmoid_param() {
27276   _has_bits_[1] |= 0x00000004u;
27277 }
27278 inline void V1LayerParameter::clear_has_sigmoid_param() {
27279   _has_bits_[1] &= ~0x00000004u;
27280 }
27281 inline void V1LayerParameter::clear_sigmoid_param() {
27282   if (sigmoid_param_ != NULL) sigmoid_param_->::opencv_caffe::SigmoidParameter::Clear();
27283   clear_has_sigmoid_param();
27284 }
27285 inline const ::opencv_caffe::SigmoidParameter& V1LayerParameter::sigmoid_param() const {
27286   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.sigmoid_param)
27287   return sigmoid_param_ != NULL ? *sigmoid_param_
27288                          : *::opencv_caffe::SigmoidParameter::internal_default_instance();
27289 }
27290 inline ::opencv_caffe::SigmoidParameter* V1LayerParameter::mutable_sigmoid_param() {
27291   set_has_sigmoid_param();
27292   if (sigmoid_param_ == NULL) {
27293     sigmoid_param_ = new ::opencv_caffe::SigmoidParameter;
27294   }
27295   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.sigmoid_param)
27296   return sigmoid_param_;
27297 }
27298 inline ::opencv_caffe::SigmoidParameter* V1LayerParameter::release_sigmoid_param() {
27299   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.sigmoid_param)
27300   clear_has_sigmoid_param();
27301   ::opencv_caffe::SigmoidParameter* temp = sigmoid_param_;
27302   sigmoid_param_ = NULL;
27303   return temp;
27304 }
27305 inline void V1LayerParameter::set_allocated_sigmoid_param(::opencv_caffe::SigmoidParameter* sigmoid_param) {
27306   delete sigmoid_param_;
27307   sigmoid_param_ = sigmoid_param;
27308   if (sigmoid_param) {
27309     set_has_sigmoid_param();
27310   } else {
27311     clear_has_sigmoid_param();
27312   }
27313   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.sigmoid_param)
27314 }
27315
27316 // optional .opencv_caffe.SoftmaxParameter softmax_param = 39;
27317 inline bool V1LayerParameter::has_softmax_param() const {
27318   return (_has_bits_[1] & 0x00000008u) != 0;
27319 }
27320 inline void V1LayerParameter::set_has_softmax_param() {
27321   _has_bits_[1] |= 0x00000008u;
27322 }
27323 inline void V1LayerParameter::clear_has_softmax_param() {
27324   _has_bits_[1] &= ~0x00000008u;
27325 }
27326 inline void V1LayerParameter::clear_softmax_param() {
27327   if (softmax_param_ != NULL) softmax_param_->::opencv_caffe::SoftmaxParameter::Clear();
27328   clear_has_softmax_param();
27329 }
27330 inline const ::opencv_caffe::SoftmaxParameter& V1LayerParameter::softmax_param() const {
27331   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.softmax_param)
27332   return softmax_param_ != NULL ? *softmax_param_
27333                          : *::opencv_caffe::SoftmaxParameter::internal_default_instance();
27334 }
27335 inline ::opencv_caffe::SoftmaxParameter* V1LayerParameter::mutable_softmax_param() {
27336   set_has_softmax_param();
27337   if (softmax_param_ == NULL) {
27338     softmax_param_ = new ::opencv_caffe::SoftmaxParameter;
27339   }
27340   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.softmax_param)
27341   return softmax_param_;
27342 }
27343 inline ::opencv_caffe::SoftmaxParameter* V1LayerParameter::release_softmax_param() {
27344   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.softmax_param)
27345   clear_has_softmax_param();
27346   ::opencv_caffe::SoftmaxParameter* temp = softmax_param_;
27347   softmax_param_ = NULL;
27348   return temp;
27349 }
27350 inline void V1LayerParameter::set_allocated_softmax_param(::opencv_caffe::SoftmaxParameter* softmax_param) {
27351   delete softmax_param_;
27352   softmax_param_ = softmax_param;
27353   if (softmax_param) {
27354     set_has_softmax_param();
27355   } else {
27356     clear_has_softmax_param();
27357   }
27358   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.softmax_param)
27359 }
27360
27361 // optional .opencv_caffe.SliceParameter slice_param = 31;
27362 inline bool V1LayerParameter::has_slice_param() const {
27363   return (_has_bits_[1] & 0x00000010u) != 0;
27364 }
27365 inline void V1LayerParameter::set_has_slice_param() {
27366   _has_bits_[1] |= 0x00000010u;
27367 }
27368 inline void V1LayerParameter::clear_has_slice_param() {
27369   _has_bits_[1] &= ~0x00000010u;
27370 }
27371 inline void V1LayerParameter::clear_slice_param() {
27372   if (slice_param_ != NULL) slice_param_->::opencv_caffe::SliceParameter::Clear();
27373   clear_has_slice_param();
27374 }
27375 inline const ::opencv_caffe::SliceParameter& V1LayerParameter::slice_param() const {
27376   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.slice_param)
27377   return slice_param_ != NULL ? *slice_param_
27378                          : *::opencv_caffe::SliceParameter::internal_default_instance();
27379 }
27380 inline ::opencv_caffe::SliceParameter* V1LayerParameter::mutable_slice_param() {
27381   set_has_slice_param();
27382   if (slice_param_ == NULL) {
27383     slice_param_ = new ::opencv_caffe::SliceParameter;
27384   }
27385   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.slice_param)
27386   return slice_param_;
27387 }
27388 inline ::opencv_caffe::SliceParameter* V1LayerParameter::release_slice_param() {
27389   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.slice_param)
27390   clear_has_slice_param();
27391   ::opencv_caffe::SliceParameter* temp = slice_param_;
27392   slice_param_ = NULL;
27393   return temp;
27394 }
27395 inline void V1LayerParameter::set_allocated_slice_param(::opencv_caffe::SliceParameter* slice_param) {
27396   delete slice_param_;
27397   slice_param_ = slice_param;
27398   if (slice_param) {
27399     set_has_slice_param();
27400   } else {
27401     clear_has_slice_param();
27402   }
27403   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.slice_param)
27404 }
27405
27406 // optional .opencv_caffe.TanHParameter tanh_param = 37;
27407 inline bool V1LayerParameter::has_tanh_param() const {
27408   return (_has_bits_[1] & 0x00000020u) != 0;
27409 }
27410 inline void V1LayerParameter::set_has_tanh_param() {
27411   _has_bits_[1] |= 0x00000020u;
27412 }
27413 inline void V1LayerParameter::clear_has_tanh_param() {
27414   _has_bits_[1] &= ~0x00000020u;
27415 }
27416 inline void V1LayerParameter::clear_tanh_param() {
27417   if (tanh_param_ != NULL) tanh_param_->::opencv_caffe::TanHParameter::Clear();
27418   clear_has_tanh_param();
27419 }
27420 inline const ::opencv_caffe::TanHParameter& V1LayerParameter::tanh_param() const {
27421   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.tanh_param)
27422   return tanh_param_ != NULL ? *tanh_param_
27423                          : *::opencv_caffe::TanHParameter::internal_default_instance();
27424 }
27425 inline ::opencv_caffe::TanHParameter* V1LayerParameter::mutable_tanh_param() {
27426   set_has_tanh_param();
27427   if (tanh_param_ == NULL) {
27428     tanh_param_ = new ::opencv_caffe::TanHParameter;
27429   }
27430   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.tanh_param)
27431   return tanh_param_;
27432 }
27433 inline ::opencv_caffe::TanHParameter* V1LayerParameter::release_tanh_param() {
27434   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.tanh_param)
27435   clear_has_tanh_param();
27436   ::opencv_caffe::TanHParameter* temp = tanh_param_;
27437   tanh_param_ = NULL;
27438   return temp;
27439 }
27440 inline void V1LayerParameter::set_allocated_tanh_param(::opencv_caffe::TanHParameter* tanh_param) {
27441   delete tanh_param_;
27442   tanh_param_ = tanh_param;
27443   if (tanh_param) {
27444     set_has_tanh_param();
27445   } else {
27446     clear_has_tanh_param();
27447   }
27448   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.tanh_param)
27449 }
27450
27451 // optional .opencv_caffe.ThresholdParameter threshold_param = 25;
27452 inline bool V1LayerParameter::has_threshold_param() const {
27453   return (_has_bits_[1] & 0x00000040u) != 0;
27454 }
27455 inline void V1LayerParameter::set_has_threshold_param() {
27456   _has_bits_[1] |= 0x00000040u;
27457 }
27458 inline void V1LayerParameter::clear_has_threshold_param() {
27459   _has_bits_[1] &= ~0x00000040u;
27460 }
27461 inline void V1LayerParameter::clear_threshold_param() {
27462   if (threshold_param_ != NULL) threshold_param_->::opencv_caffe::ThresholdParameter::Clear();
27463   clear_has_threshold_param();
27464 }
27465 inline const ::opencv_caffe::ThresholdParameter& V1LayerParameter::threshold_param() const {
27466   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.threshold_param)
27467   return threshold_param_ != NULL ? *threshold_param_
27468                          : *::opencv_caffe::ThresholdParameter::internal_default_instance();
27469 }
27470 inline ::opencv_caffe::ThresholdParameter* V1LayerParameter::mutable_threshold_param() {
27471   set_has_threshold_param();
27472   if (threshold_param_ == NULL) {
27473     threshold_param_ = new ::opencv_caffe::ThresholdParameter;
27474   }
27475   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.threshold_param)
27476   return threshold_param_;
27477 }
27478 inline ::opencv_caffe::ThresholdParameter* V1LayerParameter::release_threshold_param() {
27479   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.threshold_param)
27480   clear_has_threshold_param();
27481   ::opencv_caffe::ThresholdParameter* temp = threshold_param_;
27482   threshold_param_ = NULL;
27483   return temp;
27484 }
27485 inline void V1LayerParameter::set_allocated_threshold_param(::opencv_caffe::ThresholdParameter* threshold_param) {
27486   delete threshold_param_;
27487   threshold_param_ = threshold_param;
27488   if (threshold_param) {
27489     set_has_threshold_param();
27490   } else {
27491     clear_has_threshold_param();
27492   }
27493   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.threshold_param)
27494 }
27495
27496 // optional .opencv_caffe.WindowDataParameter window_data_param = 20;
27497 inline bool V1LayerParameter::has_window_data_param() const {
27498   return (_has_bits_[1] & 0x00000080u) != 0;
27499 }
27500 inline void V1LayerParameter::set_has_window_data_param() {
27501   _has_bits_[1] |= 0x00000080u;
27502 }
27503 inline void V1LayerParameter::clear_has_window_data_param() {
27504   _has_bits_[1] &= ~0x00000080u;
27505 }
27506 inline void V1LayerParameter::clear_window_data_param() {
27507   if (window_data_param_ != NULL) window_data_param_->::opencv_caffe::WindowDataParameter::Clear();
27508   clear_has_window_data_param();
27509 }
27510 inline const ::opencv_caffe::WindowDataParameter& V1LayerParameter::window_data_param() const {
27511   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.window_data_param)
27512   return window_data_param_ != NULL ? *window_data_param_
27513                          : *::opencv_caffe::WindowDataParameter::internal_default_instance();
27514 }
27515 inline ::opencv_caffe::WindowDataParameter* V1LayerParameter::mutable_window_data_param() {
27516   set_has_window_data_param();
27517   if (window_data_param_ == NULL) {
27518     window_data_param_ = new ::opencv_caffe::WindowDataParameter;
27519   }
27520   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.window_data_param)
27521   return window_data_param_;
27522 }
27523 inline ::opencv_caffe::WindowDataParameter* V1LayerParameter::release_window_data_param() {
27524   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.window_data_param)
27525   clear_has_window_data_param();
27526   ::opencv_caffe::WindowDataParameter* temp = window_data_param_;
27527   window_data_param_ = NULL;
27528   return temp;
27529 }
27530 inline void V1LayerParameter::set_allocated_window_data_param(::opencv_caffe::WindowDataParameter* window_data_param) {
27531   delete window_data_param_;
27532   window_data_param_ = window_data_param;
27533   if (window_data_param) {
27534     set_has_window_data_param();
27535   } else {
27536     clear_has_window_data_param();
27537   }
27538   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.window_data_param)
27539 }
27540
27541 // optional .opencv_caffe.TransformationParameter transform_param = 36;
27542 inline bool V1LayerParameter::has_transform_param() const {
27543   return (_has_bits_[1] & 0x00000100u) != 0;
27544 }
27545 inline void V1LayerParameter::set_has_transform_param() {
27546   _has_bits_[1] |= 0x00000100u;
27547 }
27548 inline void V1LayerParameter::clear_has_transform_param() {
27549   _has_bits_[1] &= ~0x00000100u;
27550 }
27551 inline void V1LayerParameter::clear_transform_param() {
27552   if (transform_param_ != NULL) transform_param_->::opencv_caffe::TransformationParameter::Clear();
27553   clear_has_transform_param();
27554 }
27555 inline const ::opencv_caffe::TransformationParameter& V1LayerParameter::transform_param() const {
27556   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.transform_param)
27557   return transform_param_ != NULL ? *transform_param_
27558                          : *::opencv_caffe::TransformationParameter::internal_default_instance();
27559 }
27560 inline ::opencv_caffe::TransformationParameter* V1LayerParameter::mutable_transform_param() {
27561   set_has_transform_param();
27562   if (transform_param_ == NULL) {
27563     transform_param_ = new ::opencv_caffe::TransformationParameter;
27564   }
27565   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.transform_param)
27566   return transform_param_;
27567 }
27568 inline ::opencv_caffe::TransformationParameter* V1LayerParameter::release_transform_param() {
27569   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.transform_param)
27570   clear_has_transform_param();
27571   ::opencv_caffe::TransformationParameter* temp = transform_param_;
27572   transform_param_ = NULL;
27573   return temp;
27574 }
27575 inline void V1LayerParameter::set_allocated_transform_param(::opencv_caffe::TransformationParameter* transform_param) {
27576   delete transform_param_;
27577   transform_param_ = transform_param;
27578   if (transform_param) {
27579     set_has_transform_param();
27580   } else {
27581     clear_has_transform_param();
27582   }
27583   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.transform_param)
27584 }
27585
27586 // optional .opencv_caffe.LossParameter loss_param = 42;
27587 inline bool V1LayerParameter::has_loss_param() const {
27588   return (_has_bits_[1] & 0x00000200u) != 0;
27589 }
27590 inline void V1LayerParameter::set_has_loss_param() {
27591   _has_bits_[1] |= 0x00000200u;
27592 }
27593 inline void V1LayerParameter::clear_has_loss_param() {
27594   _has_bits_[1] &= ~0x00000200u;
27595 }
27596 inline void V1LayerParameter::clear_loss_param() {
27597   if (loss_param_ != NULL) loss_param_->::opencv_caffe::LossParameter::Clear();
27598   clear_has_loss_param();
27599 }
27600 inline const ::opencv_caffe::LossParameter& V1LayerParameter::loss_param() const {
27601   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.loss_param)
27602   return loss_param_ != NULL ? *loss_param_
27603                          : *::opencv_caffe::LossParameter::internal_default_instance();
27604 }
27605 inline ::opencv_caffe::LossParameter* V1LayerParameter::mutable_loss_param() {
27606   set_has_loss_param();
27607   if (loss_param_ == NULL) {
27608     loss_param_ = new ::opencv_caffe::LossParameter;
27609   }
27610   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.loss_param)
27611   return loss_param_;
27612 }
27613 inline ::opencv_caffe::LossParameter* V1LayerParameter::release_loss_param() {
27614   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.loss_param)
27615   clear_has_loss_param();
27616   ::opencv_caffe::LossParameter* temp = loss_param_;
27617   loss_param_ = NULL;
27618   return temp;
27619 }
27620 inline void V1LayerParameter::set_allocated_loss_param(::opencv_caffe::LossParameter* loss_param) {
27621   delete loss_param_;
27622   loss_param_ = loss_param;
27623   if (loss_param) {
27624     set_has_loss_param();
27625   } else {
27626     clear_has_loss_param();
27627   }
27628   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.loss_param)
27629 }
27630
27631 // optional .opencv_caffe.V0LayerParameter layer = 1;
27632 inline bool V1LayerParameter::has_layer() const {
27633   return (_has_bits_[1] & 0x00000400u) != 0;
27634 }
27635 inline void V1LayerParameter::set_has_layer() {
27636   _has_bits_[1] |= 0x00000400u;
27637 }
27638 inline void V1LayerParameter::clear_has_layer() {
27639   _has_bits_[1] &= ~0x00000400u;
27640 }
27641 inline void V1LayerParameter::clear_layer() {
27642   if (layer_ != NULL) layer_->::opencv_caffe::V0LayerParameter::Clear();
27643   clear_has_layer();
27644 }
27645 inline const ::opencv_caffe::V0LayerParameter& V1LayerParameter::layer() const {
27646   // @@protoc_insertion_point(field_get:opencv_caffe.V1LayerParameter.layer)
27647   return layer_ != NULL ? *layer_
27648                          : *::opencv_caffe::V0LayerParameter::internal_default_instance();
27649 }
27650 inline ::opencv_caffe::V0LayerParameter* V1LayerParameter::mutable_layer() {
27651   set_has_layer();
27652   if (layer_ == NULL) {
27653     layer_ = new ::opencv_caffe::V0LayerParameter;
27654   }
27655   // @@protoc_insertion_point(field_mutable:opencv_caffe.V1LayerParameter.layer)
27656   return layer_;
27657 }
27658 inline ::opencv_caffe::V0LayerParameter* V1LayerParameter::release_layer() {
27659   // @@protoc_insertion_point(field_release:opencv_caffe.V1LayerParameter.layer)
27660   clear_has_layer();
27661   ::opencv_caffe::V0LayerParameter* temp = layer_;
27662   layer_ = NULL;
27663   return temp;
27664 }
27665 inline void V1LayerParameter::set_allocated_layer(::opencv_caffe::V0LayerParameter* layer) {
27666   delete layer_;
27667   layer_ = layer;
27668   if (layer) {
27669     set_has_layer();
27670   } else {
27671     clear_has_layer();
27672   }
27673   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V1LayerParameter.layer)
27674 }
27675
27676 inline const V1LayerParameter* V1LayerParameter::internal_default_instance() {
27677   return &V1LayerParameter_default_instance_.get();
27678 }
27679 // -------------------------------------------------------------------
27680
27681 // V0LayerParameter
27682
27683 // optional string name = 1;
27684 inline bool V0LayerParameter::has_name() const {
27685   return (_has_bits_[0] & 0x00000001u) != 0;
27686 }
27687 inline void V0LayerParameter::set_has_name() {
27688   _has_bits_[0] |= 0x00000001u;
27689 }
27690 inline void V0LayerParameter::clear_has_name() {
27691   _has_bits_[0] &= ~0x00000001u;
27692 }
27693 inline void V0LayerParameter::clear_name() {
27694   name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27695   clear_has_name();
27696 }
27697 inline const ::std::string& V0LayerParameter::name() const {
27698   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.name)
27699   return name_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27700 }
27701 inline void V0LayerParameter::set_name(const ::std::string& value) {
27702   set_has_name();
27703   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27704   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.name)
27705 }
27706 inline void V0LayerParameter::set_name(const char* value) {
27707   set_has_name();
27708   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27709   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.name)
27710 }
27711 inline void V0LayerParameter::set_name(const char* value, size_t size) {
27712   set_has_name();
27713   name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27714       ::std::string(reinterpret_cast<const char*>(value), size));
27715   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.name)
27716 }
27717 inline ::std::string* V0LayerParameter::mutable_name() {
27718   set_has_name();
27719   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.name)
27720   return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27721 }
27722 inline ::std::string* V0LayerParameter::release_name() {
27723   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.name)
27724   clear_has_name();
27725   return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27726 }
27727 inline void V0LayerParameter::set_allocated_name(::std::string* name) {
27728   if (name != NULL) {
27729     set_has_name();
27730   } else {
27731     clear_has_name();
27732   }
27733   name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
27734   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.name)
27735 }
27736
27737 // optional string type = 2;
27738 inline bool V0LayerParameter::has_type() const {
27739   return (_has_bits_[0] & 0x00000002u) != 0;
27740 }
27741 inline void V0LayerParameter::set_has_type() {
27742   _has_bits_[0] |= 0x00000002u;
27743 }
27744 inline void V0LayerParameter::clear_has_type() {
27745   _has_bits_[0] &= ~0x00000002u;
27746 }
27747 inline void V0LayerParameter::clear_type() {
27748   type_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27749   clear_has_type();
27750 }
27751 inline const ::std::string& V0LayerParameter::type() const {
27752   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.type)
27753   return type_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27754 }
27755 inline void V0LayerParameter::set_type(const ::std::string& value) {
27756   set_has_type();
27757   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
27758   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.type)
27759 }
27760 inline void V0LayerParameter::set_type(const char* value) {
27761   set_has_type();
27762   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
27763   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.type)
27764 }
27765 inline void V0LayerParameter::set_type(const char* value, size_t size) {
27766   set_has_type();
27767   type_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
27768       ::std::string(reinterpret_cast<const char*>(value), size));
27769   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.type)
27770 }
27771 inline ::std::string* V0LayerParameter::mutable_type() {
27772   set_has_type();
27773   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.type)
27774   return type_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27775 }
27776 inline ::std::string* V0LayerParameter::release_type() {
27777   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.type)
27778   clear_has_type();
27779   return type_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
27780 }
27781 inline void V0LayerParameter::set_allocated_type(::std::string* type) {
27782   if (type != NULL) {
27783     set_has_type();
27784   } else {
27785     clear_has_type();
27786   }
27787   type_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), type);
27788   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.type)
27789 }
27790
27791 // optional uint32 num_output = 3;
27792 inline bool V0LayerParameter::has_num_output() const {
27793   return (_has_bits_[0] & 0x00000004u) != 0;
27794 }
27795 inline void V0LayerParameter::set_has_num_output() {
27796   _has_bits_[0] |= 0x00000004u;
27797 }
27798 inline void V0LayerParameter::clear_has_num_output() {
27799   _has_bits_[0] &= ~0x00000004u;
27800 }
27801 inline void V0LayerParameter::clear_num_output() {
27802   num_output_ = 0u;
27803   clear_has_num_output();
27804 }
27805 inline ::google::protobuf::uint32 V0LayerParameter::num_output() const {
27806   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.num_output)
27807   return num_output_;
27808 }
27809 inline void V0LayerParameter::set_num_output(::google::protobuf::uint32 value) {
27810   set_has_num_output();
27811   num_output_ = value;
27812   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.num_output)
27813 }
27814
27815 // optional bool biasterm = 4 [default = true];
27816 inline bool V0LayerParameter::has_biasterm() const {
27817   return (_has_bits_[0] & 0x00000008u) != 0;
27818 }
27819 inline void V0LayerParameter::set_has_biasterm() {
27820   _has_bits_[0] |= 0x00000008u;
27821 }
27822 inline void V0LayerParameter::clear_has_biasterm() {
27823   _has_bits_[0] &= ~0x00000008u;
27824 }
27825 inline void V0LayerParameter::clear_biasterm() {
27826   biasterm_ = true;
27827   clear_has_biasterm();
27828 }
27829 inline bool V0LayerParameter::biasterm() const {
27830   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.biasterm)
27831   return biasterm_;
27832 }
27833 inline void V0LayerParameter::set_biasterm(bool value) {
27834   set_has_biasterm();
27835   biasterm_ = value;
27836   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.biasterm)
27837 }
27838
27839 // optional .opencv_caffe.FillerParameter weight_filler = 5;
27840 inline bool V0LayerParameter::has_weight_filler() const {
27841   return (_has_bits_[0] & 0x00000010u) != 0;
27842 }
27843 inline void V0LayerParameter::set_has_weight_filler() {
27844   _has_bits_[0] |= 0x00000010u;
27845 }
27846 inline void V0LayerParameter::clear_has_weight_filler() {
27847   _has_bits_[0] &= ~0x00000010u;
27848 }
27849 inline void V0LayerParameter::clear_weight_filler() {
27850   if (weight_filler_ != NULL) weight_filler_->::opencv_caffe::FillerParameter::Clear();
27851   clear_has_weight_filler();
27852 }
27853 inline const ::opencv_caffe::FillerParameter& V0LayerParameter::weight_filler() const {
27854   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_filler)
27855   return weight_filler_ != NULL ? *weight_filler_
27856                          : *::opencv_caffe::FillerParameter::internal_default_instance();
27857 }
27858 inline ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_weight_filler() {
27859   set_has_weight_filler();
27860   if (weight_filler_ == NULL) {
27861     weight_filler_ = new ::opencv_caffe::FillerParameter;
27862   }
27863   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.weight_filler)
27864   return weight_filler_;
27865 }
27866 inline ::opencv_caffe::FillerParameter* V0LayerParameter::release_weight_filler() {
27867   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.weight_filler)
27868   clear_has_weight_filler();
27869   ::opencv_caffe::FillerParameter* temp = weight_filler_;
27870   weight_filler_ = NULL;
27871   return temp;
27872 }
27873 inline void V0LayerParameter::set_allocated_weight_filler(::opencv_caffe::FillerParameter* weight_filler) {
27874   delete weight_filler_;
27875   weight_filler_ = weight_filler;
27876   if (weight_filler) {
27877     set_has_weight_filler();
27878   } else {
27879     clear_has_weight_filler();
27880   }
27881   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.weight_filler)
27882 }
27883
27884 // optional .opencv_caffe.FillerParameter bias_filler = 6;
27885 inline bool V0LayerParameter::has_bias_filler() const {
27886   return (_has_bits_[0] & 0x00000020u) != 0;
27887 }
27888 inline void V0LayerParameter::set_has_bias_filler() {
27889   _has_bits_[0] |= 0x00000020u;
27890 }
27891 inline void V0LayerParameter::clear_has_bias_filler() {
27892   _has_bits_[0] &= ~0x00000020u;
27893 }
27894 inline void V0LayerParameter::clear_bias_filler() {
27895   if (bias_filler_ != NULL) bias_filler_->::opencv_caffe::FillerParameter::Clear();
27896   clear_has_bias_filler();
27897 }
27898 inline const ::opencv_caffe::FillerParameter& V0LayerParameter::bias_filler() const {
27899   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.bias_filler)
27900   return bias_filler_ != NULL ? *bias_filler_
27901                          : *::opencv_caffe::FillerParameter::internal_default_instance();
27902 }
27903 inline ::opencv_caffe::FillerParameter* V0LayerParameter::mutable_bias_filler() {
27904   set_has_bias_filler();
27905   if (bias_filler_ == NULL) {
27906     bias_filler_ = new ::opencv_caffe::FillerParameter;
27907   }
27908   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.bias_filler)
27909   return bias_filler_;
27910 }
27911 inline ::opencv_caffe::FillerParameter* V0LayerParameter::release_bias_filler() {
27912   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.bias_filler)
27913   clear_has_bias_filler();
27914   ::opencv_caffe::FillerParameter* temp = bias_filler_;
27915   bias_filler_ = NULL;
27916   return temp;
27917 }
27918 inline void V0LayerParameter::set_allocated_bias_filler(::opencv_caffe::FillerParameter* bias_filler) {
27919   delete bias_filler_;
27920   bias_filler_ = bias_filler;
27921   if (bias_filler) {
27922     set_has_bias_filler();
27923   } else {
27924     clear_has_bias_filler();
27925   }
27926   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.bias_filler)
27927 }
27928
27929 // optional uint32 pad = 7 [default = 0];
27930 inline bool V0LayerParameter::has_pad() const {
27931   return (_has_bits_[0] & 0x00000040u) != 0;
27932 }
27933 inline void V0LayerParameter::set_has_pad() {
27934   _has_bits_[0] |= 0x00000040u;
27935 }
27936 inline void V0LayerParameter::clear_has_pad() {
27937   _has_bits_[0] &= ~0x00000040u;
27938 }
27939 inline void V0LayerParameter::clear_pad() {
27940   pad_ = 0u;
27941   clear_has_pad();
27942 }
27943 inline ::google::protobuf::uint32 V0LayerParameter::pad() const {
27944   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pad)
27945   return pad_;
27946 }
27947 inline void V0LayerParameter::set_pad(::google::protobuf::uint32 value) {
27948   set_has_pad();
27949   pad_ = value;
27950   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pad)
27951 }
27952
27953 // optional uint32 kernelsize = 8;
27954 inline bool V0LayerParameter::has_kernelsize() const {
27955   return (_has_bits_[0] & 0x00000080u) != 0;
27956 }
27957 inline void V0LayerParameter::set_has_kernelsize() {
27958   _has_bits_[0] |= 0x00000080u;
27959 }
27960 inline void V0LayerParameter::clear_has_kernelsize() {
27961   _has_bits_[0] &= ~0x00000080u;
27962 }
27963 inline void V0LayerParameter::clear_kernelsize() {
27964   kernelsize_ = 0u;
27965   clear_has_kernelsize();
27966 }
27967 inline ::google::protobuf::uint32 V0LayerParameter::kernelsize() const {
27968   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.kernelsize)
27969   return kernelsize_;
27970 }
27971 inline void V0LayerParameter::set_kernelsize(::google::protobuf::uint32 value) {
27972   set_has_kernelsize();
27973   kernelsize_ = value;
27974   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.kernelsize)
27975 }
27976
27977 // optional uint32 group = 9 [default = 1];
27978 inline bool V0LayerParameter::has_group() const {
27979   return (_has_bits_[0] & 0x00000100u) != 0;
27980 }
27981 inline void V0LayerParameter::set_has_group() {
27982   _has_bits_[0] |= 0x00000100u;
27983 }
27984 inline void V0LayerParameter::clear_has_group() {
27985   _has_bits_[0] &= ~0x00000100u;
27986 }
27987 inline void V0LayerParameter::clear_group() {
27988   group_ = 1u;
27989   clear_has_group();
27990 }
27991 inline ::google::protobuf::uint32 V0LayerParameter::group() const {
27992   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.group)
27993   return group_;
27994 }
27995 inline void V0LayerParameter::set_group(::google::protobuf::uint32 value) {
27996   set_has_group();
27997   group_ = value;
27998   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.group)
27999 }
28000
28001 // optional uint32 stride = 10 [default = 1];
28002 inline bool V0LayerParameter::has_stride() const {
28003   return (_has_bits_[0] & 0x00000200u) != 0;
28004 }
28005 inline void V0LayerParameter::set_has_stride() {
28006   _has_bits_[0] |= 0x00000200u;
28007 }
28008 inline void V0LayerParameter::clear_has_stride() {
28009   _has_bits_[0] &= ~0x00000200u;
28010 }
28011 inline void V0LayerParameter::clear_stride() {
28012   stride_ = 1u;
28013   clear_has_stride();
28014 }
28015 inline ::google::protobuf::uint32 V0LayerParameter::stride() const {
28016   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.stride)
28017   return stride_;
28018 }
28019 inline void V0LayerParameter::set_stride(::google::protobuf::uint32 value) {
28020   set_has_stride();
28021   stride_ = value;
28022   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.stride)
28023 }
28024
28025 // optional .opencv_caffe.V0LayerParameter.PoolMethod pool = 11 [default = MAX];
28026 inline bool V0LayerParameter::has_pool() const {
28027   return (_has_bits_[0] & 0x00000400u) != 0;
28028 }
28029 inline void V0LayerParameter::set_has_pool() {
28030   _has_bits_[0] |= 0x00000400u;
28031 }
28032 inline void V0LayerParameter::clear_has_pool() {
28033   _has_bits_[0] &= ~0x00000400u;
28034 }
28035 inline void V0LayerParameter::clear_pool() {
28036   pool_ = 0;
28037   clear_has_pool();
28038 }
28039 inline ::opencv_caffe::V0LayerParameter_PoolMethod V0LayerParameter::pool() const {
28040   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.pool)
28041   return static_cast< ::opencv_caffe::V0LayerParameter_PoolMethod >(pool_);
28042 }
28043 inline void V0LayerParameter::set_pool(::opencv_caffe::V0LayerParameter_PoolMethod value) {
28044   assert(::opencv_caffe::V0LayerParameter_PoolMethod_IsValid(value));
28045   set_has_pool();
28046   pool_ = value;
28047   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.pool)
28048 }
28049
28050 // optional float dropout_ratio = 12 [default = 0.5];
28051 inline bool V0LayerParameter::has_dropout_ratio() const {
28052   return (_has_bits_[0] & 0x00000800u) != 0;
28053 }
28054 inline void V0LayerParameter::set_has_dropout_ratio() {
28055   _has_bits_[0] |= 0x00000800u;
28056 }
28057 inline void V0LayerParameter::clear_has_dropout_ratio() {
28058   _has_bits_[0] &= ~0x00000800u;
28059 }
28060 inline void V0LayerParameter::clear_dropout_ratio() {
28061   dropout_ratio_ = 0.5f;
28062   clear_has_dropout_ratio();
28063 }
28064 inline float V0LayerParameter::dropout_ratio() const {
28065   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.dropout_ratio)
28066   return dropout_ratio_;
28067 }
28068 inline void V0LayerParameter::set_dropout_ratio(float value) {
28069   set_has_dropout_ratio();
28070   dropout_ratio_ = value;
28071   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.dropout_ratio)
28072 }
28073
28074 // optional uint32 local_size = 13 [default = 5];
28075 inline bool V0LayerParameter::has_local_size() const {
28076   return (_has_bits_[0] & 0x00001000u) != 0;
28077 }
28078 inline void V0LayerParameter::set_has_local_size() {
28079   _has_bits_[0] |= 0x00001000u;
28080 }
28081 inline void V0LayerParameter::clear_has_local_size() {
28082   _has_bits_[0] &= ~0x00001000u;
28083 }
28084 inline void V0LayerParameter::clear_local_size() {
28085   local_size_ = 5u;
28086   clear_has_local_size();
28087 }
28088 inline ::google::protobuf::uint32 V0LayerParameter::local_size() const {
28089   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.local_size)
28090   return local_size_;
28091 }
28092 inline void V0LayerParameter::set_local_size(::google::protobuf::uint32 value) {
28093   set_has_local_size();
28094   local_size_ = value;
28095   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.local_size)
28096 }
28097
28098 // optional float alpha = 14 [default = 1];
28099 inline bool V0LayerParameter::has_alpha() const {
28100   return (_has_bits_[0] & 0x00002000u) != 0;
28101 }
28102 inline void V0LayerParameter::set_has_alpha() {
28103   _has_bits_[0] |= 0x00002000u;
28104 }
28105 inline void V0LayerParameter::clear_has_alpha() {
28106   _has_bits_[0] &= ~0x00002000u;
28107 }
28108 inline void V0LayerParameter::clear_alpha() {
28109   alpha_ = 1;
28110   clear_has_alpha();
28111 }
28112 inline float V0LayerParameter::alpha() const {
28113   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.alpha)
28114   return alpha_;
28115 }
28116 inline void V0LayerParameter::set_alpha(float value) {
28117   set_has_alpha();
28118   alpha_ = value;
28119   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.alpha)
28120 }
28121
28122 // optional float beta = 15 [default = 0.75];
28123 inline bool V0LayerParameter::has_beta() const {
28124   return (_has_bits_[0] & 0x00004000u) != 0;
28125 }
28126 inline void V0LayerParameter::set_has_beta() {
28127   _has_bits_[0] |= 0x00004000u;
28128 }
28129 inline void V0LayerParameter::clear_has_beta() {
28130   _has_bits_[0] &= ~0x00004000u;
28131 }
28132 inline void V0LayerParameter::clear_beta() {
28133   beta_ = 0.75f;
28134   clear_has_beta();
28135 }
28136 inline float V0LayerParameter::beta() const {
28137   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.beta)
28138   return beta_;
28139 }
28140 inline void V0LayerParameter::set_beta(float value) {
28141   set_has_beta();
28142   beta_ = value;
28143   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.beta)
28144 }
28145
28146 // optional float k = 22 [default = 1];
28147 inline bool V0LayerParameter::has_k() const {
28148   return (_has_bits_[0] & 0x00008000u) != 0;
28149 }
28150 inline void V0LayerParameter::set_has_k() {
28151   _has_bits_[0] |= 0x00008000u;
28152 }
28153 inline void V0LayerParameter::clear_has_k() {
28154   _has_bits_[0] &= ~0x00008000u;
28155 }
28156 inline void V0LayerParameter::clear_k() {
28157   k_ = 1;
28158   clear_has_k();
28159 }
28160 inline float V0LayerParameter::k() const {
28161   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.k)
28162   return k_;
28163 }
28164 inline void V0LayerParameter::set_k(float value) {
28165   set_has_k();
28166   k_ = value;
28167   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.k)
28168 }
28169
28170 // optional string source = 16;
28171 inline bool V0LayerParameter::has_source() const {
28172   return (_has_bits_[0] & 0x00010000u) != 0;
28173 }
28174 inline void V0LayerParameter::set_has_source() {
28175   _has_bits_[0] |= 0x00010000u;
28176 }
28177 inline void V0LayerParameter::clear_has_source() {
28178   _has_bits_[0] &= ~0x00010000u;
28179 }
28180 inline void V0LayerParameter::clear_source() {
28181   source_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28182   clear_has_source();
28183 }
28184 inline const ::std::string& V0LayerParameter::source() const {
28185   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.source)
28186   return source_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28187 }
28188 inline void V0LayerParameter::set_source(const ::std::string& value) {
28189   set_has_source();
28190   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28191   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.source)
28192 }
28193 inline void V0LayerParameter::set_source(const char* value) {
28194   set_has_source();
28195   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28196   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.source)
28197 }
28198 inline void V0LayerParameter::set_source(const char* value, size_t size) {
28199   set_has_source();
28200   source_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28201       ::std::string(reinterpret_cast<const char*>(value), size));
28202   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.source)
28203 }
28204 inline ::std::string* V0LayerParameter::mutable_source() {
28205   set_has_source();
28206   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.source)
28207   return source_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28208 }
28209 inline ::std::string* V0LayerParameter::release_source() {
28210   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.source)
28211   clear_has_source();
28212   return source_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28213 }
28214 inline void V0LayerParameter::set_allocated_source(::std::string* source) {
28215   if (source != NULL) {
28216     set_has_source();
28217   } else {
28218     clear_has_source();
28219   }
28220   source_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), source);
28221   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.source)
28222 }
28223
28224 // optional float scale = 17 [default = 1];
28225 inline bool V0LayerParameter::has_scale() const {
28226   return (_has_bits_[0] & 0x00020000u) != 0;
28227 }
28228 inline void V0LayerParameter::set_has_scale() {
28229   _has_bits_[0] |= 0x00020000u;
28230 }
28231 inline void V0LayerParameter::clear_has_scale() {
28232   _has_bits_[0] &= ~0x00020000u;
28233 }
28234 inline void V0LayerParameter::clear_scale() {
28235   scale_ = 1;
28236   clear_has_scale();
28237 }
28238 inline float V0LayerParameter::scale() const {
28239   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.scale)
28240   return scale_;
28241 }
28242 inline void V0LayerParameter::set_scale(float value) {
28243   set_has_scale();
28244   scale_ = value;
28245   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.scale)
28246 }
28247
28248 // optional string meanfile = 18;
28249 inline bool V0LayerParameter::has_meanfile() const {
28250   return (_has_bits_[0] & 0x00040000u) != 0;
28251 }
28252 inline void V0LayerParameter::set_has_meanfile() {
28253   _has_bits_[0] |= 0x00040000u;
28254 }
28255 inline void V0LayerParameter::clear_has_meanfile() {
28256   _has_bits_[0] &= ~0x00040000u;
28257 }
28258 inline void V0LayerParameter::clear_meanfile() {
28259   meanfile_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28260   clear_has_meanfile();
28261 }
28262 inline const ::std::string& V0LayerParameter::meanfile() const {
28263   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.meanfile)
28264   return meanfile_.GetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28265 }
28266 inline void V0LayerParameter::set_meanfile(const ::std::string& value) {
28267   set_has_meanfile();
28268   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
28269   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.meanfile)
28270 }
28271 inline void V0LayerParameter::set_meanfile(const char* value) {
28272   set_has_meanfile();
28273   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
28274   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.meanfile)
28275 }
28276 inline void V0LayerParameter::set_meanfile(const char* value, size_t size) {
28277   set_has_meanfile();
28278   meanfile_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
28279       ::std::string(reinterpret_cast<const char*>(value), size));
28280   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.meanfile)
28281 }
28282 inline ::std::string* V0LayerParameter::mutable_meanfile() {
28283   set_has_meanfile();
28284   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.meanfile)
28285   return meanfile_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28286 }
28287 inline ::std::string* V0LayerParameter::release_meanfile() {
28288   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.meanfile)
28289   clear_has_meanfile();
28290   return meanfile_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
28291 }
28292 inline void V0LayerParameter::set_allocated_meanfile(::std::string* meanfile) {
28293   if (meanfile != NULL) {
28294     set_has_meanfile();
28295   } else {
28296     clear_has_meanfile();
28297   }
28298   meanfile_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), meanfile);
28299   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.meanfile)
28300 }
28301
28302 // optional uint32 batchsize = 19;
28303 inline bool V0LayerParameter::has_batchsize() const {
28304   return (_has_bits_[0] & 0x00080000u) != 0;
28305 }
28306 inline void V0LayerParameter::set_has_batchsize() {
28307   _has_bits_[0] |= 0x00080000u;
28308 }
28309 inline void V0LayerParameter::clear_has_batchsize() {
28310   _has_bits_[0] &= ~0x00080000u;
28311 }
28312 inline void V0LayerParameter::clear_batchsize() {
28313   batchsize_ = 0u;
28314   clear_has_batchsize();
28315 }
28316 inline ::google::protobuf::uint32 V0LayerParameter::batchsize() const {
28317   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.batchsize)
28318   return batchsize_;
28319 }
28320 inline void V0LayerParameter::set_batchsize(::google::protobuf::uint32 value) {
28321   set_has_batchsize();
28322   batchsize_ = value;
28323   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.batchsize)
28324 }
28325
28326 // optional uint32 cropsize = 20 [default = 0];
28327 inline bool V0LayerParameter::has_cropsize() const {
28328   return (_has_bits_[0] & 0x00100000u) != 0;
28329 }
28330 inline void V0LayerParameter::set_has_cropsize() {
28331   _has_bits_[0] |= 0x00100000u;
28332 }
28333 inline void V0LayerParameter::clear_has_cropsize() {
28334   _has_bits_[0] &= ~0x00100000u;
28335 }
28336 inline void V0LayerParameter::clear_cropsize() {
28337   cropsize_ = 0u;
28338   clear_has_cropsize();
28339 }
28340 inline ::google::protobuf::uint32 V0LayerParameter::cropsize() const {
28341   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.cropsize)
28342   return cropsize_;
28343 }
28344 inline void V0LayerParameter::set_cropsize(::google::protobuf::uint32 value) {
28345   set_has_cropsize();
28346   cropsize_ = value;
28347   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.cropsize)
28348 }
28349
28350 // optional bool mirror = 21 [default = false];
28351 inline bool V0LayerParameter::has_mirror() const {
28352   return (_has_bits_[0] & 0x00200000u) != 0;
28353 }
28354 inline void V0LayerParameter::set_has_mirror() {
28355   _has_bits_[0] |= 0x00200000u;
28356 }
28357 inline void V0LayerParameter::clear_has_mirror() {
28358   _has_bits_[0] &= ~0x00200000u;
28359 }
28360 inline void V0LayerParameter::clear_mirror() {
28361   mirror_ = false;
28362   clear_has_mirror();
28363 }
28364 inline bool V0LayerParameter::mirror() const {
28365   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.mirror)
28366   return mirror_;
28367 }
28368 inline void V0LayerParameter::set_mirror(bool value) {
28369   set_has_mirror();
28370   mirror_ = value;
28371   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.mirror)
28372 }
28373
28374 // repeated .opencv_caffe.BlobProto blobs = 50;
28375 inline int V0LayerParameter::blobs_size() const {
28376   return blobs_.size();
28377 }
28378 inline void V0LayerParameter::clear_blobs() {
28379   blobs_.Clear();
28380 }
28381 inline const ::opencv_caffe::BlobProto& V0LayerParameter::blobs(int index) const {
28382   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs)
28383   return blobs_.Get(index);
28384 }
28385 inline ::opencv_caffe::BlobProto* V0LayerParameter::mutable_blobs(int index) {
28386   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.blobs)
28387   return blobs_.Mutable(index);
28388 }
28389 inline ::opencv_caffe::BlobProto* V0LayerParameter::add_blobs() {
28390   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs)
28391   return blobs_.Add();
28392 }
28393 inline ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >*
28394 V0LayerParameter::mutable_blobs() {
28395   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs)
28396   return &blobs_;
28397 }
28398 inline const ::google::protobuf::RepeatedPtrField< ::opencv_caffe::BlobProto >&
28399 V0LayerParameter::blobs() const {
28400   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs)
28401   return blobs_;
28402 }
28403
28404 // repeated float blobs_lr = 51;
28405 inline int V0LayerParameter::blobs_lr_size() const {
28406   return blobs_lr_.size();
28407 }
28408 inline void V0LayerParameter::clear_blobs_lr() {
28409   blobs_lr_.Clear();
28410 }
28411 inline float V0LayerParameter::blobs_lr(int index) const {
28412   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.blobs_lr)
28413   return blobs_lr_.Get(index);
28414 }
28415 inline void V0LayerParameter::set_blobs_lr(int index, float value) {
28416   blobs_lr_.Set(index, value);
28417   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.blobs_lr)
28418 }
28419 inline void V0LayerParameter::add_blobs_lr(float value) {
28420   blobs_lr_.Add(value);
28421   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.blobs_lr)
28422 }
28423 inline const ::google::protobuf::RepeatedField< float >&
28424 V0LayerParameter::blobs_lr() const {
28425   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.blobs_lr)
28426   return blobs_lr_;
28427 }
28428 inline ::google::protobuf::RepeatedField< float >*
28429 V0LayerParameter::mutable_blobs_lr() {
28430   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.blobs_lr)
28431   return &blobs_lr_;
28432 }
28433
28434 // repeated float weight_decay = 52;
28435 inline int V0LayerParameter::weight_decay_size() const {
28436   return weight_decay_.size();
28437 }
28438 inline void V0LayerParameter::clear_weight_decay() {
28439   weight_decay_.Clear();
28440 }
28441 inline float V0LayerParameter::weight_decay(int index) const {
28442   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.weight_decay)
28443   return weight_decay_.Get(index);
28444 }
28445 inline void V0LayerParameter::set_weight_decay(int index, float value) {
28446   weight_decay_.Set(index, value);
28447   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.weight_decay)
28448 }
28449 inline void V0LayerParameter::add_weight_decay(float value) {
28450   weight_decay_.Add(value);
28451   // @@protoc_insertion_point(field_add:opencv_caffe.V0LayerParameter.weight_decay)
28452 }
28453 inline const ::google::protobuf::RepeatedField< float >&
28454 V0LayerParameter::weight_decay() const {
28455   // @@protoc_insertion_point(field_list:opencv_caffe.V0LayerParameter.weight_decay)
28456   return weight_decay_;
28457 }
28458 inline ::google::protobuf::RepeatedField< float >*
28459 V0LayerParameter::mutable_weight_decay() {
28460   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.V0LayerParameter.weight_decay)
28461   return &weight_decay_;
28462 }
28463
28464 // optional uint32 rand_skip = 53 [default = 0];
28465 inline bool V0LayerParameter::has_rand_skip() const {
28466   return (_has_bits_[0] & 0x02000000u) != 0;
28467 }
28468 inline void V0LayerParameter::set_has_rand_skip() {
28469   _has_bits_[0] |= 0x02000000u;
28470 }
28471 inline void V0LayerParameter::clear_has_rand_skip() {
28472   _has_bits_[0] &= ~0x02000000u;
28473 }
28474 inline void V0LayerParameter::clear_rand_skip() {
28475   rand_skip_ = 0u;
28476   clear_has_rand_skip();
28477 }
28478 inline ::google::protobuf::uint32 V0LayerParameter::rand_skip() const {
28479   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.rand_skip)
28480   return rand_skip_;
28481 }
28482 inline void V0LayerParameter::set_rand_skip(::google::protobuf::uint32 value) {
28483   set_has_rand_skip();
28484   rand_skip_ = value;
28485   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.rand_skip)
28486 }
28487
28488 // optional float det_fg_threshold = 54 [default = 0.5];
28489 inline bool V0LayerParameter::has_det_fg_threshold() const {
28490   return (_has_bits_[0] & 0x04000000u) != 0;
28491 }
28492 inline void V0LayerParameter::set_has_det_fg_threshold() {
28493   _has_bits_[0] |= 0x04000000u;
28494 }
28495 inline void V0LayerParameter::clear_has_det_fg_threshold() {
28496   _has_bits_[0] &= ~0x04000000u;
28497 }
28498 inline void V0LayerParameter::clear_det_fg_threshold() {
28499   det_fg_threshold_ = 0.5f;
28500   clear_has_det_fg_threshold();
28501 }
28502 inline float V0LayerParameter::det_fg_threshold() const {
28503   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_threshold)
28504   return det_fg_threshold_;
28505 }
28506 inline void V0LayerParameter::set_det_fg_threshold(float value) {
28507   set_has_det_fg_threshold();
28508   det_fg_threshold_ = value;
28509   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_threshold)
28510 }
28511
28512 // optional float det_bg_threshold = 55 [default = 0.5];
28513 inline bool V0LayerParameter::has_det_bg_threshold() const {
28514   return (_has_bits_[0] & 0x08000000u) != 0;
28515 }
28516 inline void V0LayerParameter::set_has_det_bg_threshold() {
28517   _has_bits_[0] |= 0x08000000u;
28518 }
28519 inline void V0LayerParameter::clear_has_det_bg_threshold() {
28520   _has_bits_[0] &= ~0x08000000u;
28521 }
28522 inline void V0LayerParameter::clear_det_bg_threshold() {
28523   det_bg_threshold_ = 0.5f;
28524   clear_has_det_bg_threshold();
28525 }
28526 inline float V0LayerParameter::det_bg_threshold() const {
28527   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_bg_threshold)
28528   return det_bg_threshold_;
28529 }
28530 inline void V0LayerParameter::set_det_bg_threshold(float value) {
28531   set_has_det_bg_threshold();
28532   det_bg_threshold_ = value;
28533   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_bg_threshold)
28534 }
28535
28536 // optional float det_fg_fraction = 56 [default = 0.25];
28537 inline bool V0LayerParameter::has_det_fg_fraction() const {
28538   return (_has_bits_[0] & 0x10000000u) != 0;
28539 }
28540 inline void V0LayerParameter::set_has_det_fg_fraction() {
28541   _has_bits_[0] |= 0x10000000u;
28542 }
28543 inline void V0LayerParameter::clear_has_det_fg_fraction() {
28544   _has_bits_[0] &= ~0x10000000u;
28545 }
28546 inline void V0LayerParameter::clear_det_fg_fraction() {
28547   det_fg_fraction_ = 0.25f;
28548   clear_has_det_fg_fraction();
28549 }
28550 inline float V0LayerParameter::det_fg_fraction() const {
28551   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_fg_fraction)
28552   return det_fg_fraction_;
28553 }
28554 inline void V0LayerParameter::set_det_fg_fraction(float value) {
28555   set_has_det_fg_fraction();
28556   det_fg_fraction_ = value;
28557   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_fg_fraction)
28558 }
28559
28560 // optional uint32 det_context_pad = 58 [default = 0];
28561 inline bool V0LayerParameter::has_det_context_pad() const {
28562   return (_has_bits_[0] & 0x20000000u) != 0;
28563 }
28564 inline void V0LayerParameter::set_has_det_context_pad() {
28565   _has_bits_[0] |= 0x20000000u;
28566 }
28567 inline void V0LayerParameter::clear_has_det_context_pad() {
28568   _has_bits_[0] &= ~0x20000000u;
28569 }
28570 inline void V0LayerParameter::clear_det_context_pad() {
28571   det_context_pad_ = 0u;
28572   clear_has_det_context_pad();
28573 }
28574 inline ::google::protobuf::uint32 V0LayerParameter::det_context_pad() const {
28575   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_context_pad)
28576   return det_context_pad_;
28577 }
28578 inline void V0LayerParameter::set_det_context_pad(::google::protobuf::uint32 value) {
28579   set_has_det_context_pad();
28580   det_context_pad_ = value;
28581   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_context_pad)
28582 }
28583
28584 // optional string det_crop_mode = 59 [default = "warp"];
28585 inline bool V0LayerParameter::has_det_crop_mode() const {
28586   return (_has_bits_[0] & 0x40000000u) != 0;
28587 }
28588 inline void V0LayerParameter::set_has_det_crop_mode() {
28589   _has_bits_[0] |= 0x40000000u;
28590 }
28591 inline void V0LayerParameter::clear_has_det_crop_mode() {
28592   _has_bits_[0] &= ~0x40000000u;
28593 }
28594 inline void V0LayerParameter::clear_det_crop_mode() {
28595   det_crop_mode_.ClearToDefaultNoArena(_default_det_crop_mode_);
28596   clear_has_det_crop_mode();
28597 }
28598 inline const ::std::string& V0LayerParameter::det_crop_mode() const {
28599   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.det_crop_mode)
28600   return det_crop_mode_.GetNoArena(_default_det_crop_mode_);
28601 }
28602 inline void V0LayerParameter::set_det_crop_mode(const ::std::string& value) {
28603   set_has_det_crop_mode();
28604   det_crop_mode_.SetNoArena(_default_det_crop_mode_, value);
28605   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.det_crop_mode)
28606 }
28607 inline void V0LayerParameter::set_det_crop_mode(const char* value) {
28608   set_has_det_crop_mode();
28609   det_crop_mode_.SetNoArena(_default_det_crop_mode_, ::std::string(value));
28610   // @@protoc_insertion_point(field_set_char:opencv_caffe.V0LayerParameter.det_crop_mode)
28611 }
28612 inline void V0LayerParameter::set_det_crop_mode(const char* value, size_t size) {
28613   set_has_det_crop_mode();
28614   det_crop_mode_.SetNoArena(_default_det_crop_mode_,
28615       ::std::string(reinterpret_cast<const char*>(value), size));
28616   // @@protoc_insertion_point(field_set_pointer:opencv_caffe.V0LayerParameter.det_crop_mode)
28617 }
28618 inline ::std::string* V0LayerParameter::mutable_det_crop_mode() {
28619   set_has_det_crop_mode();
28620   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.det_crop_mode)
28621   return det_crop_mode_.MutableNoArena(_default_det_crop_mode_);
28622 }
28623 inline ::std::string* V0LayerParameter::release_det_crop_mode() {
28624   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.det_crop_mode)
28625   clear_has_det_crop_mode();
28626   return det_crop_mode_.ReleaseNoArena(_default_det_crop_mode_);
28627 }
28628 inline void V0LayerParameter::set_allocated_det_crop_mode(::std::string* det_crop_mode) {
28629   if (det_crop_mode != NULL) {
28630     set_has_det_crop_mode();
28631   } else {
28632     clear_has_det_crop_mode();
28633   }
28634   det_crop_mode_.SetAllocatedNoArena(_default_det_crop_mode_, det_crop_mode);
28635   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.det_crop_mode)
28636 }
28637
28638 // optional int32 new_num = 60 [default = 0];
28639 inline bool V0LayerParameter::has_new_num() const {
28640   return (_has_bits_[0] & 0x80000000u) != 0;
28641 }
28642 inline void V0LayerParameter::set_has_new_num() {
28643   _has_bits_[0] |= 0x80000000u;
28644 }
28645 inline void V0LayerParameter::clear_has_new_num() {
28646   _has_bits_[0] &= ~0x80000000u;
28647 }
28648 inline void V0LayerParameter::clear_new_num() {
28649   new_num_ = 0;
28650   clear_has_new_num();
28651 }
28652 inline ::google::protobuf::int32 V0LayerParameter::new_num() const {
28653   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_num)
28654   return new_num_;
28655 }
28656 inline void V0LayerParameter::set_new_num(::google::protobuf::int32 value) {
28657   set_has_new_num();
28658   new_num_ = value;
28659   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_num)
28660 }
28661
28662 // optional int32 new_channels = 61 [default = 0];
28663 inline bool V0LayerParameter::has_new_channels() const {
28664   return (_has_bits_[1] & 0x00000001u) != 0;
28665 }
28666 inline void V0LayerParameter::set_has_new_channels() {
28667   _has_bits_[1] |= 0x00000001u;
28668 }
28669 inline void V0LayerParameter::clear_has_new_channels() {
28670   _has_bits_[1] &= ~0x00000001u;
28671 }
28672 inline void V0LayerParameter::clear_new_channels() {
28673   new_channels_ = 0;
28674   clear_has_new_channels();
28675 }
28676 inline ::google::protobuf::int32 V0LayerParameter::new_channels() const {
28677   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_channels)
28678   return new_channels_;
28679 }
28680 inline void V0LayerParameter::set_new_channels(::google::protobuf::int32 value) {
28681   set_has_new_channels();
28682   new_channels_ = value;
28683   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_channels)
28684 }
28685
28686 // optional int32 new_height = 62 [default = 0];
28687 inline bool V0LayerParameter::has_new_height() const {
28688   return (_has_bits_[1] & 0x00000002u) != 0;
28689 }
28690 inline void V0LayerParameter::set_has_new_height() {
28691   _has_bits_[1] |= 0x00000002u;
28692 }
28693 inline void V0LayerParameter::clear_has_new_height() {
28694   _has_bits_[1] &= ~0x00000002u;
28695 }
28696 inline void V0LayerParameter::clear_new_height() {
28697   new_height_ = 0;
28698   clear_has_new_height();
28699 }
28700 inline ::google::protobuf::int32 V0LayerParameter::new_height() const {
28701   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_height)
28702   return new_height_;
28703 }
28704 inline void V0LayerParameter::set_new_height(::google::protobuf::int32 value) {
28705   set_has_new_height();
28706   new_height_ = value;
28707   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_height)
28708 }
28709
28710 // optional int32 new_width = 63 [default = 0];
28711 inline bool V0LayerParameter::has_new_width() const {
28712   return (_has_bits_[1] & 0x00000004u) != 0;
28713 }
28714 inline void V0LayerParameter::set_has_new_width() {
28715   _has_bits_[1] |= 0x00000004u;
28716 }
28717 inline void V0LayerParameter::clear_has_new_width() {
28718   _has_bits_[1] &= ~0x00000004u;
28719 }
28720 inline void V0LayerParameter::clear_new_width() {
28721   new_width_ = 0;
28722   clear_has_new_width();
28723 }
28724 inline ::google::protobuf::int32 V0LayerParameter::new_width() const {
28725   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.new_width)
28726   return new_width_;
28727 }
28728 inline void V0LayerParameter::set_new_width(::google::protobuf::int32 value) {
28729   set_has_new_width();
28730   new_width_ = value;
28731   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.new_width)
28732 }
28733
28734 // optional bool shuffle_images = 64 [default = false];
28735 inline bool V0LayerParameter::has_shuffle_images() const {
28736   return (_has_bits_[1] & 0x00000008u) != 0;
28737 }
28738 inline void V0LayerParameter::set_has_shuffle_images() {
28739   _has_bits_[1] |= 0x00000008u;
28740 }
28741 inline void V0LayerParameter::clear_has_shuffle_images() {
28742   _has_bits_[1] &= ~0x00000008u;
28743 }
28744 inline void V0LayerParameter::clear_shuffle_images() {
28745   shuffle_images_ = false;
28746   clear_has_shuffle_images();
28747 }
28748 inline bool V0LayerParameter::shuffle_images() const {
28749   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.shuffle_images)
28750   return shuffle_images_;
28751 }
28752 inline void V0LayerParameter::set_shuffle_images(bool value) {
28753   set_has_shuffle_images();
28754   shuffle_images_ = value;
28755   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.shuffle_images)
28756 }
28757
28758 // optional uint32 concat_dim = 65 [default = 1];
28759 inline bool V0LayerParameter::has_concat_dim() const {
28760   return (_has_bits_[1] & 0x00000010u) != 0;
28761 }
28762 inline void V0LayerParameter::set_has_concat_dim() {
28763   _has_bits_[1] |= 0x00000010u;
28764 }
28765 inline void V0LayerParameter::clear_has_concat_dim() {
28766   _has_bits_[1] &= ~0x00000010u;
28767 }
28768 inline void V0LayerParameter::clear_concat_dim() {
28769   concat_dim_ = 1u;
28770   clear_has_concat_dim();
28771 }
28772 inline ::google::protobuf::uint32 V0LayerParameter::concat_dim() const {
28773   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.concat_dim)
28774   return concat_dim_;
28775 }
28776 inline void V0LayerParameter::set_concat_dim(::google::protobuf::uint32 value) {
28777   set_has_concat_dim();
28778   concat_dim_ = value;
28779   // @@protoc_insertion_point(field_set:opencv_caffe.V0LayerParameter.concat_dim)
28780 }
28781
28782 // optional .opencv_caffe.HDF5OutputParameter hdf5_output_param = 1001;
28783 inline bool V0LayerParameter::has_hdf5_output_param() const {
28784   return (_has_bits_[1] & 0x00000020u) != 0;
28785 }
28786 inline void V0LayerParameter::set_has_hdf5_output_param() {
28787   _has_bits_[1] |= 0x00000020u;
28788 }
28789 inline void V0LayerParameter::clear_has_hdf5_output_param() {
28790   _has_bits_[1] &= ~0x00000020u;
28791 }
28792 inline void V0LayerParameter::clear_hdf5_output_param() {
28793   if (hdf5_output_param_ != NULL) hdf5_output_param_->::opencv_caffe::HDF5OutputParameter::Clear();
28794   clear_has_hdf5_output_param();
28795 }
28796 inline const ::opencv_caffe::HDF5OutputParameter& V0LayerParameter::hdf5_output_param() const {
28797   // @@protoc_insertion_point(field_get:opencv_caffe.V0LayerParameter.hdf5_output_param)
28798   return hdf5_output_param_ != NULL ? *hdf5_output_param_
28799                          : *::opencv_caffe::HDF5OutputParameter::internal_default_instance();
28800 }
28801 inline ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::mutable_hdf5_output_param() {
28802   set_has_hdf5_output_param();
28803   if (hdf5_output_param_ == NULL) {
28804     hdf5_output_param_ = new ::opencv_caffe::HDF5OutputParameter;
28805   }
28806   // @@protoc_insertion_point(field_mutable:opencv_caffe.V0LayerParameter.hdf5_output_param)
28807   return hdf5_output_param_;
28808 }
28809 inline ::opencv_caffe::HDF5OutputParameter* V0LayerParameter::release_hdf5_output_param() {
28810   // @@protoc_insertion_point(field_release:opencv_caffe.V0LayerParameter.hdf5_output_param)
28811   clear_has_hdf5_output_param();
28812   ::opencv_caffe::HDF5OutputParameter* temp = hdf5_output_param_;
28813   hdf5_output_param_ = NULL;
28814   return temp;
28815 }
28816 inline void V0LayerParameter::set_allocated_hdf5_output_param(::opencv_caffe::HDF5OutputParameter* hdf5_output_param) {
28817   delete hdf5_output_param_;
28818   hdf5_output_param_ = hdf5_output_param;
28819   if (hdf5_output_param) {
28820     set_has_hdf5_output_param();
28821   } else {
28822     clear_has_hdf5_output_param();
28823   }
28824   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.V0LayerParameter.hdf5_output_param)
28825 }
28826
28827 inline const V0LayerParameter* V0LayerParameter::internal_default_instance() {
28828   return &V0LayerParameter_default_instance_.get();
28829 }
28830 // -------------------------------------------------------------------
28831
28832 // PReLUParameter
28833
28834 // optional .opencv_caffe.FillerParameter filler = 1;
28835 inline bool PReLUParameter::has_filler() const {
28836   return (_has_bits_[0] & 0x00000001u) != 0;
28837 }
28838 inline void PReLUParameter::set_has_filler() {
28839   _has_bits_[0] |= 0x00000001u;
28840 }
28841 inline void PReLUParameter::clear_has_filler() {
28842   _has_bits_[0] &= ~0x00000001u;
28843 }
28844 inline void PReLUParameter::clear_filler() {
28845   if (filler_ != NULL) filler_->::opencv_caffe::FillerParameter::Clear();
28846   clear_has_filler();
28847 }
28848 inline const ::opencv_caffe::FillerParameter& PReLUParameter::filler() const {
28849   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.filler)
28850   return filler_ != NULL ? *filler_
28851                          : *::opencv_caffe::FillerParameter::internal_default_instance();
28852 }
28853 inline ::opencv_caffe::FillerParameter* PReLUParameter::mutable_filler() {
28854   set_has_filler();
28855   if (filler_ == NULL) {
28856     filler_ = new ::opencv_caffe::FillerParameter;
28857   }
28858   // @@protoc_insertion_point(field_mutable:opencv_caffe.PReLUParameter.filler)
28859   return filler_;
28860 }
28861 inline ::opencv_caffe::FillerParameter* PReLUParameter::release_filler() {
28862   // @@protoc_insertion_point(field_release:opencv_caffe.PReLUParameter.filler)
28863   clear_has_filler();
28864   ::opencv_caffe::FillerParameter* temp = filler_;
28865   filler_ = NULL;
28866   return temp;
28867 }
28868 inline void PReLUParameter::set_allocated_filler(::opencv_caffe::FillerParameter* filler) {
28869   delete filler_;
28870   filler_ = filler;
28871   if (filler) {
28872     set_has_filler();
28873   } else {
28874     clear_has_filler();
28875   }
28876   // @@protoc_insertion_point(field_set_allocated:opencv_caffe.PReLUParameter.filler)
28877 }
28878
28879 // optional bool channel_shared = 2 [default = false];
28880 inline bool PReLUParameter::has_channel_shared() const {
28881   return (_has_bits_[0] & 0x00000002u) != 0;
28882 }
28883 inline void PReLUParameter::set_has_channel_shared() {
28884   _has_bits_[0] |= 0x00000002u;
28885 }
28886 inline void PReLUParameter::clear_has_channel_shared() {
28887   _has_bits_[0] &= ~0x00000002u;
28888 }
28889 inline void PReLUParameter::clear_channel_shared() {
28890   channel_shared_ = false;
28891   clear_has_channel_shared();
28892 }
28893 inline bool PReLUParameter::channel_shared() const {
28894   // @@protoc_insertion_point(field_get:opencv_caffe.PReLUParameter.channel_shared)
28895   return channel_shared_;
28896 }
28897 inline void PReLUParameter::set_channel_shared(bool value) {
28898   set_has_channel_shared();
28899   channel_shared_ = value;
28900   // @@protoc_insertion_point(field_set:opencv_caffe.PReLUParameter.channel_shared)
28901 }
28902
28903 inline const PReLUParameter* PReLUParameter::internal_default_instance() {
28904   return &PReLUParameter_default_instance_.get();
28905 }
28906 // -------------------------------------------------------------------
28907
28908 // NormalizedBBox
28909
28910 // optional float xmin = 1;
28911 inline bool NormalizedBBox::has_xmin() const {
28912   return (_has_bits_[0] & 0x00000001u) != 0;
28913 }
28914 inline void NormalizedBBox::set_has_xmin() {
28915   _has_bits_[0] |= 0x00000001u;
28916 }
28917 inline void NormalizedBBox::clear_has_xmin() {
28918   _has_bits_[0] &= ~0x00000001u;
28919 }
28920 inline void NormalizedBBox::clear_xmin() {
28921   xmin_ = 0;
28922   clear_has_xmin();
28923 }
28924 inline float NormalizedBBox::xmin() const {
28925   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmin)
28926   return xmin_;
28927 }
28928 inline void NormalizedBBox::set_xmin(float value) {
28929   set_has_xmin();
28930   xmin_ = value;
28931   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmin)
28932 }
28933
28934 // optional float ymin = 2;
28935 inline bool NormalizedBBox::has_ymin() const {
28936   return (_has_bits_[0] & 0x00000002u) != 0;
28937 }
28938 inline void NormalizedBBox::set_has_ymin() {
28939   _has_bits_[0] |= 0x00000002u;
28940 }
28941 inline void NormalizedBBox::clear_has_ymin() {
28942   _has_bits_[0] &= ~0x00000002u;
28943 }
28944 inline void NormalizedBBox::clear_ymin() {
28945   ymin_ = 0;
28946   clear_has_ymin();
28947 }
28948 inline float NormalizedBBox::ymin() const {
28949   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymin)
28950   return ymin_;
28951 }
28952 inline void NormalizedBBox::set_ymin(float value) {
28953   set_has_ymin();
28954   ymin_ = value;
28955   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymin)
28956 }
28957
28958 // optional float xmax = 3;
28959 inline bool NormalizedBBox::has_xmax() const {
28960   return (_has_bits_[0] & 0x00000004u) != 0;
28961 }
28962 inline void NormalizedBBox::set_has_xmax() {
28963   _has_bits_[0] |= 0x00000004u;
28964 }
28965 inline void NormalizedBBox::clear_has_xmax() {
28966   _has_bits_[0] &= ~0x00000004u;
28967 }
28968 inline void NormalizedBBox::clear_xmax() {
28969   xmax_ = 0;
28970   clear_has_xmax();
28971 }
28972 inline float NormalizedBBox::xmax() const {
28973   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.xmax)
28974   return xmax_;
28975 }
28976 inline void NormalizedBBox::set_xmax(float value) {
28977   set_has_xmax();
28978   xmax_ = value;
28979   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.xmax)
28980 }
28981
28982 // optional float ymax = 4;
28983 inline bool NormalizedBBox::has_ymax() const {
28984   return (_has_bits_[0] & 0x00000008u) != 0;
28985 }
28986 inline void NormalizedBBox::set_has_ymax() {
28987   _has_bits_[0] |= 0x00000008u;
28988 }
28989 inline void NormalizedBBox::clear_has_ymax() {
28990   _has_bits_[0] &= ~0x00000008u;
28991 }
28992 inline void NormalizedBBox::clear_ymax() {
28993   ymax_ = 0;
28994   clear_has_ymax();
28995 }
28996 inline float NormalizedBBox::ymax() const {
28997   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.ymax)
28998   return ymax_;
28999 }
29000 inline void NormalizedBBox::set_ymax(float value) {
29001   set_has_ymax();
29002   ymax_ = value;
29003   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.ymax)
29004 }
29005
29006 // optional int32 label = 5;
29007 inline bool NormalizedBBox::has_label() const {
29008   return (_has_bits_[0] & 0x00000010u) != 0;
29009 }
29010 inline void NormalizedBBox::set_has_label() {
29011   _has_bits_[0] |= 0x00000010u;
29012 }
29013 inline void NormalizedBBox::clear_has_label() {
29014   _has_bits_[0] &= ~0x00000010u;
29015 }
29016 inline void NormalizedBBox::clear_label() {
29017   label_ = 0;
29018   clear_has_label();
29019 }
29020 inline ::google::protobuf::int32 NormalizedBBox::label() const {
29021   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.label)
29022   return label_;
29023 }
29024 inline void NormalizedBBox::set_label(::google::protobuf::int32 value) {
29025   set_has_label();
29026   label_ = value;
29027   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.label)
29028 }
29029
29030 // optional bool difficult = 6;
29031 inline bool NormalizedBBox::has_difficult() const {
29032   return (_has_bits_[0] & 0x00000020u) != 0;
29033 }
29034 inline void NormalizedBBox::set_has_difficult() {
29035   _has_bits_[0] |= 0x00000020u;
29036 }
29037 inline void NormalizedBBox::clear_has_difficult() {
29038   _has_bits_[0] &= ~0x00000020u;
29039 }
29040 inline void NormalizedBBox::clear_difficult() {
29041   difficult_ = false;
29042   clear_has_difficult();
29043 }
29044 inline bool NormalizedBBox::difficult() const {
29045   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.difficult)
29046   return difficult_;
29047 }
29048 inline void NormalizedBBox::set_difficult(bool value) {
29049   set_has_difficult();
29050   difficult_ = value;
29051   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.difficult)
29052 }
29053
29054 // optional float score = 7;
29055 inline bool NormalizedBBox::has_score() const {
29056   return (_has_bits_[0] & 0x00000040u) != 0;
29057 }
29058 inline void NormalizedBBox::set_has_score() {
29059   _has_bits_[0] |= 0x00000040u;
29060 }
29061 inline void NormalizedBBox::clear_has_score() {
29062   _has_bits_[0] &= ~0x00000040u;
29063 }
29064 inline void NormalizedBBox::clear_score() {
29065   score_ = 0;
29066   clear_has_score();
29067 }
29068 inline float NormalizedBBox::score() const {
29069   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.score)
29070   return score_;
29071 }
29072 inline void NormalizedBBox::set_score(float value) {
29073   set_has_score();
29074   score_ = value;
29075   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.score)
29076 }
29077
29078 // optional float size = 8;
29079 inline bool NormalizedBBox::has_size() const {
29080   return (_has_bits_[0] & 0x00000080u) != 0;
29081 }
29082 inline void NormalizedBBox::set_has_size() {
29083   _has_bits_[0] |= 0x00000080u;
29084 }
29085 inline void NormalizedBBox::clear_has_size() {
29086   _has_bits_[0] &= ~0x00000080u;
29087 }
29088 inline void NormalizedBBox::clear_size() {
29089   size_ = 0;
29090   clear_has_size();
29091 }
29092 inline float NormalizedBBox::size() const {
29093   // @@protoc_insertion_point(field_get:opencv_caffe.NormalizedBBox.size)
29094   return size_;
29095 }
29096 inline void NormalizedBBox::set_size(float value) {
29097   set_has_size();
29098   size_ = value;
29099   // @@protoc_insertion_point(field_set:opencv_caffe.NormalizedBBox.size)
29100 }
29101
29102 inline const NormalizedBBox* NormalizedBBox::internal_default_instance() {
29103   return &NormalizedBBox_default_instance_.get();
29104 }
29105 // -------------------------------------------------------------------
29106
29107 // ROIPoolingParameter
29108
29109 // optional uint32 pooled_h = 1 [default = 0];
29110 inline bool ROIPoolingParameter::has_pooled_h() const {
29111   return (_has_bits_[0] & 0x00000001u) != 0;
29112 }
29113 inline void ROIPoolingParameter::set_has_pooled_h() {
29114   _has_bits_[0] |= 0x00000001u;
29115 }
29116 inline void ROIPoolingParameter::clear_has_pooled_h() {
29117   _has_bits_[0] &= ~0x00000001u;
29118 }
29119 inline void ROIPoolingParameter::clear_pooled_h() {
29120   pooled_h_ = 0u;
29121   clear_has_pooled_h();
29122 }
29123 inline ::google::protobuf::uint32 ROIPoolingParameter::pooled_h() const {
29124   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_h)
29125   return pooled_h_;
29126 }
29127 inline void ROIPoolingParameter::set_pooled_h(::google::protobuf::uint32 value) {
29128   set_has_pooled_h();
29129   pooled_h_ = value;
29130   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_h)
29131 }
29132
29133 // optional uint32 pooled_w = 2 [default = 0];
29134 inline bool ROIPoolingParameter::has_pooled_w() const {
29135   return (_has_bits_[0] & 0x00000002u) != 0;
29136 }
29137 inline void ROIPoolingParameter::set_has_pooled_w() {
29138   _has_bits_[0] |= 0x00000002u;
29139 }
29140 inline void ROIPoolingParameter::clear_has_pooled_w() {
29141   _has_bits_[0] &= ~0x00000002u;
29142 }
29143 inline void ROIPoolingParameter::clear_pooled_w() {
29144   pooled_w_ = 0u;
29145   clear_has_pooled_w();
29146 }
29147 inline ::google::protobuf::uint32 ROIPoolingParameter::pooled_w() const {
29148   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.pooled_w)
29149   return pooled_w_;
29150 }
29151 inline void ROIPoolingParameter::set_pooled_w(::google::protobuf::uint32 value) {
29152   set_has_pooled_w();
29153   pooled_w_ = value;
29154   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.pooled_w)
29155 }
29156
29157 // optional float spatial_scale = 3 [default = 1];
29158 inline bool ROIPoolingParameter::has_spatial_scale() const {
29159   return (_has_bits_[0] & 0x00000004u) != 0;
29160 }
29161 inline void ROIPoolingParameter::set_has_spatial_scale() {
29162   _has_bits_[0] |= 0x00000004u;
29163 }
29164 inline void ROIPoolingParameter::clear_has_spatial_scale() {
29165   _has_bits_[0] &= ~0x00000004u;
29166 }
29167 inline void ROIPoolingParameter::clear_spatial_scale() {
29168   spatial_scale_ = 1;
29169   clear_has_spatial_scale();
29170 }
29171 inline float ROIPoolingParameter::spatial_scale() const {
29172   // @@protoc_insertion_point(field_get:opencv_caffe.ROIPoolingParameter.spatial_scale)
29173   return spatial_scale_;
29174 }
29175 inline void ROIPoolingParameter::set_spatial_scale(float value) {
29176   set_has_spatial_scale();
29177   spatial_scale_ = value;
29178   // @@protoc_insertion_point(field_set:opencv_caffe.ROIPoolingParameter.spatial_scale)
29179 }
29180
29181 inline const ROIPoolingParameter* ROIPoolingParameter::internal_default_instance() {
29182   return &ROIPoolingParameter_default_instance_.get();
29183 }
29184 // -------------------------------------------------------------------
29185
29186 // ProposalParameter
29187
29188 // optional uint32 feat_stride = 1 [default = 16];
29189 inline bool ProposalParameter::has_feat_stride() const {
29190   return (_has_bits_[0] & 0x00000001u) != 0;
29191 }
29192 inline void ProposalParameter::set_has_feat_stride() {
29193   _has_bits_[0] |= 0x00000001u;
29194 }
29195 inline void ProposalParameter::clear_has_feat_stride() {
29196   _has_bits_[0] &= ~0x00000001u;
29197 }
29198 inline void ProposalParameter::clear_feat_stride() {
29199   feat_stride_ = 16u;
29200   clear_has_feat_stride();
29201 }
29202 inline ::google::protobuf::uint32 ProposalParameter::feat_stride() const {
29203   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.feat_stride)
29204   return feat_stride_;
29205 }
29206 inline void ProposalParameter::set_feat_stride(::google::protobuf::uint32 value) {
29207   set_has_feat_stride();
29208   feat_stride_ = value;
29209   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.feat_stride)
29210 }
29211
29212 // optional uint32 base_size = 2 [default = 16];
29213 inline bool ProposalParameter::has_base_size() const {
29214   return (_has_bits_[0] & 0x00000002u) != 0;
29215 }
29216 inline void ProposalParameter::set_has_base_size() {
29217   _has_bits_[0] |= 0x00000002u;
29218 }
29219 inline void ProposalParameter::clear_has_base_size() {
29220   _has_bits_[0] &= ~0x00000002u;
29221 }
29222 inline void ProposalParameter::clear_base_size() {
29223   base_size_ = 16u;
29224   clear_has_base_size();
29225 }
29226 inline ::google::protobuf::uint32 ProposalParameter::base_size() const {
29227   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.base_size)
29228   return base_size_;
29229 }
29230 inline void ProposalParameter::set_base_size(::google::protobuf::uint32 value) {
29231   set_has_base_size();
29232   base_size_ = value;
29233   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.base_size)
29234 }
29235
29236 // optional uint32 min_size = 3 [default = 16];
29237 inline bool ProposalParameter::has_min_size() const {
29238   return (_has_bits_[0] & 0x00000004u) != 0;
29239 }
29240 inline void ProposalParameter::set_has_min_size() {
29241   _has_bits_[0] |= 0x00000004u;
29242 }
29243 inline void ProposalParameter::clear_has_min_size() {
29244   _has_bits_[0] &= ~0x00000004u;
29245 }
29246 inline void ProposalParameter::clear_min_size() {
29247   min_size_ = 16u;
29248   clear_has_min_size();
29249 }
29250 inline ::google::protobuf::uint32 ProposalParameter::min_size() const {
29251   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.min_size)
29252   return min_size_;
29253 }
29254 inline void ProposalParameter::set_min_size(::google::protobuf::uint32 value) {
29255   set_has_min_size();
29256   min_size_ = value;
29257   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.min_size)
29258 }
29259
29260 // repeated float ratio = 4;
29261 inline int ProposalParameter::ratio_size() const {
29262   return ratio_.size();
29263 }
29264 inline void ProposalParameter::clear_ratio() {
29265   ratio_.Clear();
29266 }
29267 inline float ProposalParameter::ratio(int index) const {
29268   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.ratio)
29269   return ratio_.Get(index);
29270 }
29271 inline void ProposalParameter::set_ratio(int index, float value) {
29272   ratio_.Set(index, value);
29273   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.ratio)
29274 }
29275 inline void ProposalParameter::add_ratio(float value) {
29276   ratio_.Add(value);
29277   // @@protoc_insertion_point(field_add:opencv_caffe.ProposalParameter.ratio)
29278 }
29279 inline const ::google::protobuf::RepeatedField< float >&
29280 ProposalParameter::ratio() const {
29281   // @@protoc_insertion_point(field_list:opencv_caffe.ProposalParameter.ratio)
29282   return ratio_;
29283 }
29284 inline ::google::protobuf::RepeatedField< float >*
29285 ProposalParameter::mutable_ratio() {
29286   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ProposalParameter.ratio)
29287   return &ratio_;
29288 }
29289
29290 // repeated float scale = 5;
29291 inline int ProposalParameter::scale_size() const {
29292   return scale_.size();
29293 }
29294 inline void ProposalParameter::clear_scale() {
29295   scale_.Clear();
29296 }
29297 inline float ProposalParameter::scale(int index) const {
29298   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.scale)
29299   return scale_.Get(index);
29300 }
29301 inline void ProposalParameter::set_scale(int index, float value) {
29302   scale_.Set(index, value);
29303   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.scale)
29304 }
29305 inline void ProposalParameter::add_scale(float value) {
29306   scale_.Add(value);
29307   // @@protoc_insertion_point(field_add:opencv_caffe.ProposalParameter.scale)
29308 }
29309 inline const ::google::protobuf::RepeatedField< float >&
29310 ProposalParameter::scale() const {
29311   // @@protoc_insertion_point(field_list:opencv_caffe.ProposalParameter.scale)
29312   return scale_;
29313 }
29314 inline ::google::protobuf::RepeatedField< float >*
29315 ProposalParameter::mutable_scale() {
29316   // @@protoc_insertion_point(field_mutable_list:opencv_caffe.ProposalParameter.scale)
29317   return &scale_;
29318 }
29319
29320 // optional uint32 pre_nms_topn = 6 [default = 6000];
29321 inline bool ProposalParameter::has_pre_nms_topn() const {
29322   return (_has_bits_[0] & 0x00000020u) != 0;
29323 }
29324 inline void ProposalParameter::set_has_pre_nms_topn() {
29325   _has_bits_[0] |= 0x00000020u;
29326 }
29327 inline void ProposalParameter::clear_has_pre_nms_topn() {
29328   _has_bits_[0] &= ~0x00000020u;
29329 }
29330 inline void ProposalParameter::clear_pre_nms_topn() {
29331   pre_nms_topn_ = 6000u;
29332   clear_has_pre_nms_topn();
29333 }
29334 inline ::google::protobuf::uint32 ProposalParameter::pre_nms_topn() const {
29335   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.pre_nms_topn)
29336   return pre_nms_topn_;
29337 }
29338 inline void ProposalParameter::set_pre_nms_topn(::google::protobuf::uint32 value) {
29339   set_has_pre_nms_topn();
29340   pre_nms_topn_ = value;
29341   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.pre_nms_topn)
29342 }
29343
29344 // optional uint32 post_nms_topn = 7 [default = 300];
29345 inline bool ProposalParameter::has_post_nms_topn() const {
29346   return (_has_bits_[0] & 0x00000040u) != 0;
29347 }
29348 inline void ProposalParameter::set_has_post_nms_topn() {
29349   _has_bits_[0] |= 0x00000040u;
29350 }
29351 inline void ProposalParameter::clear_has_post_nms_topn() {
29352   _has_bits_[0] &= ~0x00000040u;
29353 }
29354 inline void ProposalParameter::clear_post_nms_topn() {
29355   post_nms_topn_ = 300u;
29356   clear_has_post_nms_topn();
29357 }
29358 inline ::google::protobuf::uint32 ProposalParameter::post_nms_topn() const {
29359   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.post_nms_topn)
29360   return post_nms_topn_;
29361 }
29362 inline void ProposalParameter::set_post_nms_topn(::google::protobuf::uint32 value) {
29363   set_has_post_nms_topn();
29364   post_nms_topn_ = value;
29365   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.post_nms_topn)
29366 }
29367
29368 // optional float nms_thresh = 8 [default = 0.7];
29369 inline bool ProposalParameter::has_nms_thresh() const {
29370   return (_has_bits_[0] & 0x00000080u) != 0;
29371 }
29372 inline void ProposalParameter::set_has_nms_thresh() {
29373   _has_bits_[0] |= 0x00000080u;
29374 }
29375 inline void ProposalParameter::clear_has_nms_thresh() {
29376   _has_bits_[0] &= ~0x00000080u;
29377 }
29378 inline void ProposalParameter::clear_nms_thresh() {
29379   nms_thresh_ = 0.7f;
29380   clear_has_nms_thresh();
29381 }
29382 inline float ProposalParameter::nms_thresh() const {
29383   // @@protoc_insertion_point(field_get:opencv_caffe.ProposalParameter.nms_thresh)
29384   return nms_thresh_;
29385 }
29386 inline void ProposalParameter::set_nms_thresh(float value) {
29387   set_has_nms_thresh();
29388   nms_thresh_ = value;
29389   // @@protoc_insertion_point(field_set:opencv_caffe.ProposalParameter.nms_thresh)
29390 }
29391
29392 inline const ProposalParameter* ProposalParameter::internal_default_instance() {
29393   return &ProposalParameter_default_instance_.get();
29394 }
29395 #endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS
29396 // -------------------------------------------------------------------
29397
29398 // -------------------------------------------------------------------
29399
29400 // -------------------------------------------------------------------
29401
29402 // -------------------------------------------------------------------
29403
29404 // -------------------------------------------------------------------
29405
29406 // -------------------------------------------------------------------
29407
29408 // -------------------------------------------------------------------
29409
29410 // -------------------------------------------------------------------
29411
29412 // -------------------------------------------------------------------
29413
29414 // -------------------------------------------------------------------
29415
29416 // -------------------------------------------------------------------
29417
29418 // -------------------------------------------------------------------
29419
29420 // -------------------------------------------------------------------
29421
29422 // -------------------------------------------------------------------
29423
29424 // -------------------------------------------------------------------
29425
29426 // -------------------------------------------------------------------
29427
29428 // -------------------------------------------------------------------
29429
29430 // -------------------------------------------------------------------
29431
29432 // -------------------------------------------------------------------
29433
29434 // -------------------------------------------------------------------
29435
29436 // -------------------------------------------------------------------
29437
29438 // -------------------------------------------------------------------
29439
29440 // -------------------------------------------------------------------
29441
29442 // -------------------------------------------------------------------
29443
29444 // -------------------------------------------------------------------
29445
29446 // -------------------------------------------------------------------
29447
29448 // -------------------------------------------------------------------
29449
29450 // -------------------------------------------------------------------
29451
29452 // -------------------------------------------------------------------
29453
29454 // -------------------------------------------------------------------
29455
29456 // -------------------------------------------------------------------
29457
29458 // -------------------------------------------------------------------
29459
29460 // -------------------------------------------------------------------
29461
29462 // -------------------------------------------------------------------
29463
29464 // -------------------------------------------------------------------
29465
29466 // -------------------------------------------------------------------
29467
29468 // -------------------------------------------------------------------
29469
29470 // -------------------------------------------------------------------
29471
29472 // -------------------------------------------------------------------
29473
29474 // -------------------------------------------------------------------
29475
29476 // -------------------------------------------------------------------
29477
29478 // -------------------------------------------------------------------
29479
29480 // -------------------------------------------------------------------
29481
29482 // -------------------------------------------------------------------
29483
29484 // -------------------------------------------------------------------
29485
29486 // -------------------------------------------------------------------
29487
29488 // -------------------------------------------------------------------
29489
29490 // -------------------------------------------------------------------
29491
29492 // -------------------------------------------------------------------
29493
29494 // -------------------------------------------------------------------
29495
29496 // -------------------------------------------------------------------
29497
29498 // -------------------------------------------------------------------
29499
29500 // -------------------------------------------------------------------
29501
29502 // -------------------------------------------------------------------
29503
29504 // -------------------------------------------------------------------
29505
29506 // -------------------------------------------------------------------
29507
29508 // -------------------------------------------------------------------
29509
29510 // -------------------------------------------------------------------
29511
29512 // -------------------------------------------------------------------
29513
29514 // -------------------------------------------------------------------
29515
29516 // -------------------------------------------------------------------
29517
29518 // -------------------------------------------------------------------
29519
29520 // -------------------------------------------------------------------
29521
29522 // -------------------------------------------------------------------
29523
29524 // -------------------------------------------------------------------
29525
29526 // -------------------------------------------------------------------
29527
29528 // -------------------------------------------------------------------
29529
29530 // -------------------------------------------------------------------
29531
29532 // -------------------------------------------------------------------
29533
29534
29535 // @@protoc_insertion_point(namespace_scope)
29536
29537 }  // namespace opencv_caffe
29538
29539 #ifndef SWIG
29540 namespace google {
29541 namespace protobuf {
29542
29543 template <> struct is_proto_enum< ::opencv_caffe::PriorBoxParameter_CodeType> : ::google::protobuf::internal::true_type {};
29544 template <>
29545 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::PriorBoxParameter_CodeType>() {
29546   return ::opencv_caffe::PriorBoxParameter_CodeType_descriptor();
29547 }
29548 template <> struct is_proto_enum< ::opencv_caffe::FillerParameter_VarianceNorm> : ::google::protobuf::internal::true_type {};
29549 template <>
29550 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::FillerParameter_VarianceNorm>() {
29551   return ::opencv_caffe::FillerParameter_VarianceNorm_descriptor();
29552 }
29553 template <> struct is_proto_enum< ::opencv_caffe::SolverParameter_SnapshotFormat> : ::google::protobuf::internal::true_type {};
29554 template <>
29555 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SolverParameter_SnapshotFormat>() {
29556   return ::opencv_caffe::SolverParameter_SnapshotFormat_descriptor();
29557 }
29558 template <> struct is_proto_enum< ::opencv_caffe::SolverParameter_SolverMode> : ::google::protobuf::internal::true_type {};
29559 template <>
29560 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SolverParameter_SolverMode>() {
29561   return ::opencv_caffe::SolverParameter_SolverMode_descriptor();
29562 }
29563 template <> struct is_proto_enum< ::opencv_caffe::SolverParameter_SolverType> : ::google::protobuf::internal::true_type {};
29564 template <>
29565 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SolverParameter_SolverType>() {
29566   return ::opencv_caffe::SolverParameter_SolverType_descriptor();
29567 }
29568 template <> struct is_proto_enum< ::opencv_caffe::ParamSpec_DimCheckMode> : ::google::protobuf::internal::true_type {};
29569 template <>
29570 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ParamSpec_DimCheckMode>() {
29571   return ::opencv_caffe::ParamSpec_DimCheckMode_descriptor();
29572 }
29573 template <> struct is_proto_enum< ::opencv_caffe::LossParameter_NormalizationMode> : ::google::protobuf::internal::true_type {};
29574 template <>
29575 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::LossParameter_NormalizationMode>() {
29576   return ::opencv_caffe::LossParameter_NormalizationMode_descriptor();
29577 }
29578 template <> struct is_proto_enum< ::opencv_caffe::ConvolutionParameter_Engine> : ::google::protobuf::internal::true_type {};
29579 template <>
29580 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ConvolutionParameter_Engine>() {
29581   return ::opencv_caffe::ConvolutionParameter_Engine_descriptor();
29582 }
29583 template <> struct is_proto_enum< ::opencv_caffe::DataParameter_DB> : ::google::protobuf::internal::true_type {};
29584 template <>
29585 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::DataParameter_DB>() {
29586   return ::opencv_caffe::DataParameter_DB_descriptor();
29587 }
29588 template <> struct is_proto_enum< ::opencv_caffe::EltwiseParameter_EltwiseOp> : ::google::protobuf::internal::true_type {};
29589 template <>
29590 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::EltwiseParameter_EltwiseOp>() {
29591   return ::opencv_caffe::EltwiseParameter_EltwiseOp_descriptor();
29592 }
29593 template <> struct is_proto_enum< ::opencv_caffe::HingeLossParameter_Norm> : ::google::protobuf::internal::true_type {};
29594 template <>
29595 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::HingeLossParameter_Norm>() {
29596   return ::opencv_caffe::HingeLossParameter_Norm_descriptor();
29597 }
29598 template <> struct is_proto_enum< ::opencv_caffe::LRNParameter_NormRegion> : ::google::protobuf::internal::true_type {};
29599 template <>
29600 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::LRNParameter_NormRegion>() {
29601   return ::opencv_caffe::LRNParameter_NormRegion_descriptor();
29602 }
29603 template <> struct is_proto_enum< ::opencv_caffe::LRNParameter_Engine> : ::google::protobuf::internal::true_type {};
29604 template <>
29605 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::LRNParameter_Engine>() {
29606   return ::opencv_caffe::LRNParameter_Engine_descriptor();
29607 }
29608 template <> struct is_proto_enum< ::opencv_caffe::PoolingParameter_PoolMethod> : ::google::protobuf::internal::true_type {};
29609 template <>
29610 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::PoolingParameter_PoolMethod>() {
29611   return ::opencv_caffe::PoolingParameter_PoolMethod_descriptor();
29612 }
29613 template <> struct is_proto_enum< ::opencv_caffe::PoolingParameter_Engine> : ::google::protobuf::internal::true_type {};
29614 template <>
29615 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::PoolingParameter_Engine>() {
29616   return ::opencv_caffe::PoolingParameter_Engine_descriptor();
29617 }
29618 template <> struct is_proto_enum< ::opencv_caffe::ReductionParameter_ReductionOp> : ::google::protobuf::internal::true_type {};
29619 template <>
29620 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ReductionParameter_ReductionOp>() {
29621   return ::opencv_caffe::ReductionParameter_ReductionOp_descriptor();
29622 }
29623 template <> struct is_proto_enum< ::opencv_caffe::ReLUParameter_Engine> : ::google::protobuf::internal::true_type {};
29624 template <>
29625 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::ReLUParameter_Engine>() {
29626   return ::opencv_caffe::ReLUParameter_Engine_descriptor();
29627 }
29628 template <> struct is_proto_enum< ::opencv_caffe::SigmoidParameter_Engine> : ::google::protobuf::internal::true_type {};
29629 template <>
29630 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SigmoidParameter_Engine>() {
29631   return ::opencv_caffe::SigmoidParameter_Engine_descriptor();
29632 }
29633 template <> struct is_proto_enum< ::opencv_caffe::SoftmaxParameter_Engine> : ::google::protobuf::internal::true_type {};
29634 template <>
29635 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SoftmaxParameter_Engine>() {
29636   return ::opencv_caffe::SoftmaxParameter_Engine_descriptor();
29637 }
29638 template <> struct is_proto_enum< ::opencv_caffe::TanHParameter_Engine> : ::google::protobuf::internal::true_type {};
29639 template <>
29640 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::TanHParameter_Engine>() {
29641   return ::opencv_caffe::TanHParameter_Engine_descriptor();
29642 }
29643 template <> struct is_proto_enum< ::opencv_caffe::SPPParameter_PoolMethod> : ::google::protobuf::internal::true_type {};
29644 template <>
29645 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SPPParameter_PoolMethod>() {
29646   return ::opencv_caffe::SPPParameter_PoolMethod_descriptor();
29647 }
29648 template <> struct is_proto_enum< ::opencv_caffe::SPPParameter_Engine> : ::google::protobuf::internal::true_type {};
29649 template <>
29650 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::SPPParameter_Engine>() {
29651   return ::opencv_caffe::SPPParameter_Engine_descriptor();
29652 }
29653 template <> struct is_proto_enum< ::opencv_caffe::V1LayerParameter_LayerType> : ::google::protobuf::internal::true_type {};
29654 template <>
29655 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::V1LayerParameter_LayerType>() {
29656   return ::opencv_caffe::V1LayerParameter_LayerType_descriptor();
29657 }
29658 template <> struct is_proto_enum< ::opencv_caffe::V1LayerParameter_DimCheckMode> : ::google::protobuf::internal::true_type {};
29659 template <>
29660 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::V1LayerParameter_DimCheckMode>() {
29661   return ::opencv_caffe::V1LayerParameter_DimCheckMode_descriptor();
29662 }
29663 template <> struct is_proto_enum< ::opencv_caffe::V0LayerParameter_PoolMethod> : ::google::protobuf::internal::true_type {};
29664 template <>
29665 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::V0LayerParameter_PoolMethod>() {
29666   return ::opencv_caffe::V0LayerParameter_PoolMethod_descriptor();
29667 }
29668 template <> struct is_proto_enum< ::opencv_caffe::Type> : ::google::protobuf::internal::true_type {};
29669 template <>
29670 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::Type>() {
29671   return ::opencv_caffe::Type_descriptor();
29672 }
29673 template <> struct is_proto_enum< ::opencv_caffe::Phase> : ::google::protobuf::internal::true_type {};
29674 template <>
29675 inline const EnumDescriptor* GetEnumDescriptor< ::opencv_caffe::Phase>() {
29676   return ::opencv_caffe::Phase_descriptor();
29677 }
29678
29679 }  // namespace protobuf
29680 }  // namespace google
29681 #endif  // SWIG
29682
29683 // @@protoc_insertion_point(global_scope)
29684
29685 #endif  // PROTOBUF_opencv_2dcaffe_2eproto__INCLUDED