text: # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: caffe.proto
  
  from google.protobuf.internal import enum_type_wrapper
  from google.protobuf import descriptor as _descriptor
  from google.protobuf import message as _message
  from google.protobuf import reflection as _reflection
  from google.protobuf import descriptor_pb2
  # @@protoc_insertion_point(imports)
  
  
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
    name='caffe.proto',
    package='caffe',
    serialized_pb='\n\x0b\x63\x61\x66\x66\x65.proto\x12\x05\x63\x61\x66\x66\x65\"\x1c\n\tBlobShape\x12\x0f\n\x03\x64im\x18\x01 \x03(\x03\x42\x02\x10\x01\"\xcc\x01\n\tBlobProto\x12\x1f\n\x05shape\x18\x07 \x01(\x0b\x32\x10.caffe.BlobShape\x12\x10\n\x04\x64\x61ta\x18\x05 \x03(\x02\x42\x02\x10\x01\x12\x10\n\x04\x64iff\x18\x06 \x03(\x02\x42\x02\x10\x01\x12\x17\n\x0b\x64ouble_data\x18\x08 \x03(\x01\x42\x02\x10\x01\x12\x17\n\x0b\x64ouble_diff\x18\t \x03(\x01\x42\x02\x10\x01\x12\x0e\n\x03num\x18\x01 \x01(\x05:\x01\x30\x12\x13\n\x08\x63hannels\x18\x02 \x01(\x05:\x01\x30\x12\x11\n\x06height\x18\x03 \x01(\x05:\x01\x30\x12\x10\n\x05width\x18\x04 \x01(\x05:\x01\x30\"2\n\x0f\x42lobProtoVector\x12\x1f\n\x05\x62lobs\x18\x01 \x03(\x0b\x32\x10.caffe.BlobProto\"\x81\x01\n\x05\x44\x61tum\x12\x10\n\x08\x63hannels\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\x12\r\n\x05width\x18\x03 \x01(\x05\x12\x0c\n\x04\x64\x61ta\x18\x04 \x01(\x0c\x12\r\n\x05label\x18\x05 \x01(\x05\x12\x12\n\nfloat_data\x18\x06 \x03(\x02\x12\x16\n\x07\x65ncoded\x18\x07 \x01(\x08:\x05\x66\x61lse\"\x8a\x02\n\x0f\x46illerParameter\x12\x16\n\x04type\x18\x01 \x01(\t:\x08\x63onstant\x12\x10\n\x05value\x18\x02 \x01(\x02:\x01\x30\x12\x0e\n\x03min\x18\x03 \x01(\x02:\x01\x30\x12\x0e\n\x03max\x18\x04 \x01(\x02:\x01\x31\x12\x0f\n\x04mean\x18\x05 \x01(\x02:\x01\x30\x12\x0e\n\x03std\x18\x06 \x01(\x02:\x01\x31\x12\x12\n\x06sparse\x18\x07 \x01(\x05:\x02-1\x12\x42\n\rvariance_norm\x18\x08 \x01(\x0e\x32#.caffe.FillerParameter.VarianceNorm:\x06\x46\x41N_IN\"4\n\x0cVarianceNorm\x12\n\n\x06\x46\x41N_IN\x10\x00\x12\x0b\n\x07\x46\x41N_OUT\x10\x01\x12\x0b\n\x07\x41VERAGE\x10\x02\"\x8e\x02\n\x0cNetParameter\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\r\n\x05input\x18\x03 \x03(\t\x12%\n\x0binput_shape\x18\x08 \x03(\x0b\x32\x10.caffe.BlobShape\x12\x11\n\tinput_dim\x18\x04 \x03(\x05\x12\x1d\n\x0e\x66orce_backward\x18\x05 \x01(\x08:\x05\x66\x61lse\x12\x1e\n\x05state\x18\x06 \x01(\x0b\x32\x0f.caffe.NetState\x12\x19\n\ndebug_info\x18\x07 \x01(\x08:\x05\x66\x61lse\x12$\n\x05layer\x18\x64 \x03(\x0b\x32\x15.caffe.LayerParameter\x12\'\n\x06layers\x18\x02 \x03(\x0b\x32\x17.caffe.V1LayerParameter\"\x9c\n\n\x0fSolverParameter\x12\x0b\n\x03net\x18\x18 \x01(\t\x12&\n\tnet_param\x18\x19 \x01(\x0b\x32\x13.caffe.NetParameter\x12\x11\n\ttrain_net\x18\x01 \x01(\t\x12\x10\n\x08test_net\x18\x02 \x03(\t\x12,\n\x0ftrain_net_param\x18\x15 \x01(\x0b\x32\x13.caffe.NetParameter\x12+\n\x0etest_net_param\x18\x16 \x03(\x0b\x32\x13.caffe.NetParameter\x12$\n\x0btrain_state\x18\x1a \x01(\x0b\x32\x0f.caffe.NetState\x12#\n\ntest_state\x18\x1b \x03(\x0b\x32\x0f.caffe.NetState\x12\x11\n\ttest_iter\x18\x03 \x03(\x05\x12\x18\n\rtest_interval\x18\x04 \x01(\x05:\x01\x30\x12 \n\x11test_compute_loss\x18\x13 \x01(\x08:\x05\x66\x61lse\x12!\n\x13test_initialization\x18  \x01(\x08:\x04true\x12\x0f\n\x07\x62\x61se_lr\x18\x05 \x01(\x02\x12\x0f\n\x07\x64isplay\x18\x06 \x01(\x05\x12\x17\n\x0c\x61verage_loss\x18! \x01(\x05:\x01\x31\x12\x10\n\x08max_iter\x18\x07 \x01(\x05\x12\x14\n\titer_size\x18$ \x01(\x05:\x01\x31\x12\x11\n\tlr_policy\x18\x08 \x01(\t\x12\r\n\x05gamma\x18\t \x01(\x02\x12\r\n\x05power\x18\n \x01(\x02\x12\x10\n\x08momentum\x18\x0b \x01(\x02\x12\x14\n\x0cweight_decay\x18\x0c \x01(\x02\x12\x1f\n\x13regularization_type\x18\x1d \x01(\t:\x02L2\x12\x10\n\x08stepsize\x18\r \x01(\x05\x12\x11\n\tstepvalue\x18\" \x03(\x05\x12\x1a\n\x0e\x63lip_gradients\x18# \x01(\x02:\x02-1\x12\x13\n\x08snapshot\x18\x0e \x01(\x05:\x01\x30\x12\x17\n\x0fsnapshot_prefix\x18\x0f \x01(\t\x12\x1c\n\rsnapshot_diff\x18\x10 \x01(\x08:\x05\x66\x61lse\x12K\n\x0fsnapshot_format\x18% \x01(\x0e\x32%.caffe.SolverParameter.SnapshotFormat:\x0b\x42INARYPROTO\x12;\n\x0bsolver_mode\x18\x11 \x01(\x0e\x32!.caffe.SolverParameter.SolverMode:\x03GPU\x12\x14\n\tdevice_id\x18\x12 \x01(\x05:\x01\x30\x12\x17\n\x0brandom_seed\x18\x14 \x01(\x03:\x02-1\x12\x11\n\x04type\x18( \x01(\t:\x03SGD\x12\x14\n\x05\x64\x65lta\x18\x1f \x01(\x02:\x05\x31\x65-08\x12\x18\n\tmomentum2\x18\' \x01(\x02:\x05\x30.999\x12\x11\n\trms_decay\x18& \x01(\x02\x12\x19\n\ndebug_info\x18\x17 \x01(\x08:\x05\x66\x61lse\x12\"\n\x14snapshot_after_train\x18\x1c \x01(\x08:\x04true\x12;\n\x0bsolver_type\x18\x1e \x01(\x0e\x32!.caffe.SolverParameter.SolverType:\x03SGD\"+\n\x0eSnapshotFormat\x12\x08\n\x04HDF5\x10\x00\x12\x0f\n\x0b\x42INARYPROTO\x10\x01\"\x1e\n\nSolverMode\x12\x07\n\x03\x43PU\x10\x00\x12\x07\n\x03GPU\x10\x01\"U\n\nSolverType\x12\x07\n\x03SGD\x10\x00\x12\x0c\n\x08NESTEROV\x10\x01\x12\x0b\n\x07\x41\x44\x41GRAD\x10\x02\x12\x0b\n\x07RMSPROP\x10\x03\x12\x0c\n\x08\x41\x44\x41\x44\x45LTA\x10\x04\x12\x08\n\x04\x41\x44\x41M\x10\x05\"l\n\x0bSolverState\x12\x0c\n\x04iter\x18\x01 \x01(\x05\x12\x13\n\x0blearned_net\x18\x02 \x01(\t\x12!\n\x07history\x18\x03 \x03(\x0b\x32\x10.caffe.BlobProto\x12\x17\n\x0c\x63urrent_step\x18\x04 \x01(\x05:\x01\x30\"N\n\x08NetState\x12!\n\x05phase\x18\x01 \x01(\x0e\x32\x0c.caffe.Phase:\x04TEST\x12\x10\n\x05level\x18\x02 \x01(\x05:\x01\x30\x12\r\n\x05stage\x18\x03 \x03(\t\"s\n\x0cNetStateRule\x12\x1b\n\x05phase\x18\x01 \x01(\x0e\x32\x0c.caffe.Phase\x12\x11\n\tmin_level\x18\x02 \x01(\x05\x12\x11\n\tmax_level\x18\x03 \x01(\x05\x12\r\n\x05stage\x18\x04 \x03(\t\x12\x11\n\tnot_stage\x18\x05 \x03(\t\"\xa3\x01\n\tParamSpec\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x31\n\nshare_mode\x18\x02 \x01(\x0e\x32\x1d.caffe.ParamSpec.DimCheckMode\x12\x12\n\x07lr_mult\x18\x03 \x01(\x02:\x01\x31\x12\x15\n\ndecay_mult\x18\x04 \x01(\x02:\x01\x31\"*\n\x0c\x44imCheckMode\x12\n\n\x06STRICT\x10\x00\x12\x0e\n\nPERMISSIVE\x10\x01\"\x98\x13\n\x0eLayerParameter\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0e\n\x06\x62ottom\x18\x03 \x03(\t\x12\x0b\n\x03top\x18\x04 \x03(\t\x12\x1b\n\x05phase\x18\n \x01(\x0e\x32\x0c.caffe.Phase\x12\x13\n\x0bloss_weight\x18\x05 \x03(\x02\x12\x1f\n\x05param\x18\x06 \x03(\x0b\x32\x10.caffe.ParamSpec\x12\x1f\n\x05\x62lobs\x18\x07 \x03(\x0b\x32\x10.caffe.BlobProto\x12\x16\n\x0epropagate_down\x18\x0b \x03(\x08\x12$\n\x07include\x18\x08 \x03(\x0b\x32\x13.caffe.NetStateRule\x12$\n\x07\x65xclude\x18\t \x03(\x0b\x32\x13.caffe.NetStateRule\x12\x37\n\x0ftransform_param\x18\x64 \x01(\x0b\x32\x1e.caffe.TransformationParameter\x12(\n\nloss_param\x18\x65 \x01(\x0b\x32\x14.caffe.LossParameter\x12\x30\n\x0e\x61\x63\x63uracy_param\x18\x66 \x01(\x0b\x32\x18.caffe.AccuracyParameter\x12,\n\x0c\x61rgmax_param\x18g \x01(\x0b\x32\x16.caffe.ArgMaxParameter\x12\x34\n\x10\x62\x61tch_norm_param\x18\x8b\x01 \x01(\x0b\x32\x19.caffe.BatchNormParameter\x12)\n\nbias_param\x18\x8d\x01 \x01(\x0b\x32\x14.caffe.BiasParameter\x12,\n\x0c\x63oncat_param\x18h \x01(\x0b\x32\x16.caffe.ConcatParameter\x12?\n\x16\x63ontrastive_loss_param\x18i \x01(\x0b\x32\x1f.caffe.ContrastiveLossParameter\x12\x36\n\x11\x63onvolution_param\x18j \x01(\x0b\x32\x1b.caffe.ConvolutionParameter\x12)\n\ncrop_param\x18\x90\x01 \x01(\x0b\x32\x14.caffe.CropParameter\x12(\n\ndata_param\x18k \x01(\x0b\x32\x14.caffe.DataParameter\x12.\n\rdropout_param\x18l \x01(\x0b\x32\x17.caffe.DropoutParameter\x12\x33\n\x10\x64ummy_data_param\x18m \x01(\x0b\x32\x19.caffe.DummyDataParameter\x12.\n\reltwise_param\x18n \x01(\x0b\x32\x17.caffe.EltwiseParameter\x12\'\n\telu_param\x18\x8c\x01 \x01(\x0b\x32\x13.caffe.ELUParameter\x12+\n\x0b\x65mbed_param\x18\x89\x01 \x01(\x0b\x32\x15.caffe.EmbedParameter\x12&\n\texp_param\x18o \x01(\x0b\x32\x13.caffe.ExpParameter\x12/\n\rflatten_param\x18\x87\x01 \x01(\x0b\x32\x17.caffe.FlattenParameter\x12\x31\n\x0fhdf5_data_param\x18p \x01(\x0b\x32\x18.caffe.HDF5DataParameter\x12\x35\n\x11hdf5_output_param\x18q \x01(\x0b\x32\x1a.caffe.HDF5OutputParameter\x12\x33\n\x10hinge_loss_param\x18r \x01(\x0b\x32\x19.caffe.HingeLossParameter\x12\x33\n\x10image_data_param\x18s \x01(\x0b\x32\x19.caffe.ImageDataParameter\x12\x39\n\x13infogain_loss_param\x18t \x01(\x0b\x32\x1c.caffe.InfogainLossParameter\x12\x39\n\x13inner_product_param\x18u \x01(\x0b\x32\x1c.caffe.InnerProductParameter\x12+\n\x0binput_param\x18\x8f\x01 \x01(\x0b\x32\x15.caffe.InputParameter\x12\'\n\tlog_param\x18\x86\x01 \x01(\x0b\x32\x13.caffe.LogParameter\x12&\n\tlrn_param\x18v \x01(\x0b\x32\x13.caffe.LRNParameter\x12\x35\n\x11memory_data_param\x18w \x01(\x0b\x32\x1a.caffe.MemoryDataParameter\x12&\n\tmvn_param\x18x \x01(\x0b\x32\x13.caffe.MVNParameter\x12.\n\rpooling_param\x18y \x01(\x0b\x32\x17.caffe.PoolingParameter\x12*\n\x0bpower_param\x18z \x01(\x0b\x32\x15.caffe.PowerParameter\x12+\n\x0bprelu_param\x18\x83\x01 \x01(\x0b\x32\x15.caffe.PReLUParameter\x12-\n\x0cpython_param\x18\x82\x01 \x01(\x0b\x32\x16.caffe.PythonParameter\x12\x33\n\x0freduction_param\x18\x88\x01 \x01(\x0b\x32\x19.caffe.ReductionParameter\x12(\n\nrelu_param\x18{ \x01(\x0b\x32\x14.caffe.ReLUParameter\x12/\n\rreshape_param\x18\x85\x01 \x01(\x0b\x32\x17.caffe.ReshapeParameter\x12+\n\x0bscale_param\x18\x8e\x01 \x01(\x0b\x32\x15.caffe.ScaleParameter\x12.\n\rsigmoid_param\x18| \x01(\x0b\x32\x17.caffe.SigmoidParameter\x12.\n\rsoftmax_param\x18} \x01(\x0b\x32\x17.caffe.SoftmaxParameter\x12\'\n\tspp_param\x18\x84\x01 \x01(\x0b\x32\x13.caffe.SPPParameter\x12*\n\x0bslice_param\x18~ \x01(\x0b\x32\x15.caffe.SliceParameter\x12(\n\ntanh_param\x18\x7f \x01(\x0b\x32\x14.caffe.TanHParameter\x12\x33\n\x0fthreshold_param\x18\x80\x01 \x01(\x0b\x32\x19.caffe.ThresholdParameter\x12)\n\ntile_param\x18\x8a\x01 \x01(\x0b\x32\x14.caffe.TileParameter\x12\x36\n\x11window_data_param\x18\x81\x01 \x01(\x0b\x32\x1a.caffe.WindowDataParameter\"\xb6\x01\n\x17TransformationParameter\x12\x10\n\x05scale\x18\x01 \x01(\x02:\x01\x31\x12\x15\n\x06mirror\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x14\n\tcrop_size\x18\x03 \x01(\r:\x01\x30\x12\x11\n\tmean_file\x18\x04 \x01(\t\x12\x12\n\nmean_value\x18\x05 \x03(\x02\x12\x1a\n\x0b\x66orce_color\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x19\n\nforce_gray\x18\x07 \x01(\x08:\x05\x66\x61lse\"\xc2\x01\n\rLossParameter\x12\x14\n\x0cignore_label\x18\x01 \x01(\x05\x12\x44\n\rnormalization\x18\x03 \x01(\x0e\x32&.caffe.LossParameter.NormalizationMode:\x05VALID\x12\x11\n\tnormalize\x18\x02 \x01(\x08\"B\n\x11NormalizationMode\x12\x08\n\x04\x46ULL\x10\x00\x12\t\n\x05VALID\x10\x01\x12\x0e\n\nBATCH_SIZE\x10\x02\x12\x08\n\x04NONE\x10\x03\"L\n\x11\x41\x63\x63uracyParameter\x12\x10\n\x05top_k\x18\x01 \x01(\r:\x01\x31\x12\x0f\n\x04\x61xis\x18\x02 \x01(\x05:\x01\x31\x12\x14\n\x0cignore_label\x18\x03 \x01(\x05\"M\n\x0f\x41rgMaxParameter\x12\x1a\n\x0bout_max_val\x18\x01 \x01(\x08:\x05\x66\x61lse\x12\x10\n\x05top_k\x18\x02 \x01(\r:\x01\x31\x12\x0c\n\x04\x61xis\x18\x03 \x01(\x05\"9\n\x0f\x43oncatParameter\x12\x0f\n\x04\x61xis\x18\x02 \x01(\x05:\x01\x31\x12\x15\n\nconcat_dim\x18\x01 \x01(\r:\x01\x31\"j\n\x12\x42\x61tchNormParameter\x12\x18\n\x10use_global_stats\x18\x01 \x01(\x08\x12&\n\x17moving_average_fraction\x18\x02 \x01(\x02:\x05\x30.999\x12\x12\n\x03\x65ps\x18\x03 \x01(\x02:\x05\x31\x65-05\"]\n\rBiasParameter\x12\x0f\n\x04\x61xis\x18\x01 \x01(\x05:\x01\x31\x12\x13\n\x08num_axes\x18\x02 \x01(\x05:\x01\x31\x12&\n\x06\x66iller\x18\x03 \x01(\x0b\x32\x16.caffe.FillerParameter\"L\n\x18\x43ontrastiveLossParameter\x12\x11\n\x06margin\x18\x01 \x01(\x02:\x01\x31\x12\x1d\n\x0elegacy_version\x18\x02 \x01(\x08:\x05\x66\x61lse\"\xfc\x03\n\x14\x43onvolutionParameter\x12\x12\n\nnum_output\x18\x01 \x01(\r\x12\x17\n\tbias_term\x18\x02 \x01(\x08:\x04true\x12\x0b\n\x03pad\x18\x03 \x03(\r\x12\x13\n\x0bkernel_size\x18\x04 \x03(\r\x12\x0e\n\x06stride\x18\x06 \x03(\r\x12\x10\n\x08\x64ilation\x18\x12 \x03(\r\x12\x10\n\x05pad_h\x18\t \x01(\r:\x01\x30\x12\x10\n\x05pad_w\x18\n \x01(\r:\x01\x30\x12\x10\n\x08kernel_h\x18\x0b \x01(\r\x12\x10\n\x08kernel_w\x18\x0c \x01(\r\x12\x10\n\x08stride_h\x18\r \x01(\r\x12\x10\n\x08stride_w\x18\x0e \x01(\r\x12\x10\n\x05group\x18\x05 \x01(\r:\x01\x31\x12-\n\rweight_filler\x18\x07 \x01(\x0b\x32\x16.caffe.FillerParameter\x12+\n\x0b\x62ias_filler\x18\x08 \x01(\x0b\x32\x16.caffe.FillerParameter\x12;\n\x06\x65ngine\x18\x0f \x01(\x0e\x32\".caffe.ConvolutionParameter.Engine:\x07\x44\x45\x46\x41ULT\x12\x0f\n\x04\x61xis\x18\x10 \x01(\x05:\x01\x31\x12\x1e\n\x0f\x66orce_nd_im2col\x18\x11 \x01(\x08:\x05\x66\x61lse\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"0\n\rCropParameter\x12\x0f\n\x04\x61xis\x18\x01 \x01(\x05:\x01\x32\x12\x0e\n\x06offset\x18\x02 \x03(\r\"\xa4\x02\n\rDataParameter\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x12\n\nbatch_size\x18\x04 \x01(\r\x12\x14\n\trand_skip\x18\x07 \x01(\r:\x01\x30\x12\x31\n\x07\x62\x61\x63kend\x18\x08 \x01(\x0e\x32\x17.caffe.DataParameter.DB:\x07LEVELDB\x12\x10\n\x05scale\x18\x02 \x01(\x02:\x01\x31\x12\x11\n\tmean_file\x18\x03 \x01(\t\x12\x14\n\tcrop_size\x18\x05 \x01(\r:\x01\x30\x12\x15\n\x06mirror\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\"\n\x13\x66orce_encoded_color\x18\t \x01(\x08:\x05\x66\x61lse\x12\x13\n\x08prefetch\x18\n \x01(\r:\x01\x34\"\x1b\n\x02\x44\x42\x12\x0b\n\x07LEVELDB\x10\x00\x12\x08\n\x04LMDB\x10\x01\".\n\x10\x44ropoutParameter\x12\x1a\n\rdropout_ratio\x18\x01 \x01(\x02:\x03\x30.5\"\xa0\x01\n\x12\x44ummyDataParameter\x12+\n\x0b\x64\x61ta_filler\x18\x01 \x03(\x0b\x32\x16.caffe.FillerParameter\x12\x1f\n\x05shape\x18\x06 \x03(\x0b\x32\x10.caffe.BlobShape\x12\x0b\n\x03num\x18\x02 \x03(\r\x12\x10\n\x08\x63hannels\x18\x03 \x03(\r\x12\x0e\n\x06height\x18\x04 \x03(\r\x12\r\n\x05width\x18\x05 \x03(\r\"\xa5\x01\n\x10\x45ltwiseParameter\x12\x39\n\toperation\x18\x01 \x01(\x0e\x32!.caffe.EltwiseParameter.EltwiseOp:\x03SUM\x12\r\n\x05\x63oeff\x18\x02 \x03(\x02\x12\x1e\n\x10stable_prod_grad\x18\x03 \x01(\x08:\x04true\"\'\n\tEltwiseOp\x12\x08\n\x04PROD\x10\x00\x12\x07\n\x03SUM\x10\x01\x12\x07\n\x03MAX\x10\x02\" \n\x0c\x45LUParameter\x12\x10\n\x05\x61lpha\x18\x01 \x01(\x02:\x01\x31\"\xac\x01\n\x0e\x45mbedParameter\x12\x12\n\nnum_output\x18\x01 \x01(\r\x12\x11\n\tinput_dim\x18\x02 \x01(\r\x12\x17\n\tbias_term\x18\x03 \x01(\x08:\x04true\x12-\n\rweight_filler\x18\x04 \x01(\x0b\x32\x16.caffe.FillerParameter\x12+\n\x0b\x62ias_filler\x18\x05 \x01(\x0b\x32\x16.caffe.FillerParameter\"D\n\x0c\x45xpParameter\x12\x10\n\x04\x62\x61se\x18\x01 \x01(\x02:\x02-1\x12\x10\n\x05scale\x18\x02 \x01(\x02:\x01\x31\x12\x10\n\x05shift\x18\x03 \x01(\x02:\x01\x30\"9\n\x10\x46lattenParameter\x12\x0f\n\x04\x61xis\x18\x01 \x01(\x05:\x01\x31\x12\x14\n\x08\x65nd_axis\x18\x02 \x01(\x05:\x02-1\"O\n\x11HDF5DataParameter\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x12\n\nbatch_size\x18\x02 \x01(\r\x12\x16\n\x07shuffle\x18\x03 \x01(\x08:\x05\x66\x61lse\"(\n\x13HDF5OutputParameter\x12\x11\n\tfile_name\x18\x01 \x01(\t\"^\n\x12HingeLossParameter\x12\x30\n\x04norm\x18\x01 \x01(\x0e\x32\x1e.caffe.HingeLossParameter.Norm:\x02L1\"\x16\n\x04Norm\x12\x06\n\x02L1\x10\x01\x12\x06\n\x02L2\x10\x02\"\x97\x02\n\x12ImageDataParameter\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x15\n\nbatch_size\x18\x04 \x01(\r:\x01\x31\x12\x14\n\trand_skip\x18\x07 \x01(\r:\x01\x30\x12\x16\n\x07shuffle\x18\x08 \x01(\x08:\x05\x66\x61lse\x12\x15\n\nnew_height\x18\t \x01(\r:\x01\x30\x12\x14\n\tnew_width\x18\n \x01(\r:\x01\x30\x12\x16\n\x08is_color\x18\x0b \x01(\x08:\x04true\x12\x10\n\x05scale\x18\x02 \x01(\x02:\x01\x31\x12\x11\n\tmean_file\x18\x03 \x01(\t\x12\x14\n\tcrop_size\x18\x05 \x01(\r:\x01\x30\x12\x15\n\x06mirror\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x15\n\x0broot_folder\x18\x0c \x01(\t:\x00\"\'\n\x15InfogainLossParameter\x12\x0e\n\x06source\x18\x01 \x01(\t\"\xcb\x01\n\x15InnerProductParameter\x12\x12\n\nnum_output\x18\x01 \x01(\r\x12\x17\n\tbias_term\x18\x02 \x01(\x08:\x04true\x12-\n\rweight_filler\x18\x03 \x01(\x0b\x32\x16.caffe.FillerParameter\x12+\n\x0b\x62ias_filler\x18\x04 \x01(\x0b\x32\x16.caffe.FillerParameter\x12\x0f\n\x04\x61xis\x18\x05 \x01(\x05:\x01\x31\x12\x18\n\ttranspose\x18\x06 \x01(\x08:\x05\x66\x61lse\"1\n\x0eInputParameter\x12\x1f\n\x05shape\x18\x01 \x03(\x0b\x32\x10.caffe.BlobShape\"D\n\x0cLogParameter\x12\x10\n\x04\x62\x61se\x18\x01 \x01(\x02:\x02-1\x12\x10\n\x05scale\x18\x02 \x01(\x02:\x01\x31\x12\x10\n\x05shift\x18\x03 \x01(\x02:\x01\x30\"\xb8\x02\n\x0cLRNParameter\x12\x15\n\nlocal_size\x18\x01 \x01(\r:\x01\x35\x12\x10\n\x05\x61lpha\x18\x02 \x01(\x02:\x01\x31\x12\x12\n\x04\x62\x65ta\x18\x03 \x01(\x02:\x04\x30.75\x12\x44\n\x0bnorm_region\x18\x04 \x01(\x0e\x32\x1e.caffe.LRNParameter.NormRegion:\x0f\x41\x43ROSS_CHANNELS\x12\x0c\n\x01k\x18\x05 \x01(\x02:\x01\x31\x12\x33\n\x06\x65ngine\x18\x06 \x01(\x0e\x32\x1a.caffe.LRNParameter.Engine:\x07\x44\x45\x46\x41ULT\"5\n\nNormRegion\x12\x13\n\x0f\x41\x43ROSS_CHANNELS\x10\x00\x12\x12\n\x0eWITHIN_CHANNEL\x10\x01\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"Z\n\x13MemoryDataParameter\x12\x12\n\nbatch_size\x18\x01 \x01(\r\x12\x10\n\x08\x63hannels\x18\x02 \x01(\r\x12\x0e\n\x06height\x18\x03 \x01(\r\x12\r\n\x05width\x18\x04 \x01(\r\"d\n\x0cMVNParameter\x12 \n\x12normalize_variance\x18\x01 \x01(\x08:\x04true\x12\x1e\n\x0f\x61\x63ross_channels\x18\x02 \x01(\x08:\x05\x66\x61lse\x12\x12\n\x03\x65ps\x18\x03 \x01(\x02:\x05\x31\x65-09\"\xa2\x03\n\x10PoolingParameter\x12\x35\n\x04pool\x18\x01 \x01(\x0e\x32\".caffe.PoolingParameter.PoolMethod:\x03MAX\x12\x0e\n\x03pad\x18\x04 \x01(\r:\x01\x30\x12\x10\n\x05pad_h\x18\t \x01(\r:\x01\x30\x12\x10\n\x05pad_w\x18\n \x01(\r:\x01\x30\x12\x13\n\x0bkernel_size\x18\x02 \x01(\r\x12\x10\n\x08kernel_h\x18\x05 \x01(\r\x12\x10\n\x08kernel_w\x18\x06 \x01(\r\x12\x11\n\x06stride\x18\x03 \x01(\r:\x01\x31\x12\x10\n\x08stride_h\x18\x07 \x01(\r\x12\x10\n\x08stride_w\x18\x08 \x01(\r\x12\x37\n\x06\x65ngine\x18\x0b \x01(\x0e\x32\x1e.caffe.PoolingParameter.Engine:\x07\x44\x45\x46\x41ULT\x12\x1d\n\x0eglobal_pooling\x18\x0c \x01(\x08:\x05\x66\x61lse\".\n\nPoolMethod\x12\x07\n\x03MAX\x10\x00\x12\x07\n\x03\x41VE\x10\x01\x12\x0e\n\nSTOCHASTIC\x10\x02\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"F\n\x0ePowerParameter\x12\x10\n\x05power\x18\x01 \x01(\x02:\x01\x31\x12\x10\n\x05scale\x18\x02 \x01(\x02:\x01\x31\x12\x10\n\x05shift\x18\x03 \x01(\x02:\x01\x30\"g\n\x0fPythonParameter\x12\x0e\n\x06module\x18\x01 \x01(\t\x12\r\n\x05layer\x18\x02 \x01(\t\x12\x13\n\tparam_str\x18\x03 \x01(\t:\x00\x12 \n\x11share_in_parallel\x18\x04 \x01(\x08:\x05\x66\x61lse\"\xad\x01\n\x12ReductionParameter\x12=\n\toperation\x18\x01 \x01(\x0e\x32%.caffe.ReductionParameter.ReductionOp:\x03SUM\x12\x0f\n\x04\x61xis\x18\x02 \x01(\x05:\x01\x30\x12\x10\n\x05\x63oeff\x18\x03 \x01(\x02:\x01\x31\"5\n\x0bReductionOp\x12\x07\n\x03SUM\x10\x01\x12\x08\n\x04\x41SUM\x10\x02\x12\t\n\x05SUMSQ\x10\x03\x12\x08\n\x04MEAN\x10\x04\"\x8d\x01\n\rReLUParameter\x12\x19\n\x0enegative_slope\x18\x01 \x01(\x02:\x01\x30\x12\x34\n\x06\x65ngine\x18\x02 \x01(\x0e\x32\x1b.caffe.ReLUParameter.Engine:\x07\x44\x45\x46\x41ULT\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"Z\n\x10ReshapeParameter\x12\x1f\n\x05shape\x18\x01 \x01(\x0b\x32\x10.caffe.BlobShape\x12\x0f\n\x04\x61xis\x18\x02 \x01(\x05:\x01\x30\x12\x14\n\x08num_axes\x18\x03 \x01(\x05:\x02-1\"\xa5\x01\n\x0eScaleParameter\x12\x0f\n\x04\x61xis\x18\x01 \x01(\x05:\x01\x31\x12\x13\n\x08num_axes\x18\x02 \x01(\x05:\x01\x31\x12&\n\x06\x66iller\x18\x03 \x01(\x0b\x32\x16.caffe.FillerParameter\x12\x18\n\tbias_term\x18\x04 \x01(\x08:\x05\x66\x61lse\x12+\n\x0b\x62ias_filler\x18\x05 \x01(\x0b\x32\x16.caffe.FillerParameter\"x\n\x10SigmoidParameter\x12\x37\n\x06\x65ngine\x18\x01 \x01(\x0e\x32\x1e.caffe.SigmoidParameter.Engine:\x07\x44\x45\x46\x41ULT\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"L\n\x0eSliceParameter\x12\x0f\n\x04\x61xis\x18\x03 \x01(\x05:\x01\x31\x12\x13\n\x0bslice_point\x18\x02 \x03(\r\x12\x14\n\tslice_dim\x18\x01 \x01(\r:\x01\x31\"\x89\x01\n\x10SoftmaxParameter\x12\x37\n\x06\x65ngine\x18\x01 \x01(\x0e\x32\x1e.caffe.SoftmaxParameter.Engine:\x07\x44\x45\x46\x41ULT\x12\x0f\n\x04\x61xis\x18\x02 \x01(\x05:\x01\x31\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"r\n\rTanHParameter\x12\x34\n\x06\x65ngine\x18\x01 \x01(\x0e\x32\x1b.caffe.TanHParameter.Engine:\x07\x44\x45\x46\x41ULT\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"/\n\rTileParameter\x12\x0f\n\x04\x61xis\x18\x01 \x01(\x05:\x01\x31\x12\r\n\x05tiles\x18\x02 \x01(\x05\"*\n\x12ThresholdParameter\x12\x14\n\tthreshold\x18\x01 \x01(\x02:\x01\x30\"\xc1\x02\n\x13WindowDataParameter\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x10\n\x05scale\x18\x02 \x01(\x02:\x01\x31\x12\x11\n\tmean_file\x18\x03 \x01(\t\x12\x12\n\nbatch_size\x18\x04 \x01(\r\x12\x14\n\tcrop_size\x18\x05 \x01(\r:\x01\x30\x12\x15\n\x06mirror\x18\x06 \x01(\x08:\x05\x66\x61lse\x12\x19\n\x0c\x66g_threshold\x18\x07 \x01(\x02:\x03\x30.5\x12\x19\n\x0c\x62g_threshold\x18\x08 \x01(\x02:\x03\x30.5\x12\x19\n\x0b\x66g_fraction\x18\t \x01(\x02:\x04\x30.25\x12\x16\n\x0b\x63ontext_pad\x18\n \x01(\r:\x01\x30\x12\x17\n\tcrop_mode\x18\x0b \x01(\t:\x04warp\x12\x1b\n\x0c\x63\x61\x63he_images\x18\x0c \x01(\x08:\x05\x66\x61lse\x12\x15\n\x0broot_folder\x18\r \x01(\t:\x00\"\xeb\x01\n\x0cSPPParameter\x12\x16\n\x0epyramid_height\x18\x01 \x01(\r\x12\x31\n\x04pool\x18\x02 \x01(\x0e\x32\x1e.caffe.SPPParameter.PoolMethod:\x03MAX\x12\x33\n\x06\x65ngine\x18\x06 \x01(\x0e\x32\x1a.caffe.SPPParameter.Engine:\x07\x44\x45\x46\x41ULT\".\n\nPoolMethod\x12\x07\n\x03MAX\x10\x00\x12\x07\n\x03\x41VE\x10\x01\x12\x0e\n\nSTOCHASTIC\x10\x02\"+\n\x06\x45ngine\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x00\x12\t\n\x05\x43\x41\x46\x46\x45\x10\x01\x12\t\n\x05\x43UDNN\x10\x02\"\xe0\x13\n\x10V1LayerParameter\x12\x0e\n\x06\x62ottom\x18\x02 \x03(\t\x12\x0b\n\x03top\x18\x03 \x03(\t\x12\x0c\n\x04name\x18\x04 \x01(\t\x12$\n\x07include\x18  \x03(\x0b\x32\x13.caffe.NetStateRule\x12$\n\x07\x65xclude\x18! \x03(\x0b\x32\x13.caffe.NetStateRule\x12/\n\x04type\x18\x05 \x01(\x0e\x32!.caffe.V1LayerParameter.LayerType\x12\x1f\n\x05\x62lobs\x18\x06 \x03(\x0b\x32\x10.caffe.BlobProto\x12\x0e\n\x05param\x18\xe9\x07 \x03(\t\x12>\n\x0f\x62lob_share_mode\x18\xea\x07 \x03(\x0e\x32$.caffe.V1LayerParameter.DimCheckMode\x12\x10\n\x08\x62lobs_lr\x18\x07 \x03(\x02\x12\x14\n\x0cweight_decay\x18\x08 \x03(\x02\x12\x13\n\x0bloss_weight\x18# \x03(\x02\x12\x30\n\x0e\x61\x63\x63uracy_param\x18\x1b \x01(\x0b\x32\x18.caffe.AccuracyParameter\x12,\n\x0c\x61rgmax_param\x18\x17 \x01(\x0b\x32\x16.caffe.ArgMaxParameter\x12,\n\x0c\x63oncat_param\x18\t \x01(\x0b\x32\x16.caffe.ConcatParameter\x12?\n\x16\x63ontrastive_loss_param\x18( \x01(\x0b\x32\x1f.caffe.ContrastiveLossParameter\x12\x36\n\x11\x63onvolution_param\x18\n \x01(\x0b\x32\x1b.caffe.ConvolutionParameter\x12(\n\ndata_param\x18\x0b \x01(\x0b\x32\x14.caffe.DataParameter\x12.\n\rdropout_param\x18\x0c \x01(\x0b\x32\x17.caffe.DropoutParameter\x12\x33\n\x10\x64ummy_data_param\x18\x1a \x01(\x0b\x32\x19.caffe.DummyDataParameter\x12.\n\reltwise_param\x18\x18 \x01(\x0b\x32\x17.caffe.EltwiseParameter\x12&\n\texp_param\x18) \x01(\x0b\x32\x13.caffe.ExpParameter\x12\x31\n\x0fhdf5_data_param\x18\r \x01(\x0b\x32\x18.caffe.HDF5DataParameter\x12\x35\n\x11hdf5_output_param\x18\x0e \x01(\x0b\x32\x1a.caffe.HDF5OutputParameter\x12\x33\n\x10hinge_loss_param\x18\x1d \x01(\x0b\x32\x19.caffe.HingeLossParameter\x12\x33\n\x10image_data_param\x18\x0f \x01(\x0b\x32\x19.caffe.ImageDataParameter\x12\x39\n\x13infogain_loss_param\x18\x10 \x01(\x0b\x32\x1c.caffe.InfogainLossParameter\x12\x39\n\x13inner_product_param\x18\x11 \x01(\x0b\x32\x1c.caffe.InnerProductParameter\x12&\n\tlrn_param\x18\x12 \x01(\x0b\x32\x13.caffe.LRNParameter\x12\x35\n\x11memory_data_param\x18\x16 \x01(\x0b\x32\x1a.caffe.MemoryDataParameter\x12&\n\tmvn_param\x18\" \x01(\x0b\x32\x13.caffe.MVNParameter\x12.\n\rpooling_param\x18\x13 \x01(\x0b\x32\x17.caffe.PoolingParameter\x12*\n\x0bpower_param\x18\x15 \x01(\x0b\x32\x15.caffe.PowerParameter\x12(\n\nrelu_param\x18\x1e \x01(\x0b\x32\x14.caffe.ReLUParameter\x12.\n\rsigmoid_param\x18& \x01(\x0b\x32\x17.caffe.SigmoidParameter\x12.\n\rsoftmax_param\x18\' \x01(\x0b\x32\x17.caffe.SoftmaxParameter\x12*\n\x0bslice_param\x18\x1f \x01(\x0b\x32\x15.caffe.SliceParameter\x12(\n\ntanh_param\x18% \x01(\x0b\x32\x14.caffe.TanHParameter\x12\x32\n\x0fthreshold_param\x18\x19 \x01(\x0b\x32\x19.caffe.ThresholdParameter\x12\x35\n\x11window_data_param\x18\x14 \x01(\x0b\x32\x1a.caffe.WindowDataParameter\x12\x37\n\x0ftransform_param\x18$ \x01(\x0b\x32\x1e.caffe.TransformationParameter\x12(\n\nloss_param\x18* \x01(\x0b\x32\x14.caffe.LossParameter\x12&\n\x05layer\x18\x01 \x01(\x0b\x32\x17.caffe.V0LayerParameter\"\xd8\x04\n\tLayerType\x12\x08\n\x04NONE\x10\x00\x12\n\n\x06\x41\x42SVAL\x10#\x12\x0c\n\x08\x41\x43\x43URACY\x10\x01\x12\n\n\x06\x41RGMAX\x10\x1e\x12\x08\n\x04\x42NLL\x10\x02\x12\n\n\x06\x43ONCAT\x10\x03\x12\x14\n\x10\x43ONTRASTIVE_LOSS\x10%\x12\x0f\n\x0b\x43ONVOLUTION\x10\x04\x12\x08\n\x04\x44\x41TA\x10\x05\x12\x11\n\rDECONVOLUTION\x10\'\x12\x0b\n\x07\x44ROPOUT\x10\x06\x12\x0e\n\nDUMMY_DATA\x10 \x12\x12\n\x0e\x45UCLIDEAN_LOSS\x10\x07\x12\x0b\n\x07\x45LTWISE\x10\x19\x12\x07\n\x03\x45XP\x10&\x12\x0b\n\x07\x46LATTEN\x10\x08\x12\r\n\tHDF5_DATA\x10\t\x12\x0f\n\x0bHDF5_OUTPUT\x10\n\x12\x0e\n\nHINGE_LOSS\x10\x1c\x12\n\n\x06IM2COL\x10\x0b\x12\x0e\n\nIMAGE_DATA\x10\x0c\x12\x11\n\rINFOGAIN_LOSS\x10\r\x12\x11\n\rINNER_PRODUCT\x10\x0e\x12\x07\n\x03LRN\x10\x0f\x12\x0f\n\x0bMEMORY_DATA\x10\x1d\x12\x1d\n\x19MULTINOMIAL_LOGISTIC_LOSS\x10\x10\x12\x07\n\x03MVN\x10\"\x12\x0b\n\x07POOLING\x10\x11\x12\t\n\x05POWER\x10\x1a\x12\x08\n\x04RELU\x10\x12\x12\x0b\n\x07SIGMOID\x10\x13\x12\x1e\n\x1aSIGMOID_CROSS_ENTROPY_LOSS\x10\x1b\x12\x0b\n\x07SILENCE\x10$\x12\x0b\n\x07SOFTMAX\x10\x14\x12\x10\n\x0cSOFTMAX_LOSS\x10\x15\x12\t\n\x05SPLIT\x10\x16\x12\t\n\x05SLICE\x10!\x12\x08\n\x04TANH\x10\x17\x12\x0f\n\x0bWINDOW_DATA\x10\x18\x12\r\n\tTHRESHOLD\x10\x1f\"*\n\x0c\x44imCheckMode\x12\n\n\x06STRICT\x10\x00\x12\x0e\n\nPERMISSIVE\x10\x01\"\xfd\x07\n\x10V0LayerParameter\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x12\n\nnum_output\x18\x03 \x01(\r\x12\x16\n\x08\x62iasterm\x18\x04 \x01(\x08:\x04true\x12-\n\rweight_filler\x18\x05 \x01(\x0b\x32\x16.caffe.FillerParameter\x12+\n\x0b\x62ias_filler\x18\x06 \x01(\x0b\x32\x16.caffe.FillerParameter\x12\x0e\n\x03pad\x18\x07 \x01(\r:\x01\x30\x12\x12\n\nkernelsize\x18\x08 \x01(\r\x12\x10\n\x05group\x18\t \x01(\r:\x01\x31\x12\x11\n\x06stride\x18\n \x01(\r:\x01\x31\x12\x35\n\x04pool\x18\x0b \x01(\x0e\x32\".caffe.V0LayerParameter.PoolMethod:\x03MAX\x12\x1a\n\rdropout_ratio\x18\x0c \x01(\x02:\x03\x30.5\x12\x15\n\nlocal_size\x18\r \x01(\r:\x01\x35\x12\x10\n\x05\x61lpha\x18\x0e \x01(\x02:\x01\x31\x12\x12\n\x04\x62\x65ta\x18\x0f \x01(\x02:\x04\x30.75\x12\x0c\n\x01k\x18\x16 \x01(\x02:\x01\x31\x12\x0e\n\x06source\x18\x10 \x01(\t\x12\x10\n\x05scale\x18\x11 \x01(\x02:\x01\x31\x12\x10\n\x08meanfile\x18\x12 \x01(\t\x12\x11\n\tbatchsize\x18\x13 \x01(\r\x12\x13\n\x08\x63ropsize\x18\x14 \x01(\r:\x01\x30\x12\x15\n\x06mirror\x18\x15 \x01(\x08:\x05\x66\x61lse\x12\x1f\n\x05\x62lobs\x18\x32 \x03(\x0b\x32\x10.caffe.BlobProto\x12\x10\n\x08\x62lobs_lr\x18\x33 \x03(\x02\x12\x14\n\x0cweight_decay\x18\x34 \x03(\x02\x12\x14\n\trand_skip\x18\x35 \x01(\r:\x01\x30\x12\x1d\n\x10\x64\x65t_fg_threshold\x18\x36 \x01(\x02:\x03\x30.5\x12\x1d\n\x10\x64\x65t_bg_threshold\x18\x37 \x01(\x02:\x03\x30.5\x12\x1d\n\x0f\x64\x65t_fg_fraction\x18\x38 \x01(\x02:\x04\x30.25\x12\x1a\n\x0f\x64\x65t_context_pad\x18: \x01(\r:\x01\x30\x12\x1b\n\rdet_crop_mode\x18; \x01(\t:\x04warp\x12\x12\n\x07new_num\x18< \x01(\x05:\x01\x30\x12\x17\n\x0cnew_channels\x18= \x01(\x05:\x01\x30\x12\x15\n\nnew_height\x18> \x01(\x05:\x01\x30\x12\x14\n\tnew_width\x18? \x01(\x05:\x01\x30\x12\x1d\n\x0eshuffle_images\x18@ \x01(\x08:\x05\x66\x61lse\x12\x15\n\nconcat_dim\x18\x41 \x01(\r:\x01\x31\x12\x36\n\x11hdf5_output_param\x18\xe9\x07 \x01(\x0b\x32\x1a.caffe.HDF5OutputParameter\".\n\nPoolMethod\x12\x07\n\x03MAX\x10\x00\x12\x07\n\x03\x41VE\x10\x01\x12\x0e\n\nSTOCHASTIC\x10\x02\"W\n\x0ePReLUParameter\x12&\n\x06\x66iller\x18\x01 \x01(\x0b\x32\x16.caffe.FillerParameter\x12\x1d\n\x0e\x63hannel_shared\x18\x02 \x01(\x08:\x05\x66\x61lse*\x1c\n\x05Phase\x12\t\n\x05TRAIN\x10\x00\x12\x08\n\x04TEST\x10\x01')
  
  _PHASE = _descriptor.EnumDescriptor(
    name='Phase',
    full_name='caffe.Phase',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='TRAIN', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='TEST', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=14991,
    serialized_end=15019,
  )
  
  Phase = enum_type_wrapper.EnumTypeWrapper(_PHASE)
  TRAIN = 0
  TEST = 1
  
  
  _FILLERPARAMETER_VARIANCENORM = _descriptor.EnumDescriptor(
    name='VarianceNorm',
    full_name='caffe.FillerParameter.VarianceNorm',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='FAN_IN', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='FAN_OUT', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='AVERAGE', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=658,
    serialized_end=710,
  )
  
  _SOLVERPARAMETER_SNAPSHOTFORMAT = _descriptor.EnumDescriptor(
    name='SnapshotFormat',
    full_name='caffe.SolverParameter.SnapshotFormat',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='HDF5', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='BINARYPROTO', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2132,
    serialized_end=2175,
  )
  
  _SOLVERPARAMETER_SOLVERMODE = _descriptor.EnumDescriptor(
    name='SolverMode',
    full_name='caffe.SolverParameter.SolverMode',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='CPU', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='GPU', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2177,
    serialized_end=2207,
  )
  
  _SOLVERPARAMETER_SOLVERTYPE = _descriptor.EnumDescriptor(
    name='SolverType',
    full_name='caffe.SolverParameter.SolverType',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='SGD', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NESTEROV', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ADAGRAD', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='RMSPROP', index=3, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ADADELTA', index=4, number=4,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ADAM', index=5, number=5,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2209,
    serialized_end=2294,
  )
  
  _PARAMSPEC_DIMCHECKMODE = _descriptor.EnumDescriptor(
    name='DimCheckMode',
    full_name='caffe.ParamSpec.DimCheckMode',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='STRICT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='PERMISSIVE', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2725,
    serialized_end=2767,
  )
  
  _LOSSPARAMETER_NORMALIZATIONMODE = _descriptor.EnumDescriptor(
    name='NormalizationMode',
    full_name='caffe.LossParameter.NormalizationMode',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='FULL', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='VALID', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='BATCH_SIZE', index=2, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='NONE', index=3, number=3,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=5542,
    serialized_end=5608,
  )
  
  _CONVOLUTIONPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.ConvolutionParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _DATAPARAMETER_DB = _descriptor.EnumDescriptor(
    name='DB',
    full_name='caffe.DataParameter.DB',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='LEVELDB', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='LMDB', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6934,
    serialized_end=6961,
  )
  
  _ELTWISEPARAMETER_ELTWISEOP = _descriptor.EnumDescriptor(
    name='EltwiseOp',
    full_name='caffe.EltwiseParameter.EltwiseOp',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='PROD', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SUM', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='MAX', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=7301,
    serialized_end=7340,
  )
  
  _HINGELOSSPARAMETER_NORM = _descriptor.EnumDescriptor(
    name='Norm',
    full_name='caffe.HingeLossParameter.Norm',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='L1', index=0, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='L2', index=1, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=7875,
    serialized_end=7897,
  )
  
  _LRNPARAMETER_NORMREGION = _descriptor.EnumDescriptor(
    name='NormRegion',
    full_name='caffe.LRNParameter.NormRegion',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='ACROSS_CHANNELS', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='WITHIN_CHANNEL', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=8764,
    serialized_end=8817,
  )
  
  _LRNPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.LRNParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _POOLINGPARAMETER_POOLMETHOD = _descriptor.EnumDescriptor(
    name='PoolMethod',
    full_name='caffe.PoolingParameter.PoolMethod',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='MAX', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='AVE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='STOCHASTIC', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=9386,
    serialized_end=9432,
  )
  
  _POOLINGPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.PoolingParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _REDUCTIONPARAMETER_REDUCTIONOP = _descriptor.EnumDescriptor(
    name='ReductionOp',
    full_name='caffe.ReductionParameter.ReductionOp',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='SUM', index=0, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ASUM', index=1, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SUMSQ', index=2, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='MEAN', index=3, number=4,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=9777,
    serialized_end=9830,
  )
  
  _RELUPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.ReLUParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _SIGMOIDPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.SigmoidParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _SOFTMAXPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.SoftmaxParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _TANHPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.TanHParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _SPPPARAMETER_POOLMETHOD = _descriptor.EnumDescriptor(
    name='PoolMethod',
    full_name='caffe.SPPParameter.PoolMethod',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='MAX', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='AVE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='STOCHASTIC', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=9386,
    serialized_end=9432,
  )
  
  _SPPPARAMETER_ENGINE = _descriptor.EnumDescriptor(
    name='Engine',
    full_name='caffe.SPPParameter.Engine',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='DEFAULT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CAFFE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CUDNN', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=6573,
    serialized_end=6616,
  )
  
  _V1LAYERPARAMETER_LAYERTYPE = _descriptor.EnumDescriptor(
    name='LayerType',
    full_name='caffe.V1LayerParameter.LayerType',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='NONE', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ABSVAL', index=1, number=35,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ACCURACY', index=2, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ARGMAX', index=3, number=30,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='BNLL', index=4, number=2,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CONCAT', index=5, number=3,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CONTRASTIVE_LOSS', index=6, number=37,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='CONVOLUTION', index=7, number=4,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='DATA', index=8, number=5,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='DECONVOLUTION', index=9, number=39,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='DROPOUT', index=10, number=6,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='DUMMY_DATA', index=11, number=32,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='EUCLIDEAN_LOSS', index=12, number=7,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='ELTWISE', index=13, number=25,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='EXP', index=14, number=38,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='FLATTEN', index=15, number=8,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='HDF5_DATA', index=16, number=9,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='HDF5_OUTPUT', index=17, number=10,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='HINGE_LOSS', index=18, number=28,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='IM2COL', index=19, number=11,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='IMAGE_DATA', index=20, number=12,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='INFOGAIN_LOSS', index=21, number=13,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='INNER_PRODUCT', index=22, number=14,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='LRN', index=23, number=15,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='MEMORY_DATA', index=24, number=29,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='MULTINOMIAL_LOGISTIC_LOSS', index=25, number=16,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='MVN', index=26, number=34,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='POOLING', index=27, number=17,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='POWER', index=28, number=26,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='RELU', index=29, number=18,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SIGMOID', index=30, number=19,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SIGMOID_CROSS_ENTROPY_LOSS', index=31, number=27,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SILENCE', index=32, number=36,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SOFTMAX', index=33, number=20,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SOFTMAX_LOSS', index=34, number=21,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SPLIT', index=35, number=22,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='SLICE', index=36, number=33,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='TANH', index=37, number=23,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='WINDOW_DATA', index=38, number=24,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='THRESHOLD', index=39, number=31,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=13232,
    serialized_end=13832,
  )
  
  _V1LAYERPARAMETER_DIMCHECKMODE = _descriptor.EnumDescriptor(
    name='DimCheckMode',
    full_name='caffe.V1LayerParameter.DimCheckMode',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='STRICT', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='PERMISSIVE', index=1, number=1,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=2725,
    serialized_end=2767,
  )
  
  _V0LAYERPARAMETER_POOLMETHOD = _descriptor.EnumDescriptor(
    name='PoolMethod',
    full_name='caffe.V0LayerParameter.PoolMethod',
    filename=None,
    file=DESCRIPTOR,
    values=[
      _descriptor.EnumValueDescriptor(
        name='MAX', index=0, number=0,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='AVE', index=1, number=1,
        options=None,
        type=None),
      _descriptor.EnumValueDescriptor(
        name='STOCHASTIC', index=2, number=2,
        options=None,
        type=None),
    ],
    containing_type=None,
    options=None,
    serialized_start=9386,
    serialized_end=9432,
  )
  
  
  _BLOBSHAPE = _descriptor.Descriptor(
    name='BlobShape',
    full_name='caffe.BlobShape',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='dim', full_name='caffe.BlobShape.dim', index=0,
        number=1, type=3, cpp_type=2, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=22,
    serialized_end=50,
  )
  
  
  _BLOBPROTO = _descriptor.Descriptor(
    name='BlobProto',
    full_name='caffe.BlobProto',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='shape', full_name='caffe.BlobProto.shape', index=0,
        number=7, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='data', full_name='caffe.BlobProto.data', index=1,
        number=5, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')),
      _descriptor.FieldDescriptor(
        name='diff', full_name='caffe.BlobProto.diff', index=2,
        number=6, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')),
      _descriptor.FieldDescriptor(
        name='double_data', full_name='caffe.BlobProto.double_data', index=3,
        number=8, type=1, cpp_type=5, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')),
      _descriptor.FieldDescriptor(
        name='double_diff', full_name='caffe.BlobProto.double_diff', index=4,
        number=9, type=1, cpp_type=5, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')),
      _descriptor.FieldDescriptor(
        name='num', full_name='caffe.BlobProto.num', index=5,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='channels', full_name='caffe.BlobProto.channels', index=6,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='height', full_name='caffe.BlobProto.height', index=7,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='width', full_name='caffe.BlobProto.width', index=8,
        number=4, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=53,
    serialized_end=257,
  )
  
  
  _BLOBPROTOVECTOR = _descriptor.Descriptor(
    name='BlobProtoVector',
    full_name='caffe.BlobProtoVector',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='blobs', full_name='caffe.BlobProtoVector.blobs', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=259,
    serialized_end=309,
  )
  
  
  _DATUM = _descriptor.Descriptor(
    name='Datum',
    full_name='caffe.Datum',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='channels', full_name='caffe.Datum.channels', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='height', full_name='caffe.Datum.height', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='width', full_name='caffe.Datum.width', index=2,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='data', full_name='caffe.Datum.data', index=3,
        number=4, type=12, cpp_type=9, label=1,
        has_default_value=False, default_value="",
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='label', full_name='caffe.Datum.label', index=4,
        number=5, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='float_data', full_name='caffe.Datum.float_data', index=5,
        number=6, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='encoded', full_name='caffe.Datum.encoded', index=6,
        number=7, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=312,
    serialized_end=441,
  )
  
  
  _FILLERPARAMETER = _descriptor.Descriptor(
    name='FillerParameter',
    full_name='caffe.FillerParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='type', full_name='caffe.FillerParameter.type', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("constant", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='value', full_name='caffe.FillerParameter.value', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='min', full_name='caffe.FillerParameter.min', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max', full_name='caffe.FillerParameter.max', index=3,
        number=4, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mean', full_name='caffe.FillerParameter.mean', index=4,
        number=5, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='std', full_name='caffe.FillerParameter.std', index=5,
        number=6, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='sparse', full_name='caffe.FillerParameter.sparse', index=6,
        number=7, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=-1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='variance_norm', full_name='caffe.FillerParameter.variance_norm', index=7,
        number=8, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _FILLERPARAMETER_VARIANCENORM,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=444,
    serialized_end=710,
  )
  
  
  _NETPARAMETER = _descriptor.Descriptor(
    name='NetParameter',
    full_name='caffe.NetParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='caffe.NetParameter.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='input', full_name='caffe.NetParameter.input', index=1,
        number=3, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='input_shape', full_name='caffe.NetParameter.input_shape', index=2,
        number=8, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='input_dim', full_name='caffe.NetParameter.input_dim', index=3,
        number=4, type=5, cpp_type=1, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='force_backward', full_name='caffe.NetParameter.force_backward', index=4,
        number=5, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='state', full_name='caffe.NetParameter.state', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='debug_info', full_name='caffe.NetParameter.debug_info', index=6,
        number=7, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='layer', full_name='caffe.NetParameter.layer', index=7,
        number=100, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='layers', full_name='caffe.NetParameter.layers', index=8,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=713,
    serialized_end=983,
  )
  
  
  _SOLVERPARAMETER = _descriptor.Descriptor(
    name='SolverParameter',
    full_name='caffe.SolverParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='net', full_name='caffe.SolverParameter.net', index=0,
        number=24, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='net_param', full_name='caffe.SolverParameter.net_param', index=1,
        number=25, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='train_net', full_name='caffe.SolverParameter.train_net', index=2,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='test_net', full_name='caffe.SolverParameter.test_net', index=3,
        number=2, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='train_net_param', full_name='caffe.SolverParameter.train_net_param', index=4,
        number=21, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='test_net_param', full_name='caffe.SolverParameter.test_net_param', index=5,
        number=22, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='train_state', full_name='caffe.SolverParameter.train_state', index=6,
        number=26, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='test_state', full_name='caffe.SolverParameter.test_state', index=7,
        number=27, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='test_iter', full_name='caffe.SolverParameter.test_iter', index=8,
        number=3, type=5, cpp_type=1, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='test_interval', full_name='caffe.SolverParameter.test_interval', index=9,
        number=4, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='test_compute_loss', full_name='caffe.SolverParameter.test_compute_loss', index=10,
        number=19, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='test_initialization', full_name='caffe.SolverParameter.test_initialization', index=11,
        number=32, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='base_lr', full_name='caffe.SolverParameter.base_lr', index=12,
        number=5, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='display', full_name='caffe.SolverParameter.display', index=13,
        number=6, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='average_loss', full_name='caffe.SolverParameter.average_loss', index=14,
        number=33, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max_iter', full_name='caffe.SolverParameter.max_iter', index=15,
        number=7, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='iter_size', full_name='caffe.SolverParameter.iter_size', index=16,
        number=36, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='lr_policy', full_name='caffe.SolverParameter.lr_policy', index=17,
        number=8, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='gamma', full_name='caffe.SolverParameter.gamma', index=18,
        number=9, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='power', full_name='caffe.SolverParameter.power', index=19,
        number=10, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='momentum', full_name='caffe.SolverParameter.momentum', index=20,
        number=11, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='weight_decay', full_name='caffe.SolverParameter.weight_decay', index=21,
        number=12, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='regularization_type', full_name='caffe.SolverParameter.regularization_type', index=22,
        number=29, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("L2", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stepsize', full_name='caffe.SolverParameter.stepsize', index=23,
        number=13, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stepvalue', full_name='caffe.SolverParameter.stepvalue', index=24,
        number=34, type=5, cpp_type=1, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='clip_gradients', full_name='caffe.SolverParameter.clip_gradients', index=25,
        number=35, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=-1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='snapshot', full_name='caffe.SolverParameter.snapshot', index=26,
        number=14, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='snapshot_prefix', full_name='caffe.SolverParameter.snapshot_prefix', index=27,
        number=15, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='snapshot_diff', full_name='caffe.SolverParameter.snapshot_diff', index=28,
        number=16, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='snapshot_format', full_name='caffe.SolverParameter.snapshot_format', index=29,
        number=37, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='solver_mode', full_name='caffe.SolverParameter.solver_mode', index=30,
        number=17, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='device_id', full_name='caffe.SolverParameter.device_id', index=31,
        number=18, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='random_seed', full_name='caffe.SolverParameter.random_seed', index=32,
        number=20, type=3, cpp_type=2, label=1,
        has_default_value=True, default_value=-1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='type', full_name='caffe.SolverParameter.type', index=33,
        number=40, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("SGD", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='delta', full_name='caffe.SolverParameter.delta', index=34,
        number=31, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1e-08,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='momentum2', full_name='caffe.SolverParameter.momentum2', index=35,
        number=39, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.999,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='rms_decay', full_name='caffe.SolverParameter.rms_decay', index=36,
        number=38, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='debug_info', full_name='caffe.SolverParameter.debug_info', index=37,
        number=23, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='snapshot_after_train', full_name='caffe.SolverParameter.snapshot_after_train', index=38,
        number=28, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='solver_type', full_name='caffe.SolverParameter.solver_type', index=39,
        number=30, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _SOLVERPARAMETER_SNAPSHOTFORMAT,
      _SOLVERPARAMETER_SOLVERMODE,
      _SOLVERPARAMETER_SOLVERTYPE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=986,
    serialized_end=2294,
  )
  
  
  _SOLVERSTATE = _descriptor.Descriptor(
    name='SolverState',
    full_name='caffe.SolverState',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='iter', full_name='caffe.SolverState.iter', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='learned_net', full_name='caffe.SolverState.learned_net', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='history', full_name='caffe.SolverState.history', index=2,
        number=3, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='current_step', full_name='caffe.SolverState.current_step', index=3,
        number=4, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=2296,
    serialized_end=2404,
  )
  
  
  _NETSTATE = _descriptor.Descriptor(
    name='NetState',
    full_name='caffe.NetState',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='phase', full_name='caffe.NetState.phase', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='level', full_name='caffe.NetState.level', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stage', full_name='caffe.NetState.stage', index=2,
        number=3, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=2406,
    serialized_end=2484,
  )
  
  
  _NETSTATERULE = _descriptor.Descriptor(
    name='NetStateRule',
    full_name='caffe.NetStateRule',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='phase', full_name='caffe.NetStateRule.phase', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='min_level', full_name='caffe.NetStateRule.min_level', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='max_level', full_name='caffe.NetStateRule.max_level', index=2,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stage', full_name='caffe.NetStateRule.stage', index=3,
        number=4, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='not_stage', full_name='caffe.NetStateRule.not_stage', index=4,
        number=5, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=2486,
    serialized_end=2601,
  )
  
  
  _PARAMSPEC = _descriptor.Descriptor(
    name='ParamSpec',
    full_name='caffe.ParamSpec',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='caffe.ParamSpec.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='share_mode', full_name='caffe.ParamSpec.share_mode', index=1,
        number=2, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='lr_mult', full_name='caffe.ParamSpec.lr_mult', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='decay_mult', full_name='caffe.ParamSpec.decay_mult', index=3,
        number=4, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _PARAMSPEC_DIMCHECKMODE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=2604,
    serialized_end=2767,
  )
  
  
  _LAYERPARAMETER = _descriptor.Descriptor(
    name='LayerParameter',
    full_name='caffe.LayerParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='caffe.LayerParameter.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='type', full_name='caffe.LayerParameter.type', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bottom', full_name='caffe.LayerParameter.bottom', index=2,
        number=3, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='top', full_name='caffe.LayerParameter.top', index=3,
        number=4, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='phase', full_name='caffe.LayerParameter.phase', index=4,
        number=10, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='loss_weight', full_name='caffe.LayerParameter.loss_weight', index=5,
        number=5, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='param', full_name='caffe.LayerParameter.param', index=6,
        number=6, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='blobs', full_name='caffe.LayerParameter.blobs', index=7,
        number=7, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='propagate_down', full_name='caffe.LayerParameter.propagate_down', index=8,
        number=11, type=8, cpp_type=7, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='include', full_name='caffe.LayerParameter.include', index=9,
        number=8, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='exclude', full_name='caffe.LayerParameter.exclude', index=10,
        number=9, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='transform_param', full_name='caffe.LayerParameter.transform_param', index=11,
        number=100, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='loss_param', full_name='caffe.LayerParameter.loss_param', index=12,
        number=101, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='accuracy_param', full_name='caffe.LayerParameter.accuracy_param', index=13,
        number=102, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='argmax_param', full_name='caffe.LayerParameter.argmax_param', index=14,
        number=103, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='batch_norm_param', full_name='caffe.LayerParameter.batch_norm_param', index=15,
        number=139, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_param', full_name='caffe.LayerParameter.bias_param', index=16,
        number=141, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='concat_param', full_name='caffe.LayerParameter.concat_param', index=17,
        number=104, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='contrastive_loss_param', full_name='caffe.LayerParameter.contrastive_loss_param', index=18,
        number=105, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='convolution_param', full_name='caffe.LayerParameter.convolution_param', index=19,
        number=106, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crop_param', full_name='caffe.LayerParameter.crop_param', index=20,
        number=144, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='data_param', full_name='caffe.LayerParameter.data_param', index=21,
        number=107, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='dropout_param', full_name='caffe.LayerParameter.dropout_param', index=22,
        number=108, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='dummy_data_param', full_name='caffe.LayerParameter.dummy_data_param', index=23,
        number=109, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='eltwise_param', full_name='caffe.LayerParameter.eltwise_param', index=24,
        number=110, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='elu_param', full_name='caffe.LayerParameter.elu_param', index=25,
        number=140, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='embed_param', full_name='caffe.LayerParameter.embed_param', index=26,
        number=137, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='exp_param', full_name='caffe.LayerParameter.exp_param', index=27,
        number=111, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='flatten_param', full_name='caffe.LayerParameter.flatten_param', index=28,
        number=135, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hdf5_data_param', full_name='caffe.LayerParameter.hdf5_data_param', index=29,
        number=112, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hdf5_output_param', full_name='caffe.LayerParameter.hdf5_output_param', index=30,
        number=113, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hinge_loss_param', full_name='caffe.LayerParameter.hinge_loss_param', index=31,
        number=114, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='image_data_param', full_name='caffe.LayerParameter.image_data_param', index=32,
        number=115, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='infogain_loss_param', full_name='caffe.LayerParameter.infogain_loss_param', index=33,
        number=116, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='inner_product_param', full_name='caffe.LayerParameter.inner_product_param', index=34,
        number=117, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='input_param', full_name='caffe.LayerParameter.input_param', index=35,
        number=143, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='log_param', full_name='caffe.LayerParameter.log_param', index=36,
        number=134, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='lrn_param', full_name='caffe.LayerParameter.lrn_param', index=37,
        number=118, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='memory_data_param', full_name='caffe.LayerParameter.memory_data_param', index=38,
        number=119, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mvn_param', full_name='caffe.LayerParameter.mvn_param', index=39,
        number=120, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pooling_param', full_name='caffe.LayerParameter.pooling_param', index=40,
        number=121, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='power_param', full_name='caffe.LayerParameter.power_param', index=41,
        number=122, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='prelu_param', full_name='caffe.LayerParameter.prelu_param', index=42,
        number=131, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='python_param', full_name='caffe.LayerParameter.python_param', index=43,
        number=130, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='reduction_param', full_name='caffe.LayerParameter.reduction_param', index=44,
        number=136, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='relu_param', full_name='caffe.LayerParameter.relu_param', index=45,
        number=123, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='reshape_param', full_name='caffe.LayerParameter.reshape_param', index=46,
        number=133, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale_param', full_name='caffe.LayerParameter.scale_param', index=47,
        number=142, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='sigmoid_param', full_name='caffe.LayerParameter.sigmoid_param', index=48,
        number=124, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='softmax_param', full_name='caffe.LayerParameter.softmax_param', index=49,
        number=125, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='spp_param', full_name='caffe.LayerParameter.spp_param', index=50,
        number=132, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='slice_param', full_name='caffe.LayerParameter.slice_param', index=51,
        number=126, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='tanh_param', full_name='caffe.LayerParameter.tanh_param', index=52,
        number=127, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='threshold_param', full_name='caffe.LayerParameter.threshold_param', index=53,
        number=128, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='tile_param', full_name='caffe.LayerParameter.tile_param', index=54,
        number=138, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='window_data_param', full_name='caffe.LayerParameter.window_data_param', index=55,
        number=129, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=2770,
    serialized_end=5226,
  )
  
  
  _TRANSFORMATIONPARAMETER = _descriptor.Descriptor(
    name='TransformationParameter',
    full_name='caffe.TransformationParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.TransformationParameter.scale', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mirror', full_name='caffe.TransformationParameter.mirror', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crop_size', full_name='caffe.TransformationParameter.crop_size', index=2,
        number=3, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mean_file', full_name='caffe.TransformationParameter.mean_file', index=3,
        number=4, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mean_value', full_name='caffe.TransformationParameter.mean_value', index=4,
        number=5, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='force_color', full_name='caffe.TransformationParameter.force_color', index=5,
        number=6, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='force_gray', full_name='caffe.TransformationParameter.force_gray', index=6,
        number=7, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=5229,
    serialized_end=5411,
  )
  
  
  _LOSSPARAMETER = _descriptor.Descriptor(
    name='LossParameter',
    full_name='caffe.LossParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='ignore_label', full_name='caffe.LossParameter.ignore_label', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='normalization', full_name='caffe.LossParameter.normalization', index=1,
        number=3, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='normalize', full_name='caffe.LossParameter.normalize', index=2,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _LOSSPARAMETER_NORMALIZATIONMODE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=5414,
    serialized_end=5608,
  )
  
  
  _ACCURACYPARAMETER = _descriptor.Descriptor(
    name='AccuracyParameter',
    full_name='caffe.AccuracyParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='top_k', full_name='caffe.AccuracyParameter.top_k', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.AccuracyParameter.axis', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='ignore_label', full_name='caffe.AccuracyParameter.ignore_label', index=2,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=5610,
    serialized_end=5686,
  )
  
  
  _ARGMAXPARAMETER = _descriptor.Descriptor(
    name='ArgMaxParameter',
    full_name='caffe.ArgMaxParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='out_max_val', full_name='caffe.ArgMaxParameter.out_max_val', index=0,
        number=1, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='top_k', full_name='caffe.ArgMaxParameter.top_k', index=1,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.ArgMaxParameter.axis', index=2,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=5688,
    serialized_end=5765,
  )
  
  
  _CONCATPARAMETER = _descriptor.Descriptor(
    name='ConcatParameter',
    full_name='caffe.ConcatParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.ConcatParameter.axis', index=0,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='concat_dim', full_name='caffe.ConcatParameter.concat_dim', index=1,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=5767,
    serialized_end=5824,
  )
  
  
  _BATCHNORMPARAMETER = _descriptor.Descriptor(
    name='BatchNormParameter',
    full_name='caffe.BatchNormParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='use_global_stats', full_name='caffe.BatchNormParameter.use_global_stats', index=0,
        number=1, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='moving_average_fraction', full_name='caffe.BatchNormParameter.moving_average_fraction', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.999,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='eps', full_name='caffe.BatchNormParameter.eps', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1e-05,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=5826,
    serialized_end=5932,
  )
  
  
  _BIASPARAMETER = _descriptor.Descriptor(
    name='BiasParameter',
    full_name='caffe.BiasParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.BiasParameter.axis', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='num_axes', full_name='caffe.BiasParameter.num_axes', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='filler', full_name='caffe.BiasParameter.filler', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=5934,
    serialized_end=6027,
  )
  
  
  _CONTRASTIVELOSSPARAMETER = _descriptor.Descriptor(
    name='ContrastiveLossParameter',
    full_name='caffe.ContrastiveLossParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='margin', full_name='caffe.ContrastiveLossParameter.margin', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='legacy_version', full_name='caffe.ContrastiveLossParameter.legacy_version', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=6029,
    serialized_end=6105,
  )
  
  
  _CONVOLUTIONPARAMETER = _descriptor.Descriptor(
    name='ConvolutionParameter',
    full_name='caffe.ConvolutionParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='num_output', full_name='caffe.ConvolutionParameter.num_output', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_term', full_name='caffe.ConvolutionParameter.bias_term', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pad', full_name='caffe.ConvolutionParameter.pad', index=2,
        number=3, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kernel_size', full_name='caffe.ConvolutionParameter.kernel_size', index=3,
        number=4, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stride', full_name='caffe.ConvolutionParameter.stride', index=4,
        number=6, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='dilation', full_name='caffe.ConvolutionParameter.dilation', index=5,
        number=18, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pad_h', full_name='caffe.ConvolutionParameter.pad_h', index=6,
        number=9, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pad_w', full_name='caffe.ConvolutionParameter.pad_w', index=7,
        number=10, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kernel_h', full_name='caffe.ConvolutionParameter.kernel_h', index=8,
        number=11, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kernel_w', full_name='caffe.ConvolutionParameter.kernel_w', index=9,
        number=12, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stride_h', full_name='caffe.ConvolutionParameter.stride_h', index=10,
        number=13, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stride_w', full_name='caffe.ConvolutionParameter.stride_w', index=11,
        number=14, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='group', full_name='caffe.ConvolutionParameter.group', index=12,
        number=5, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='weight_filler', full_name='caffe.ConvolutionParameter.weight_filler', index=13,
        number=7, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_filler', full_name='caffe.ConvolutionParameter.bias_filler', index=14,
        number=8, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.ConvolutionParameter.engine', index=15,
        number=15, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.ConvolutionParameter.axis', index=16,
        number=16, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='force_nd_im2col', full_name='caffe.ConvolutionParameter.force_nd_im2col', index=17,
        number=17, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _CONVOLUTIONPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=6108,
    serialized_end=6616,
  )
  
  
  _CROPPARAMETER = _descriptor.Descriptor(
    name='CropParameter',
    full_name='caffe.CropParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.CropParameter.axis', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=2,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='offset', full_name='caffe.CropParameter.offset', index=1,
        number=2, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=6618,
    serialized_end=6666,
  )
  
  
  _DATAPARAMETER = _descriptor.Descriptor(
    name='DataParameter',
    full_name='caffe.DataParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='source', full_name='caffe.DataParameter.source', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='batch_size', full_name='caffe.DataParameter.batch_size', index=1,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='rand_skip', full_name='caffe.DataParameter.rand_skip', index=2,
        number=7, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='backend', full_name='caffe.DataParameter.backend', index=3,
        number=8, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.DataParameter.scale', index=4,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mean_file', full_name='caffe.DataParameter.mean_file', index=5,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crop_size', full_name='caffe.DataParameter.crop_size', index=6,
        number=5, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mirror', full_name='caffe.DataParameter.mirror', index=7,
        number=6, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='force_encoded_color', full_name='caffe.DataParameter.force_encoded_color', index=8,
        number=9, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='prefetch', full_name='caffe.DataParameter.prefetch', index=9,
        number=10, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=4,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _DATAPARAMETER_DB,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=6669,
    serialized_end=6961,
  )
  
  
  _DROPOUTPARAMETER = _descriptor.Descriptor(
    name='DropoutParameter',
    full_name='caffe.DropoutParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='dropout_ratio', full_name='caffe.DropoutParameter.dropout_ratio', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=6963,
    serialized_end=7009,
  )
  
  
  _DUMMYDATAPARAMETER = _descriptor.Descriptor(
    name='DummyDataParameter',
    full_name='caffe.DummyDataParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='data_filler', full_name='caffe.DummyDataParameter.data_filler', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shape', full_name='caffe.DummyDataParameter.shape', index=1,
        number=6, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='num', full_name='caffe.DummyDataParameter.num', index=2,
        number=2, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='channels', full_name='caffe.DummyDataParameter.channels', index=3,
        number=3, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='height', full_name='caffe.DummyDataParameter.height', index=4,
        number=4, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='width', full_name='caffe.DummyDataParameter.width', index=5,
        number=5, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7012,
    serialized_end=7172,
  )
  
  
  _ELTWISEPARAMETER = _descriptor.Descriptor(
    name='EltwiseParameter',
    full_name='caffe.EltwiseParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='operation', full_name='caffe.EltwiseParameter.operation', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='coeff', full_name='caffe.EltwiseParameter.coeff', index=1,
        number=2, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stable_prod_grad', full_name='caffe.EltwiseParameter.stable_prod_grad', index=2,
        number=3, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _ELTWISEPARAMETER_ELTWISEOP,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7175,
    serialized_end=7340,
  )
  
  
  _ELUPARAMETER = _descriptor.Descriptor(
    name='ELUParameter',
    full_name='caffe.ELUParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='alpha', full_name='caffe.ELUParameter.alpha', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7342,
    serialized_end=7374,
  )
  
  
  _EMBEDPARAMETER = _descriptor.Descriptor(
    name='EmbedParameter',
    full_name='caffe.EmbedParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='num_output', full_name='caffe.EmbedParameter.num_output', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='input_dim', full_name='caffe.EmbedParameter.input_dim', index=1,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_term', full_name='caffe.EmbedParameter.bias_term', index=2,
        number=3, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='weight_filler', full_name='caffe.EmbedParameter.weight_filler', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_filler', full_name='caffe.EmbedParameter.bias_filler', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7377,
    serialized_end=7549,
  )
  
  
  _EXPPARAMETER = _descriptor.Descriptor(
    name='ExpParameter',
    full_name='caffe.ExpParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='base', full_name='caffe.ExpParameter.base', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=-1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.ExpParameter.scale', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shift', full_name='caffe.ExpParameter.shift', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7551,
    serialized_end=7619,
  )
  
  
  _FLATTENPARAMETER = _descriptor.Descriptor(
    name='FlattenParameter',
    full_name='caffe.FlattenParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.FlattenParameter.axis', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='end_axis', full_name='caffe.FlattenParameter.end_axis', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=-1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7621,
    serialized_end=7678,
  )
  
  
  _HDF5DATAPARAMETER = _descriptor.Descriptor(
    name='HDF5DataParameter',
    full_name='caffe.HDF5DataParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='source', full_name='caffe.HDF5DataParameter.source', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='batch_size', full_name='caffe.HDF5DataParameter.batch_size', index=1,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shuffle', full_name='caffe.HDF5DataParameter.shuffle', index=2,
        number=3, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7680,
    serialized_end=7759,
  )
  
  
  _HDF5OUTPUTPARAMETER = _descriptor.Descriptor(
    name='HDF5OutputParameter',
    full_name='caffe.HDF5OutputParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='file_name', full_name='caffe.HDF5OutputParameter.file_name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7761,
    serialized_end=7801,
  )
  
  
  _HINGELOSSPARAMETER = _descriptor.Descriptor(
    name='HingeLossParameter',
    full_name='caffe.HingeLossParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='norm', full_name='caffe.HingeLossParameter.norm', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _HINGELOSSPARAMETER_NORM,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7803,
    serialized_end=7897,
  )
  
  
  _IMAGEDATAPARAMETER = _descriptor.Descriptor(
    name='ImageDataParameter',
    full_name='caffe.ImageDataParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='source', full_name='caffe.ImageDataParameter.source', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='batch_size', full_name='caffe.ImageDataParameter.batch_size', index=1,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='rand_skip', full_name='caffe.ImageDataParameter.rand_skip', index=2,
        number=7, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shuffle', full_name='caffe.ImageDataParameter.shuffle', index=3,
        number=8, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='new_height', full_name='caffe.ImageDataParameter.new_height', index=4,
        number=9, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='new_width', full_name='caffe.ImageDataParameter.new_width', index=5,
        number=10, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='is_color', full_name='caffe.ImageDataParameter.is_color', index=6,
        number=11, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.ImageDataParameter.scale', index=7,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mean_file', full_name='caffe.ImageDataParameter.mean_file', index=8,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crop_size', full_name='caffe.ImageDataParameter.crop_size', index=9,
        number=5, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mirror', full_name='caffe.ImageDataParameter.mirror', index=10,
        number=6, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='root_folder', full_name='caffe.ImageDataParameter.root_folder', index=11,
        number=12, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=7900,
    serialized_end=8179,
  )
  
  
  _INFOGAINLOSSPARAMETER = _descriptor.Descriptor(
    name='InfogainLossParameter',
    full_name='caffe.InfogainLossParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='source', full_name='caffe.InfogainLossParameter.source', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=8181,
    serialized_end=8220,
  )
  
  
  _INNERPRODUCTPARAMETER = _descriptor.Descriptor(
    name='InnerProductParameter',
    full_name='caffe.InnerProductParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='num_output', full_name='caffe.InnerProductParameter.num_output', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_term', full_name='caffe.InnerProductParameter.bias_term', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='weight_filler', full_name='caffe.InnerProductParameter.weight_filler', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_filler', full_name='caffe.InnerProductParameter.bias_filler', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.InnerProductParameter.axis', index=4,
        number=5, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='transpose', full_name='caffe.InnerProductParameter.transpose', index=5,
        number=6, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=8223,
    serialized_end=8426,
  )
  
  
  _INPUTPARAMETER = _descriptor.Descriptor(
    name='InputParameter',
    full_name='caffe.InputParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='shape', full_name='caffe.InputParameter.shape', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=8428,
    serialized_end=8477,
  )
  
  
  _LOGPARAMETER = _descriptor.Descriptor(
    name='LogParameter',
    full_name='caffe.LogParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='base', full_name='caffe.LogParameter.base', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=-1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.LogParameter.scale', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shift', full_name='caffe.LogParameter.shift', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=8479,
    serialized_end=8547,
  )
  
  
  _LRNPARAMETER = _descriptor.Descriptor(
    name='LRNParameter',
    full_name='caffe.LRNParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='local_size', full_name='caffe.LRNParameter.local_size', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='alpha', full_name='caffe.LRNParameter.alpha', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='beta', full_name='caffe.LRNParameter.beta', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.75,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='norm_region', full_name='caffe.LRNParameter.norm_region', index=3,
        number=4, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='k', full_name='caffe.LRNParameter.k', index=4,
        number=5, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.LRNParameter.engine', index=5,
        number=6, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _LRNPARAMETER_NORMREGION,
      _LRNPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=8550,
    serialized_end=8862,
  )
  
  
  _MEMORYDATAPARAMETER = _descriptor.Descriptor(
    name='MemoryDataParameter',
    full_name='caffe.MemoryDataParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='batch_size', full_name='caffe.MemoryDataParameter.batch_size', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='channels', full_name='caffe.MemoryDataParameter.channels', index=1,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='height', full_name='caffe.MemoryDataParameter.height', index=2,
        number=3, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='width', full_name='caffe.MemoryDataParameter.width', index=3,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=8864,
    serialized_end=8954,
  )
  
  
  _MVNPARAMETER = _descriptor.Descriptor(
    name='MVNParameter',
    full_name='caffe.MVNParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='normalize_variance', full_name='caffe.MVNParameter.normalize_variance', index=0,
        number=1, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='across_channels', full_name='caffe.MVNParameter.across_channels', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='eps', full_name='caffe.MVNParameter.eps', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1e-09,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=8956,
    serialized_end=9056,
  )
  
  
  _POOLINGPARAMETER = _descriptor.Descriptor(
    name='PoolingParameter',
    full_name='caffe.PoolingParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='pool', full_name='caffe.PoolingParameter.pool', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pad', full_name='caffe.PoolingParameter.pad', index=1,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pad_h', full_name='caffe.PoolingParameter.pad_h', index=2,
        number=9, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pad_w', full_name='caffe.PoolingParameter.pad_w', index=3,
        number=10, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kernel_size', full_name='caffe.PoolingParameter.kernel_size', index=4,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kernel_h', full_name='caffe.PoolingParameter.kernel_h', index=5,
        number=5, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kernel_w', full_name='caffe.PoolingParameter.kernel_w', index=6,
        number=6, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stride', full_name='caffe.PoolingParameter.stride', index=7,
        number=3, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stride_h', full_name='caffe.PoolingParameter.stride_h', index=8,
        number=7, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stride_w', full_name='caffe.PoolingParameter.stride_w', index=9,
        number=8, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.PoolingParameter.engine', index=10,
        number=11, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='global_pooling', full_name='caffe.PoolingParameter.global_pooling', index=11,
        number=12, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _POOLINGPARAMETER_POOLMETHOD,
      _POOLINGPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=9059,
    serialized_end=9477,
  )
  
  
  _POWERPARAMETER = _descriptor.Descriptor(
    name='PowerParameter',
    full_name='caffe.PowerParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='power', full_name='caffe.PowerParameter.power', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.PowerParameter.scale', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shift', full_name='caffe.PowerParameter.shift', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=9479,
    serialized_end=9549,
  )
  
  
  _PYTHONPARAMETER = _descriptor.Descriptor(
    name='PythonParameter',
    full_name='caffe.PythonParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='module', full_name='caffe.PythonParameter.module', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='layer', full_name='caffe.PythonParameter.layer', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='param_str', full_name='caffe.PythonParameter.param_str', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='share_in_parallel', full_name='caffe.PythonParameter.share_in_parallel', index=3,
        number=4, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=9551,
    serialized_end=9654,
  )
  
  
  _REDUCTIONPARAMETER = _descriptor.Descriptor(
    name='ReductionParameter',
    full_name='caffe.ReductionParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='operation', full_name='caffe.ReductionParameter.operation', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.ReductionParameter.axis', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='coeff', full_name='caffe.ReductionParameter.coeff', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _REDUCTIONPARAMETER_REDUCTIONOP,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=9657,
    serialized_end=9830,
  )
  
  
  _RELUPARAMETER = _descriptor.Descriptor(
    name='ReLUParameter',
    full_name='caffe.ReLUParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='negative_slope', full_name='caffe.ReLUParameter.negative_slope', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.ReLUParameter.engine', index=1,
        number=2, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _RELUPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=9833,
    serialized_end=9974,
  )
  
  
  _RESHAPEPARAMETER = _descriptor.Descriptor(
    name='ReshapeParameter',
    full_name='caffe.ReshapeParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='shape', full_name='caffe.ReshapeParameter.shape', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.ReshapeParameter.axis', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='num_axes', full_name='caffe.ReshapeParameter.num_axes', index=2,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=-1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=9976,
    serialized_end=10066,
  )
  
  
  _SCALEPARAMETER = _descriptor.Descriptor(
    name='ScaleParameter',
    full_name='caffe.ScaleParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.ScaleParameter.axis', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='num_axes', full_name='caffe.ScaleParameter.num_axes', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='filler', full_name='caffe.ScaleParameter.filler', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_term', full_name='caffe.ScaleParameter.bias_term', index=3,
        number=4, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_filler', full_name='caffe.ScaleParameter.bias_filler', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10069,
    serialized_end=10234,
  )
  
  
  _SIGMOIDPARAMETER = _descriptor.Descriptor(
    name='SigmoidParameter',
    full_name='caffe.SigmoidParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.SigmoidParameter.engine', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _SIGMOIDPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10236,
    serialized_end=10356,
  )
  
  
  _SLICEPARAMETER = _descriptor.Descriptor(
    name='SliceParameter',
    full_name='caffe.SliceParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.SliceParameter.axis', index=0,
        number=3, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='slice_point', full_name='caffe.SliceParameter.slice_point', index=1,
        number=2, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='slice_dim', full_name='caffe.SliceParameter.slice_dim', index=2,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10358,
    serialized_end=10434,
  )
  
  
  _SOFTMAXPARAMETER = _descriptor.Descriptor(
    name='SoftmaxParameter',
    full_name='caffe.SoftmaxParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.SoftmaxParameter.engine', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.SoftmaxParameter.axis', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _SOFTMAXPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10437,
    serialized_end=10574,
  )
  
  
  _TANHPARAMETER = _descriptor.Descriptor(
    name='TanHParameter',
    full_name='caffe.TanHParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.TanHParameter.engine', index=0,
        number=1, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _TANHPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10576,
    serialized_end=10690,
  )
  
  
  _TILEPARAMETER = _descriptor.Descriptor(
    name='TileParameter',
    full_name='caffe.TileParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='axis', full_name='caffe.TileParameter.axis', index=0,
        number=1, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='tiles', full_name='caffe.TileParameter.tiles', index=1,
        number=2, type=5, cpp_type=1, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10692,
    serialized_end=10739,
  )
  
  
  _THRESHOLDPARAMETER = _descriptor.Descriptor(
    name='ThresholdParameter',
    full_name='caffe.ThresholdParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='threshold', full_name='caffe.ThresholdParameter.threshold', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10741,
    serialized_end=10783,
  )
  
  
  _WINDOWDATAPARAMETER = _descriptor.Descriptor(
    name='WindowDataParameter',
    full_name='caffe.WindowDataParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='source', full_name='caffe.WindowDataParameter.source', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.WindowDataParameter.scale', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mean_file', full_name='caffe.WindowDataParameter.mean_file', index=2,
        number=3, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='batch_size', full_name='caffe.WindowDataParameter.batch_size', index=3,
        number=4, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crop_size', full_name='caffe.WindowDataParameter.crop_size', index=4,
        number=5, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mirror', full_name='caffe.WindowDataParameter.mirror', index=5,
        number=6, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='fg_threshold', full_name='caffe.WindowDataParameter.fg_threshold', index=6,
        number=7, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bg_threshold', full_name='caffe.WindowDataParameter.bg_threshold', index=7,
        number=8, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='fg_fraction', full_name='caffe.WindowDataParameter.fg_fraction', index=8,
        number=9, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.25,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='context_pad', full_name='caffe.WindowDataParameter.context_pad', index=9,
        number=10, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='crop_mode', full_name='caffe.WindowDataParameter.crop_mode', index=10,
        number=11, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("warp", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='cache_images', full_name='caffe.WindowDataParameter.cache_images', index=11,
        number=12, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='root_folder', full_name='caffe.WindowDataParameter.root_folder', index=12,
        number=13, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=10786,
    serialized_end=11107,
  )
  
  
  _SPPPARAMETER = _descriptor.Descriptor(
    name='SPPParameter',
    full_name='caffe.SPPParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='pyramid_height', full_name='caffe.SPPParameter.pyramid_height', index=0,
        number=1, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pool', full_name='caffe.SPPParameter.pool', index=1,
        number=2, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='engine', full_name='caffe.SPPParameter.engine', index=2,
        number=6, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _SPPPARAMETER_POOLMETHOD,
      _SPPPARAMETER_ENGINE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=11110,
    serialized_end=11345,
  )
  
  
  _V1LAYERPARAMETER = _descriptor.Descriptor(
    name='V1LayerParameter',
    full_name='caffe.V1LayerParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='bottom', full_name='caffe.V1LayerParameter.bottom', index=0,
        number=2, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='top', full_name='caffe.V1LayerParameter.top', index=1,
        number=3, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='name', full_name='caffe.V1LayerParameter.name', index=2,
        number=4, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='include', full_name='caffe.V1LayerParameter.include', index=3,
        number=32, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='exclude', full_name='caffe.V1LayerParameter.exclude', index=4,
        number=33, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='type', full_name='caffe.V1LayerParameter.type', index=5,
        number=5, type=14, cpp_type=8, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='blobs', full_name='caffe.V1LayerParameter.blobs', index=6,
        number=6, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='param', full_name='caffe.V1LayerParameter.param', index=7,
        number=1001, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='blob_share_mode', full_name='caffe.V1LayerParameter.blob_share_mode', index=8,
        number=1002, type=14, cpp_type=8, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='blobs_lr', full_name='caffe.V1LayerParameter.blobs_lr', index=9,
        number=7, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='weight_decay', full_name='caffe.V1LayerParameter.weight_decay', index=10,
        number=8, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='loss_weight', full_name='caffe.V1LayerParameter.loss_weight', index=11,
        number=35, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='accuracy_param', full_name='caffe.V1LayerParameter.accuracy_param', index=12,
        number=27, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='argmax_param', full_name='caffe.V1LayerParameter.argmax_param', index=13,
        number=23, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='concat_param', full_name='caffe.V1LayerParameter.concat_param', index=14,
        number=9, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='contrastive_loss_param', full_name='caffe.V1LayerParameter.contrastive_loss_param', index=15,
        number=40, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='convolution_param', full_name='caffe.V1LayerParameter.convolution_param', index=16,
        number=10, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='data_param', full_name='caffe.V1LayerParameter.data_param', index=17,
        number=11, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='dropout_param', full_name='caffe.V1LayerParameter.dropout_param', index=18,
        number=12, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='dummy_data_param', full_name='caffe.V1LayerParameter.dummy_data_param', index=19,
        number=26, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='eltwise_param', full_name='caffe.V1LayerParameter.eltwise_param', index=20,
        number=24, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='exp_param', full_name='caffe.V1LayerParameter.exp_param', index=21,
        number=41, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hdf5_data_param', full_name='caffe.V1LayerParameter.hdf5_data_param', index=22,
        number=13, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hdf5_output_param', full_name='caffe.V1LayerParameter.hdf5_output_param', index=23,
        number=14, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hinge_loss_param', full_name='caffe.V1LayerParameter.hinge_loss_param', index=24,
        number=29, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='image_data_param', full_name='caffe.V1LayerParameter.image_data_param', index=25,
        number=15, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='infogain_loss_param', full_name='caffe.V1LayerParameter.infogain_loss_param', index=26,
        number=16, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='inner_product_param', full_name='caffe.V1LayerParameter.inner_product_param', index=27,
        number=17, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='lrn_param', full_name='caffe.V1LayerParameter.lrn_param', index=28,
        number=18, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='memory_data_param', full_name='caffe.V1LayerParameter.memory_data_param', index=29,
        number=22, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mvn_param', full_name='caffe.V1LayerParameter.mvn_param', index=30,
        number=34, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pooling_param', full_name='caffe.V1LayerParameter.pooling_param', index=31,
        number=19, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='power_param', full_name='caffe.V1LayerParameter.power_param', index=32,
        number=21, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='relu_param', full_name='caffe.V1LayerParameter.relu_param', index=33,
        number=30, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='sigmoid_param', full_name='caffe.V1LayerParameter.sigmoid_param', index=34,
        number=38, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='softmax_param', full_name='caffe.V1LayerParameter.softmax_param', index=35,
        number=39, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='slice_param', full_name='caffe.V1LayerParameter.slice_param', index=36,
        number=31, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='tanh_param', full_name='caffe.V1LayerParameter.tanh_param', index=37,
        number=37, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='threshold_param', full_name='caffe.V1LayerParameter.threshold_param', index=38,
        number=25, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='window_data_param', full_name='caffe.V1LayerParameter.window_data_param', index=39,
        number=20, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='transform_param', full_name='caffe.V1LayerParameter.transform_param', index=40,
        number=36, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='loss_param', full_name='caffe.V1LayerParameter.loss_param', index=41,
        number=42, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='layer', full_name='caffe.V1LayerParameter.layer', index=42,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _V1LAYERPARAMETER_LAYERTYPE,
      _V1LAYERPARAMETER_DIMCHECKMODE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=11348,
    serialized_end=13876,
  )
  
  
  _V0LAYERPARAMETER = _descriptor.Descriptor(
    name='V0LayerParameter',
    full_name='caffe.V0LayerParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='caffe.V0LayerParameter.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='type', full_name='caffe.V0LayerParameter.type', index=1,
        number=2, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='num_output', full_name='caffe.V0LayerParameter.num_output', index=2,
        number=3, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='biasterm', full_name='caffe.V0LayerParameter.biasterm', index=3,
        number=4, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=True,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='weight_filler', full_name='caffe.V0LayerParameter.weight_filler', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='bias_filler', full_name='caffe.V0LayerParameter.bias_filler', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pad', full_name='caffe.V0LayerParameter.pad', index=6,
        number=7, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='kernelsize', full_name='caffe.V0LayerParameter.kernelsize', index=7,
        number=8, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='group', full_name='caffe.V0LayerParameter.group', index=8,
        number=9, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='stride', full_name='caffe.V0LayerParameter.stride', index=9,
        number=10, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='pool', full_name='caffe.V0LayerParameter.pool', index=10,
        number=11, type=14, cpp_type=8, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='dropout_ratio', full_name='caffe.V0LayerParameter.dropout_ratio', index=11,
        number=12, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='local_size', full_name='caffe.V0LayerParameter.local_size', index=12,
        number=13, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='alpha', full_name='caffe.V0LayerParameter.alpha', index=13,
        number=14, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='beta', full_name='caffe.V0LayerParameter.beta', index=14,
        number=15, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.75,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='k', full_name='caffe.V0LayerParameter.k', index=15,
        number=22, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='source', full_name='caffe.V0LayerParameter.source', index=16,
        number=16, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='scale', full_name='caffe.V0LayerParameter.scale', index=17,
        number=17, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='meanfile', full_name='caffe.V0LayerParameter.meanfile', index=18,
        number=18, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=str("", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='batchsize', full_name='caffe.V0LayerParameter.batchsize', index=19,
        number=19, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='cropsize', full_name='caffe.V0LayerParameter.cropsize', index=20,
        number=20, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='mirror', full_name='caffe.V0LayerParameter.mirror', index=21,
        number=21, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='blobs', full_name='caffe.V0LayerParameter.blobs', index=22,
        number=50, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='blobs_lr', full_name='caffe.V0LayerParameter.blobs_lr', index=23,
        number=51, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='weight_decay', full_name='caffe.V0LayerParameter.weight_decay', index=24,
        number=52, type=2, cpp_type=6, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='rand_skip', full_name='caffe.V0LayerParameter.rand_skip', index=25,
        number=53, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='det_fg_threshold', full_name='caffe.V0LayerParameter.det_fg_threshold', index=26,
        number=54, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='det_bg_threshold', full_name='caffe.V0LayerParameter.det_bg_threshold', index=27,
        number=55, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.5,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='det_fg_fraction', full_name='caffe.V0LayerParameter.det_fg_fraction', index=28,
        number=56, type=2, cpp_type=6, label=1,
        has_default_value=True, default_value=0.25,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='det_context_pad', full_name='caffe.V0LayerParameter.det_context_pad', index=29,
        number=58, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='det_crop_mode', full_name='caffe.V0LayerParameter.det_crop_mode', index=30,
        number=59, type=9, cpp_type=9, label=1,
        has_default_value=True, default_value=str("warp", "utf-8"),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='new_num', full_name='caffe.V0LayerParameter.new_num', index=31,
        number=60, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='new_channels', full_name='caffe.V0LayerParameter.new_channels', index=32,
        number=61, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='new_height', full_name='caffe.V0LayerParameter.new_height', index=33,
        number=62, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='new_width', full_name='caffe.V0LayerParameter.new_width', index=34,
        number=63, type=5, cpp_type=1, label=1,
        has_default_value=True, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='shuffle_images', full_name='caffe.V0LayerParameter.shuffle_images', index=35,
        number=64, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='concat_dim', full_name='caffe.V0LayerParameter.concat_dim', index=36,
        number=65, type=13, cpp_type=3, label=1,
        has_default_value=True, default_value=1,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='hdf5_output_param', full_name='caffe.V0LayerParameter.hdf5_output_param', index=37,
        number=1001, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
      _V0LAYERPARAMETER_POOLMETHOD,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=13879,
    serialized_end=14900,
  )
  
  
  _PRELUPARAMETER = _descriptor.Descriptor(
    name='PReLUParameter',
    full_name='caffe.PReLUParameter',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
      _descriptor.FieldDescriptor(
        name='filler', full_name='caffe.PReLUParameter.filler', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
      _descriptor.FieldDescriptor(
        name='channel_shared', full_name='caffe.PReLUParameter.channel_shared', index=1,
        number=2, type=8, cpp_type=7, label=1,
        has_default_value=True, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        options=None),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    serialized_start=14902,
    serialized_end=14989,
  )
  
  _BLOBPROTO.fields_by_name['shape'].message_type = _BLOBSHAPE
  _BLOBPROTOVECTOR.fields_by_name['blobs'].message_type = _BLOBPROTO
  _FILLERPARAMETER.fields_by_name['variance_norm'].enum_type = _FILLERPARAMETER_VARIANCENORM
  _FILLERPARAMETER_VARIANCENORM.containing_type = _FILLERPARAMETER;
  _NETPARAMETER.fields_by_name['input_shape'].message_type = _BLOBSHAPE
  _NETPARAMETER.fields_by_name['state'].message_type = _NETSTATE
  _NETPARAMETER.fields_by_name['layer'].message_type = _LAYERPARAMETER
  _NETPARAMETER.fields_by_name['layers'].message_type = _V1LAYERPARAMETER
  _SOLVERPARAMETER.fields_by_name['net_param'].message_type = _NETPARAMETER
  _SOLVERPARAMETER.fields_by_name['train_net_param'].message_type = _NETPARAMETER
  _SOLVERPARAMETER.fields_by_name['test_net_param'].message_type = _NETPARAMETER
  _SOLVERPARAMETER.fields_by_name['train_state'].message_type = _NETSTATE
  _SOLVERPARAMETER.fields_by_name['test_state'].message_type = _NETSTATE
  _SOLVERPARAMETER.fields_by_name['snapshot_format'].enum_type = _SOLVERPARAMETER_SNAPSHOTFORMAT
  _SOLVERPARAMETER.fields_by_name['solver_mode'].enum_type = _SOLVERPARAMETER_SOLVERMODE
  _SOLVERPARAMETER.fields_by_name['solver_type'].enum_type = _SOLVERPARAMETER_SOLVERTYPE
  _SOLVERPARAMETER_SNAPSHOTFORMAT.containing_type = _SOLVERPARAMETER;
  _SOLVERPARAMETER_SOLVERMODE.containing_type = _SOLVERPARAMETER;
  _SOLVERPARAMETER_SOLVERTYPE.containing_type = _SOLVERPARAMETER;
  _SOLVERSTATE.fields_by_name['history'].message_type = _BLOBPROTO
  _NETSTATE.fields_by_name['phase'].enum_type = _PHASE
  _NETSTATERULE.fields_by_name['phase'].enum_type = _PHASE
  _PARAMSPEC.fields_by_name['share_mode'].enum_type = _PARAMSPEC_DIMCHECKMODE
  _PARAMSPEC_DIMCHECKMODE.containing_type = _PARAMSPEC;
  _LAYERPARAMETER.fields_by_name['phase'].enum_type = _PHASE
  _LAYERPARAMETER.fields_by_name['param'].message_type = _PARAMSPEC
  _LAYERPARAMETER.fields_by_name['blobs'].message_type = _BLOBPROTO
  _LAYERPARAMETER.fields_by_name['include'].message_type = _NETSTATERULE
  _LAYERPARAMETER.fields_by_name['exclude'].message_type = _NETSTATERULE
  _LAYERPARAMETER.fields_by_name['transform_param'].message_type = _TRANSFORMATIONPARAMETER
  _LAYERPARAMETER.fields_by_name['loss_param'].message_type = _LOSSPARAMETER
  _LAYERPARAMETER.fields_by_name['accuracy_param'].message_type = _ACCURACYPARAMETER
  _LAYERPARAMETER.fields_by_name['argmax_param'].message_type = _ARGMAXPARAMETER
  _LAYERPARAMETER.fields_by_name['batch_norm_param'].message_type = _BATCHNORMPARAMETER
  _LAYERPARAMETER.fields_by_name['bias_param'].message_type = _BIASPARAMETER
  _LAYERPARAMETER.fields_by_name['concat_param'].message_type = _CONCATPARAMETER
  _LAYERPARAMETER.fields_by_name['contrastive_loss_param'].message_type = _CONTRASTIVELOSSPARAMETER
  _LAYERPARAMETER.fields_by_name['convolution_param'].message_type = _CONVOLUTIONPARAMETER
  _LAYERPARAMETER.fields_by_name['crop_param'].message_type = _CROPPARAMETER
  _LAYERPARAMETER.fields_by_name['data_param'].message_type = _DATAPARAMETER
  _LAYERPARAMETER.fields_by_name['dropout_param'].message_type = _DROPOUTPARAMETER
  _LAYERPARAMETER.fields_by_name['dummy_data_param'].message_type = _DUMMYDATAPARAMETER
  _LAYERPARAMETER.fields_by_name['eltwise_param'].message_type = _ELTWISEPARAMETER
  _LAYERPARAMETER.fields_by_name['elu_param'].message_type = _ELUPARAMETER
  _LAYERPARAMETER.fields_by_name['embed_param'].message_type = _EMBEDPARAMETER
  _LAYERPARAMETER.fields_by_name['exp_param'].message_type = _EXPPARAMETER
  _LAYERPARAMETER.fields_by_name['flatten_param'].message_type = _FLATTENPARAMETER
  _LAYERPARAMETER.fields_by_name['hdf5_data_param'].message_type = _HDF5DATAPARAMETER
  _LAYERPARAMETER.fields_by_name['hdf5_output_param'].message_type = _HDF5OUTPUTPARAMETER
  _LAYERPARAMETER.fields_by_name['hinge_loss_param'].message_type = _HINGELOSSPARAMETER
  _LAYERPARAMETER.fields_by_name['image_data_param'].message_type = _IMAGEDATAPARAMETER
  _LAYERPARAMETER.fields_by_name['infogain_loss_param'].message_type = _INFOGAINLOSSPARAMETER
  _LAYERPARAMETER.fields_by_name['inner_product_param'].message_type = _INNERPRODUCTPARAMETER
  _LAYERPARAMETER.fields_by_name['input_param'].message_type = _INPUTPARAMETER
  _LAYERPARAMETER.fields_by_name['log_param'].message_type = _LOGPARAMETER
  _LAYERPARAMETER.fields_by_name['lrn_param'].message_type = _LRNPARAMETER
  _LAYERPARAMETER.fields_by_name['memory_data_param'].message_type = _MEMORYDATAPARAMETER
  _LAYERPARAMETER.fields_by_name['mvn_param'].message_type = _MVNPARAMETER
  _LAYERPARAMETER.fields_by_name['pooling_param'].message_type = _POOLINGPARAMETER
  _LAYERPARAMETER.fields_by_name['power_param'].message_type = _POWERPARAMETER
  _LAYERPARAMETER.fields_by_name['prelu_param'].message_type = _PRELUPARAMETER
  _LAYERPARAMETER.fields_by_name['python_param'].message_type = _PYTHONPARAMETER
  _LAYERPARAMETER.fields_by_name['reduction_param'].message_type = _REDUCTIONPARAMETER
  _LAYERPARAMETER.fields_by_name['relu_param'].message_type = _RELUPARAMETER
  _LAYERPARAMETER.fields_by_name['reshape_param'].message_type = _RESHAPEPARAMETER
  _LAYERPARAMETER.fields_by_name['scale_param'].message_type = _SCALEPARAMETER
  _LAYERPARAMETER.fields_by_name['sigmoid_param'].message_type = _SIGMOIDPARAMETER
  _LAYERPARAMETER.fields_by_name['softmax_param'].message_type = _SOFTMAXPARAMETER
  _LAYERPARAMETER.fields_by_name['spp_param'].message_type = _SPPPARAMETER
  _LAYERPARAMETER.fields_by_name['slice_param'].message_type = _SLICEPARAMETER
  _LAYERPARAMETER.fields_by_name['tanh_param'].message_type = _TANHPARAMETER
  _LAYERPARAMETER.fields_by_name['threshold_param'].message_type = _THRESHOLDPARAMETER
  _LAYERPARAMETER.fields_by_name['tile_param'].message_type = _TILEPARAMETER
  _LAYERPARAMETER.fields_by_name['window_data_param'].message_type = _WINDOWDATAPARAMETER
  _LOSSPARAMETER.fields_by_name['normalization'].enum_type = _LOSSPARAMETER_NORMALIZATIONMODE
  _LOSSPARAMETER_NORMALIZATIONMODE.containing_type = _LOSSPARAMETER;
  _BIASPARAMETER.fields_by_name['filler'].message_type = _FILLERPARAMETER
  _CONVOLUTIONPARAMETER.fields_by_name['weight_filler'].message_type = _FILLERPARAMETER
  _CONVOLUTIONPARAMETER.fields_by_name['bias_filler'].message_type = _FILLERPARAMETER
  _CONVOLUTIONPARAMETER.fields_by_name['engine'].enum_type = _CONVOLUTIONPARAMETER_ENGINE
  _CONVOLUTIONPARAMETER_ENGINE.containing_type = _CONVOLUTIONPARAMETER;
  _DATAPARAMETER.fields_by_name['backend'].enum_type = _DATAPARAMETER_DB
  _DATAPARAMETER_DB.containing_type = _DATAPARAMETER;
  _DUMMYDATAPARAMETER.fields_by_name['data_filler'].message_type = _FILLERPARAMETER
  _DUMMYDATAPARAMETER.fields_by_name['shape'].message_type = _BLOBSHAPE
  _ELTWISEPARAMETER.fields_by_name['operation'].enum_type = _ELTWISEPARAMETER_ELTWISEOP
  _ELTWISEPARAMETER_ELTWISEOP.containing_type = _ELTWISEPARAMETER;
  _EMBEDPARAMETER.fields_by_name['weight_filler'].message_type = _FILLERPARAMETER
  _EMBEDPARAMETER.fields_by_name['bias_filler'].message_type = _FILLERPARAMETER
  _HINGELOSSPARAMETER.fields_by_name['norm'].enum_type = _HINGELOSSPARAMETER_NORM
  _HINGELOSSPARAMETER_NORM.containing_type = _HINGELOSSPARAMETER;
  _INNERPRODUCTPARAMETER.fields_by_name['weight_filler'].message_type = _FILLERPARAMETER
  _INNERPRODUCTPARAMETER.fields_by_name['bias_filler'].message_type = _FILLERPARAMETER
  _INPUTPARAMETER.fields_by_name['shape'].message_type = _BLOBSHAPE
  _LRNPARAMETER.fields_by_name['norm_region'].enum_type = _LRNPARAMETER_NORMREGION
  _LRNPARAMETER.fields_by_name['engine'].enum_type = _LRNPARAMETER_ENGINE
  _LRNPARAMETER_NORMREGION.containing_type = _LRNPARAMETER;
  _LRNPARAMETER_ENGINE.containing_type = _LRNPARAMETER;
  _POOLINGPARAMETER.fields_by_name['pool'].enum_type = _POOLINGPARAMETER_POOLMETHOD
  _POOLINGPARAMETER.fields_by_name['engine'].enum_type = _POOLINGPARAMETER_ENGINE
  _POOLINGPARAMETER_POOLMETHOD.containing_type = _POOLINGPARAMETER;
  _POOLINGPARAMETER_ENGINE.containing_type = _POOLINGPARAMETER;
  _REDUCTIONPARAMETER.fields_by_name['operation'].enum_type = _REDUCTIONPARAMETER_REDUCTIONOP
  _REDUCTIONPARAMETER_REDUCTIONOP.containing_type = _REDUCTIONPARAMETER;
  _RELUPARAMETER.fields_by_name['engine'].enum_type = _RELUPARAMETER_ENGINE
  _RELUPARAMETER_ENGINE.containing_type = _RELUPARAMETER;
  _RESHAPEPARAMETER.fields_by_name['shape'].message_type = _BLOBSHAPE
  _SCALEPARAMETER.fields_by_name['filler'].message_type = _FILLERPARAMETER
  _SCALEPARAMETER.fields_by_name['bias_filler'].message_type = _FILLERPARAMETER
  _SIGMOIDPARAMETER.fields_by_name['engine'].enum_type = _SIGMOIDPARAMETER_ENGINE
  _SIGMOIDPARAMETER_ENGINE.containing_type = _SIGMOIDPARAMETER;
  _SOFTMAXPARAMETER.fields_by_name['engine'].enum_type = _SOFTMAXPARAMETER_ENGINE
  _SOFTMAXPARAMETER_ENGINE.containing_type = _SOFTMAXPARAMETER;
  _TANHPARAMETER.fields_by_name['engine'].enum_type = _TANHPARAMETER_ENGINE
  _TANHPARAMETER_ENGINE.containing_type = _TANHPARAMETER;
  _SPPPARAMETER.fields_by_name['pool'].enum_type = _SPPPARAMETER_POOLMETHOD
  _SPPPARAMETER.fields_by_name['engine'].enum_type = _SPPPARAMETER_ENGINE
  _SPPPARAMETER_POOLMETHOD.containing_type = _SPPPARAMETER;
  _SPPPARAMETER_ENGINE.containing_type = _SPPPARAMETER;
  _V1LAYERPARAMETER.fields_by_name['include'].message_type = _NETSTATERULE
  _V1LAYERPARAMETER.fields_by_name['exclude'].message_type = _NETSTATERULE
  _V1LAYERPARAMETER.fields_by_name['type'].enum_type = _V1LAYERPARAMETER_LAYERTYPE
  _V1LAYERPARAMETER.fields_by_name['blobs'].message_type = _BLOBPROTO
  _V1LAYERPARAMETER.fields_by_name['blob_share_mode'].enum_type = _V1LAYERPARAMETER_DIMCHECKMODE
  _V1LAYERPARAMETER.fields_by_name['accuracy_param'].message_type = _ACCURACYPARAMETER
  _V1LAYERPARAMETER.fields_by_name['argmax_param'].message_type = _ARGMAXPARAMETER
  _V1LAYERPARAMETER.fields_by_name['concat_param'].message_type = _CONCATPARAMETER
  _V1LAYERPARAMETER.fields_by_name['contrastive_loss_param'].message_type = _CONTRASTIVELOSSPARAMETER
  _V1LAYERPARAMETER.fields_by_name['convolution_param'].message_type = _CONVOLUTIONPARAMETER
  _V1LAYERPARAMETER.fields_by_name['data_param'].message_type = _DATAPARAMETER
  _V1LAYERPARAMETER.fields_by_name['dropout_param'].message_type = _DROPOUTPARAMETER
  _V1LAYERPARAMETER.fields_by_name['dummy_data_param'].message_type = _DUMMYDATAPARAMETER
  _V1LAYERPARAMETER.fields_by_name['eltwise_param'].message_type = _ELTWISEPARAMETER
  _V1LAYERPARAMETER.fields_by_name['exp_param'].message_type = _EXPPARAMETER
  _V1LAYERPARAMETER.fields_by_name['hdf5_data_param'].message_type = _HDF5DATAPARAMETER
  _V1LAYERPARAMETER.fields_by_name['hdf5_output_param'].message_type = _HDF5OUTPUTPARAMETER
  _V1LAYERPARAMETER.fields_by_name['hinge_loss_param'].message_type = _HINGELOSSPARAMETER
  _V1LAYERPARAMETER.fields_by_name['image_data_param'].message_type = _IMAGEDATAPARAMETER
  _V1LAYERPARAMETER.fields_by_name['infogain_loss_param'].message_type = _INFOGAINLOSSPARAMETER
  _V1LAYERPARAMETER.fields_by_name['inner_product_param'].message_type = _INNERPRODUCTPARAMETER
  _V1LAYERPARAMETER.fields_by_name['lrn_param'].message_type = _LRNPARAMETER
  _V1LAYERPARAMETER.fields_by_name['memory_data_param'].message_type = _MEMORYDATAPARAMETER
  _V1LAYERPARAMETER.fields_by_name['mvn_param'].message_type = _MVNPARAMETER
  _V1LAYERPARAMETER.fields_by_name['pooling_param'].message_type = _POOLINGPARAMETER
  _V1LAYERPARAMETER.fields_by_name['power_param'].message_type = _POWERPARAMETER
  _V1LAYERPARAMETER.fields_by_name['relu_param'].message_type = _RELUPARAMETER
  _V1LAYERPARAMETER.fields_by_name['sigmoid_param'].message_type = _SIGMOIDPARAMETER
  _V1LAYERPARAMETER.fields_by_name['softmax_param'].message_type = _SOFTMAXPARAMETER
  _V1LAYERPARAMETER.fields_by_name['slice_param'].message_type = _SLICEPARAMETER
  _V1LAYERPARAMETER.fields_by_name['tanh_param'].message_type = _TANHPARAMETER
  _V1LAYERPARAMETER.fields_by_name['threshold_param'].message_type = _THRESHOLDPARAMETER
  _V1LAYERPARAMETER.fields_by_name['window_data_param'].message_type = _WINDOWDATAPARAMETER
  _V1LAYERPARAMETER.fields_by_name['transform_param'].message_type = _TRANSFORMATIONPARAMETER
  _V1LAYERPARAMETER.fields_by_name['loss_param'].message_type = _LOSSPARAMETER
  _V1LAYERPARAMETER.fields_by_name['layer'].message_type = _V0LAYERPARAMETER
  _V1LAYERPARAMETER_LAYERTYPE.containing_type = _V1LAYERPARAMETER;
  _V1LAYERPARAMETER_DIMCHECKMODE.containing_type = _V1LAYERPARAMETER;
  _V0LAYERPARAMETER.fields_by_name['weight_filler'].message_type = _FILLERPARAMETER
  _V0LAYERPARAMETER.fields_by_name['bias_filler'].message_type = _FILLERPARAMETER
  _V0LAYERPARAMETER.fields_by_name['pool'].enum_type = _V0LAYERPARAMETER_POOLMETHOD
  _V0LAYERPARAMETER.fields_by_name['blobs'].message_type = _BLOBPROTO
  _V0LAYERPARAMETER.fields_by_name['hdf5_output_param'].message_type = _HDF5OUTPUTPARAMETER
  _V0LAYERPARAMETER_POOLMETHOD.containing_type = _V0LAYERPARAMETER;
  _PRELUPARAMETER.fields_by_name['filler'].message_type = _FILLERPARAMETER
  DESCRIPTOR.message_types_by_name['BlobShape'] = _BLOBSHAPE
  DESCRIPTOR.message_types_by_name['BlobProto'] = _BLOBPROTO
  DESCRIPTOR.message_types_by_name['BlobProtoVector'] = _BLOBPROTOVECTOR
  DESCRIPTOR.message_types_by_name['Datum'] = _DATUM
  DESCRIPTOR.message_types_by_name['FillerParameter'] = _FILLERPARAMETER
  DESCRIPTOR.message_types_by_name['NetParameter'] = _NETPARAMETER
  DESCRIPTOR.message_types_by_name['SolverParameter'] = _SOLVERPARAMETER
  DESCRIPTOR.message_types_by_name['SolverState'] = _SOLVERSTATE
  DESCRIPTOR.message_types_by_name['NetState'] = _NETSTATE
  DESCRIPTOR.message_types_by_name['NetStateRule'] = _NETSTATERULE
  DESCRIPTOR.message_types_by_name['ParamSpec'] = _PARAMSPEC
  DESCRIPTOR.message_types_by_name['LayerParameter'] = _LAYERPARAMETER
  DESCRIPTOR.message_types_by_name['TransformationParameter'] = _TRANSFORMATIONPARAMETER
  DESCRIPTOR.message_types_by_name['LossParameter'] = _LOSSPARAMETER
  DESCRIPTOR.message_types_by_name['AccuracyParameter'] = _ACCURACYPARAMETER
  DESCRIPTOR.message_types_by_name['ArgMaxParameter'] = _ARGMAXPARAMETER
  DESCRIPTOR.message_types_by_name['ConcatParameter'] = _CONCATPARAMETER
  DESCRIPTOR.message_types_by_name['BatchNormParameter'] = _BATCHNORMPARAMETER
  DESCRIPTOR.message_types_by_name['BiasParameter'] = _BIASPARAMETER
  DESCRIPTOR.message_types_by_name['ContrastiveLossParameter'] = _CONTRASTIVELOSSPARAMETER
  DESCRIPTOR.message_types_by_name['ConvolutionParameter'] = _CONVOLUTIONPARAMETER
  DESCRIPTOR.message_types_by_name['CropParameter'] = _CROPPARAMETER
  DESCRIPTOR.message_types_by_name['DataParameter'] = _DATAPARAMETER
  DESCRIPTOR.message_types_by_name['DropoutParameter'] = _DROPOUTPARAMETER
  DESCRIPTOR.message_types_by_name['DummyDataParameter'] = _DUMMYDATAPARAMETER
  DESCRIPTOR.message_types_by_name['EltwiseParameter'] = _ELTWISEPARAMETER
  DESCRIPTOR.message_types_by_name['ELUParameter'] = _ELUPARAMETER
  DESCRIPTOR.message_types_by_name['EmbedParameter'] = _EMBEDPARAMETER
  DESCRIPTOR.message_types_by_name['ExpParameter'] = _EXPPARAMETER
  DESCRIPTOR.message_types_by_name['FlattenParameter'] = _FLATTENPARAMETER
  DESCRIPTOR.message_types_by_name['HDF5DataParameter'] = _HDF5DATAPARAMETER
  DESCRIPTOR.message_types_by_name['HDF5OutputParameter'] = _HDF5OUTPUTPARAMETER
  DESCRIPTOR.message_types_by_name['HingeLossParameter'] = _HINGELOSSPARAMETER
  DESCRIPTOR.message_types_by_name['ImageDataParameter'] = _IMAGEDATAPARAMETER
  DESCRIPTOR.message_types_by_name['InfogainLossParameter'] = _INFOGAINLOSSPARAMETER
  DESCRIPTOR.message_types_by_name['InnerProductParameter'] = _INNERPRODUCTPARAMETER
  DESCRIPTOR.message_types_by_name['InputParameter'] = _INPUTPARAMETER
  DESCRIPTOR.message_types_by_name['LogParameter'] = _LOGPARAMETER
  DESCRIPTOR.message_types_by_name['LRNParameter'] = _LRNPARAMETER
  DESCRIPTOR.message_types_by_name['MemoryDataParameter'] = _MEMORYDATAPARAMETER
  DESCRIPTOR.message_types_by_name['MVNParameter'] = _MVNPARAMETER
  DESCRIPTOR.message_types_by_name['PoolingParameter'] = _POOLINGPARAMETER
  DESCRIPTOR.message_types_by_name['PowerParameter'] = _POWERPARAMETER
  DESCRIPTOR.message_types_by_name['PythonParameter'] = _PYTHONPARAMETER
  DESCRIPTOR.message_types_by_name['ReductionParameter'] = _REDUCTIONPARAMETER
  DESCRIPTOR.message_types_by_name['ReLUParameter'] = _RELUPARAMETER
  DESCRIPTOR.message_types_by_name['ReshapeParameter'] = _RESHAPEPARAMETER
  DESCRIPTOR.message_types_by_name['ScaleParameter'] = _SCALEPARAMETER
  DESCRIPTOR.message_types_by_name['SigmoidParameter'] = _SIGMOIDPARAMETER
  DESCRIPTOR.message_types_by_name['SliceParameter'] = _SLICEPARAMETER
  DESCRIPTOR.message_types_by_name['SoftmaxParameter'] = _SOFTMAXPARAMETER
  DESCRIPTOR.message_types_by_name['TanHParameter'] = _TANHPARAMETER
  DESCRIPTOR.message_types_by_name['TileParameter'] = _TILEPARAMETER
  DESCRIPTOR.message_types_by_name['ThresholdParameter'] = _THRESHOLDPARAMETER
  DESCRIPTOR.message_types_by_name['WindowDataParameter'] = _WINDOWDATAPARAMETER
  DESCRIPTOR.message_types_by_name['SPPParameter'] = _SPPPARAMETER
  DESCRIPTOR.message_types_by_name['V1LayerParameter'] = _V1LAYERPARAMETER
  DESCRIPTOR.message_types_by_name['V0LayerParameter'] = _V0LAYERPARAMETER
  DESCRIPTOR.message_types_by_name['PReLUParameter'] = _PRELUPARAMETER
  
  class BlobShape(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _BLOBSHAPE
  
    # @@protoc_insertion_point(class_scope:caffe.BlobShape)
  
  class BlobProto(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _BLOBPROTO
  
    # @@protoc_insertion_point(class_scope:caffe.BlobProto)
  
  class BlobProtoVector(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _BLOBPROTOVECTOR
  
    # @@protoc_insertion_point(class_scope:caffe.BlobProtoVector)
  
  class Datum(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _DATUM
  
    # @@protoc_insertion_point(class_scope:caffe.Datum)
  
  class FillerParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _FILLERPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.FillerParameter)
  
  class NetParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _NETPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.NetParameter)
  
  class SolverParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _SOLVERPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.SolverParameter)
  
  class SolverState(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _SOLVERSTATE
  
    # @@protoc_insertion_point(class_scope:caffe.SolverState)
  
  class NetState(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _NETSTATE
  
    # @@protoc_insertion_point(class_scope:caffe.NetState)
  
  class NetStateRule(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _NETSTATERULE
  
    # @@protoc_insertion_point(class_scope:caffe.NetStateRule)
  
  class ParamSpec(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _PARAMSPEC
  
    # @@protoc_insertion_point(class_scope:caffe.ParamSpec)
  
  class LayerParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _LAYERPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.LayerParameter)
  
  class TransformationParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _TRANSFORMATIONPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.TransformationParameter)
  
  class LossParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _LOSSPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.LossParameter)
  
  class AccuracyParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _ACCURACYPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.AccuracyParameter)
  
  class ArgMaxParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _ARGMAXPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ArgMaxParameter)
  
  class ConcatParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _CONCATPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ConcatParameter)
  
  class BatchNormParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _BATCHNORMPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.BatchNormParameter)
  
  class BiasParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _BIASPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.BiasParameter)
  
  class ContrastiveLossParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _CONTRASTIVELOSSPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ContrastiveLossParameter)
  
  class ConvolutionParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _CONVOLUTIONPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ConvolutionParameter)
  
  class CropParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _CROPPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.CropParameter)
  
  class DataParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _DATAPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.DataParameter)
  
  class DropoutParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _DROPOUTPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.DropoutParameter)
  
  class DummyDataParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _DUMMYDATAPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.DummyDataParameter)
  
  class EltwiseParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _ELTWISEPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.EltwiseParameter)
  
  class ELUParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _ELUPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ELUParameter)
  
  class EmbedParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _EMBEDPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.EmbedParameter)
  
  class ExpParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _EXPPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ExpParameter)
  
  class FlattenParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _FLATTENPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.FlattenParameter)
  
  class HDF5DataParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _HDF5DATAPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.HDF5DataParameter)
  
  class HDF5OutputParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _HDF5OUTPUTPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.HDF5OutputParameter)
  
  class HingeLossParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _HINGELOSSPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.HingeLossParameter)
  
  class ImageDataParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _IMAGEDATAPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ImageDataParameter)
  
  class InfogainLossParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _INFOGAINLOSSPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.InfogainLossParameter)
  
  class InnerProductParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _INNERPRODUCTPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.InnerProductParameter)
  
  class InputParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _INPUTPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.InputParameter)
  
  class LogParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _LOGPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.LogParameter)
  
  class LRNParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _LRNPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.LRNParameter)
  
  class MemoryDataParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _MEMORYDATAPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.MemoryDataParameter)
  
  class MVNParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _MVNPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.MVNParameter)
  
  class PoolingParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _POOLINGPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.PoolingParameter)
  
  class PowerParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _POWERPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.PowerParameter)
  
  class PythonParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _PYTHONPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.PythonParameter)
  
  class ReductionParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _REDUCTIONPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ReductionParameter)
  
  class ReLUParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _RELUPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ReLUParameter)
  
  class ReshapeParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _RESHAPEPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ReshapeParameter)
  
  class ScaleParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _SCALEPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ScaleParameter)
  
  class SigmoidParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _SIGMOIDPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.SigmoidParameter)
  
  class SliceParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _SLICEPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.SliceParameter)
  
  class SoftmaxParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _SOFTMAXPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.SoftmaxParameter)
  
  class TanHParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _TANHPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.TanHParameter)
  
  class TileParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _TILEPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.TileParameter)
  
  class ThresholdParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _THRESHOLDPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.ThresholdParameter)
  
  class WindowDataParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _WINDOWDATAPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.WindowDataParameter)
  
  class SPPParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _SPPPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.SPPParameter)
  
  class V1LayerParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _V1LAYERPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.V1LayerParameter)
  
  class V0LayerParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _V0LAYERPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.V0LayerParameter)
  
  class PReLUParameter(_message.Message, metaclass=_reflection.GeneratedProtocolMessageType):
    DESCRIPTOR = _PRELUPARAMETER
  
    # @@protoc_insertion_point(class_scope:caffe.PReLUParameter)
  
  
  _BLOBSHAPE.fields_by_name['dim'].has_options = True
  _BLOBSHAPE.fields_by_name['dim']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')
  _BLOBPROTO.fields_by_name['data'].has_options = True
  _BLOBPROTO.fields_by_name['data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')
  _BLOBPROTO.fields_by_name['diff'].has_options = True
  _BLOBPROTO.fields_by_name['diff']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')
  _BLOBPROTO.fields_by_name['double_data'].has_options = True
  _BLOBPROTO.fields_by_name['double_data']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')
  _BLOBPROTO.fields_by_name['double_diff'].has_options = True
  _BLOBPROTO.fields_by_name['double_diff']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), '\020\001')
  # @@protoc_insertion_point(module_scope)
  