# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: caffe.proto

import sys

_b = sys.version_info[0] < 3 and (lambda x: x) or (lambda x: x.encode("latin1"))
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 symbol_database as _symbol_database
from google.protobuf import descriptor_pb2

# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()

DESCRIPTOR = _descriptor.FileDescriptor(
    name="caffe.proto",
    package="caffe",
    serialized_pb=_b(
        '\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"\xc3\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\x17\n\trms_decay\x18& \x01(\x02:\x04\x30.99\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\x12\x1f\n\x11layer_wise_reduce\x18) \x01(\x08:\x04true"+\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"\x82\x14\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\x33\n\x0fparameter_param\x18\x91\x01 \x01(\x0b\x32\x19.caffe.ParameterParameter\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\x0frecurrent_param\x18\x92\x01 \x01(\x0b\x32\x19.caffe.RecurrentParameter\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"8\n\x15InfogainLossParameter\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x0f\n\x04\x61xis\x18\x02 \x01(\x05:\x01\x31"\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"5\n\x12ParameterParameter\x12\x1f\n\x05shape\x18\x01 \x01(\x0b\x32\x10.caffe.BlobShape"\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"\xc0\x01\n\x12RecurrentParameter\x12\x15\n\nnum_output\x18\x01 \x01(\r:\x01\x30\x12-\n\rweight_filler\x18\x02 \x01(\x0b\x32\x16.caffe.FillerParameter\x12+\n\x0b\x62ias_filler\x18\x03 \x01(\x0b\x32\x16.caffe.FillerParameter\x12\x19\n\ndebug_info\x18\x04 \x01(\x08:\x05\x66\x61lse\x12\x1c\n\rexpose_hidden\x18\x05 \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'
    ),
)
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

_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=15403,
    serialized_end=15431,
)
_sym_db.RegisterEnumDescriptor(_PHASE)

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,
)
_sym_db.RegisterEnumDescriptor(_FILLERPARAMETER_VARIANCENORM)

_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=2171,
    serialized_end=2214,
)
_sym_db.RegisterEnumDescriptor(_SOLVERPARAMETER_SNAPSHOTFORMAT)

_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=2216,
    serialized_end=2246,
)
_sym_db.RegisterEnumDescriptor(_SOLVERPARAMETER_SOLVERMODE)

_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=2248,
    serialized_end=2333,
)
_sym_db.RegisterEnumDescriptor(_SOLVERPARAMETER_SOLVERTYPE)

_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=2764,
    serialized_end=2806,
)
_sym_db.RegisterEnumDescriptor(_PARAMSPEC_DIMCHECKMODE)

_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=5687,
    serialized_end=5753,
)
_sym_db.RegisterEnumDescriptor(_LOSSPARAMETER_NORMALIZATIONMODE)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_CONVOLUTIONPARAMETER_ENGINE)

_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=7079,
    serialized_end=7106,
)
_sym_db.RegisterEnumDescriptor(_DATAPARAMETER_DB)

_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=7446,
    serialized_end=7485,
)
_sym_db.RegisterEnumDescriptor(_ELTWISEPARAMETER_ELTWISEOP)

_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=8020,
    serialized_end=8042,
)
_sym_db.RegisterEnumDescriptor(_HINGELOSSPARAMETER_NORM)

_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=8926,
    serialized_end=8979,
)
_sym_db.RegisterEnumDescriptor(_LRNPARAMETER_NORMREGION)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_LRNPARAMETER_ENGINE)

_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=9603,
    serialized_end=9649,
)
_sym_db.RegisterEnumDescriptor(_POOLINGPARAMETER_POOLMETHOD)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_POOLINGPARAMETER_ENGINE)

_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=10189,
    serialized_end=10242,
)
_sym_db.RegisterEnumDescriptor(_REDUCTIONPARAMETER_REDUCTIONOP)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_RELUPARAMETER_ENGINE)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_SIGMOIDPARAMETER_ENGINE)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_SOFTMAXPARAMETER_ENGINE)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_TANHPARAMETER_ENGINE)

_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=9603,
    serialized_end=9649,
)
_sym_db.RegisterEnumDescriptor(_SPPPARAMETER_POOLMETHOD)

_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=6718,
    serialized_end=6761,
)
_sym_db.RegisterEnumDescriptor(_SPPPARAMETER_ENGINE)

_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=13644,
    serialized_end=14244,
)
_sym_db.RegisterEnumDescriptor(_V1LAYERPARAMETER_LAYERTYPE)

_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=2764,
    serialized_end=2806,
)
_sym_db.RegisterEnumDescriptor(_V1LAYERPARAMETER_DIMCHECKMODE)

_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=9603,
    serialized_end=9649,
)
_sym_db.RegisterEnumDescriptor(_V0LAYERPARAMETER_POOLMETHOD)

_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(), _b("\020\001")
            ),
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    oneofs=[],
    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(), _b("\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(), _b("\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(), _b("\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(), _b("\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=[],
    oneofs=[],
    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=[],
    oneofs=[],
    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=_b(""),
            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=[],
    oneofs=[],
    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=_b("constant").decode("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=[],
    oneofs=[],
    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=_b("").decode("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=[],
    oneofs=[],
    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=_b("").decode("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=_b("").decode("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=_b("").decode("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=_b("L2").decode("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=_b("").decode("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=_b("SGD").decode("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=True,
            default_value=0.99,
            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,
        ),
        _descriptor.FieldDescriptor(
            name="layer_wise_reduce",
            full_name="caffe.SolverParameter.layer_wise_reduce",
            index=40,
            number=41,
            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=[
        _SOLVERPARAMETER_SNAPSHOTFORMAT,
        _SOLVERPARAMETER_SOLVERMODE,
        _SOLVERPARAMETER_SOLVERTYPE,
    ],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    oneofs=[],
    serialized_start=986,
    serialized_end=2333,
)

_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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=2335,
    serialized_end=2443,
)

_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=[],
    oneofs=[],
    serialized_start=2445,
    serialized_end=2523,
)

_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=[],
    oneofs=[],
    serialized_start=2525,
    serialized_end=2640,
)

_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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=2643,
    serialized_end=2806,
)

_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=_b("").decode("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=_b("").decode("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="parameter_param",
            full_name="caffe.LayerParameter.parameter_param",
            index=40,
            number=145,
            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=41,
            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=42,
            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=43,
            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=44,
            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="recurrent_param",
            full_name="caffe.LayerParameter.recurrent_param",
            index=45,
            number=146,
            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=46,
            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=47,
            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=48,
            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=49,
            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=50,
            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=51,
            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=52,
            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=53,
            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=54,
            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=55,
            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=56,
            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=57,
            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=[],
    oneofs=[],
    serialized_start=2809,
    serialized_end=5371,
)

_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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=5374,
    serialized_end=5556,
)

_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=[],
    oneofs=[],
    serialized_start=5559,
    serialized_end=5753,
)

_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=[],
    oneofs=[],
    serialized_start=5755,
    serialized_end=5831,
)

_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=[],
    oneofs=[],
    serialized_start=5833,
    serialized_end=5910,
)

_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=[],
    oneofs=[],
    serialized_start=5912,
    serialized_end=5969,
)

_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=[],
    oneofs=[],
    serialized_start=5971,
    serialized_end=6077,
)

_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=[],
    oneofs=[],
    serialized_start=6079,
    serialized_end=6172,
)

_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=[],
    oneofs=[],
    serialized_start=6174,
    serialized_end=6250,
)

_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=[],
    oneofs=[],
    serialized_start=6253,
    serialized_end=6761,
)

_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=[],
    oneofs=[],
    serialized_start=6763,
    serialized_end=6811,
)

_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=_b("").decode("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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=6814,
    serialized_end=7106,
)

_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=[],
    oneofs=[],
    serialized_start=7108,
    serialized_end=7154,
)

_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=[],
    oneofs=[],
    serialized_start=7157,
    serialized_end=7317,
)

_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=[],
    oneofs=[],
    serialized_start=7320,
    serialized_end=7485,
)

_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=[],
    oneofs=[],
    serialized_start=7487,
    serialized_end=7519,
)

_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=[],
    oneofs=[],
    serialized_start=7522,
    serialized_end=7694,
)

_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=[],
    oneofs=[],
    serialized_start=7696,
    serialized_end=7764,
)

_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=[],
    oneofs=[],
    serialized_start=7766,
    serialized_end=7823,
)

_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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=7825,
    serialized_end=7904,
)

_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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=7906,
    serialized_end=7946,
)

_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=[],
    oneofs=[],
    serialized_start=7948,
    serialized_end=8042,
)

_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=_b("").decode("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=_b("").decode("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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=8045,
    serialized_end=8324,
)

_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=_b("").decode("utf-8"),
            message_type=None,
            enum_type=None,
            containing_type=None,
            is_extension=False,
            extension_scope=None,
            options=None,
        ),
        _descriptor.FieldDescriptor(
            name="axis",
            full_name="caffe.InfogainLossParameter.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=[],
    oneofs=[],
    serialized_start=8326,
    serialized_end=8382,
)

_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=[],
    oneofs=[],
    serialized_start=8385,
    serialized_end=8588,
)

_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=[],
    oneofs=[],
    serialized_start=8590,
    serialized_end=8639,
)

_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=[],
    oneofs=[],
    serialized_start=8641,
    serialized_end=8709,
)

_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=[],
    oneofs=[],
    serialized_start=8712,
    serialized_end=9024,
)

_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=[],
    oneofs=[],
    serialized_start=9026,
    serialized_end=9116,
)

_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=[],
    oneofs=[],
    serialized_start=9118,
    serialized_end=9218,
)

_PARAMETERPARAMETER = _descriptor.Descriptor(
    name="ParameterParameter",
    full_name="caffe.ParameterParameter",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="shape",
            full_name="caffe.ParameterParameter.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,
        )
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    oneofs=[],
    serialized_start=9220,
    serialized_end=9273,
)

_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=[],
    oneofs=[],
    serialized_start=9276,
    serialized_end=9694,
)

_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=[],
    oneofs=[],
    serialized_start=9696,
    serialized_end=9766,
)

_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=_b("").decode("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=_b("").decode("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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=9768,
    serialized_end=9871,
)

_RECURRENTPARAMETER = _descriptor.Descriptor(
    name="RecurrentParameter",
    full_name="caffe.RecurrentParameter",
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    fields=[
        _descriptor.FieldDescriptor(
            name="num_output",
            full_name="caffe.RecurrentParameter.num_output",
            index=0,
            number=1,
            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="weight_filler",
            full_name="caffe.RecurrentParameter.weight_filler",
            index=1,
            number=2,
            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.RecurrentParameter.bias_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="debug_info",
            full_name="caffe.RecurrentParameter.debug_info",
            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="expose_hidden",
            full_name="caffe.RecurrentParameter.expose_hidden",
            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,
        ),
    ],
    extensions=[],
    nested_types=[],
    enum_types=[],
    options=None,
    is_extendable=False,
    extension_ranges=[],
    oneofs=[],
    serialized_start=9874,
    serialized_end=10066,
)

_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=[],
    oneofs=[],
    serialized_start=10069,
    serialized_end=10242,
)

_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=[],
    oneofs=[],
    serialized_start=10245,
    serialized_end=10386,
)

_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=[],
    oneofs=[],
    serialized_start=10388,
    serialized_end=10478,
)

_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=[],
    oneofs=[],
    serialized_start=10481,
    serialized_end=10646,
)

_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=[],
    oneofs=[],
    serialized_start=10648,
    serialized_end=10768,
)

_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=[],
    oneofs=[],
    serialized_start=10770,
    serialized_end=10846,
)

_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=[],
    oneofs=[],
    serialized_start=10849,
    serialized_end=10986,
)

_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=[],
    oneofs=[],
    serialized_start=10988,
    serialized_end=11102,
)

_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=[],
    oneofs=[],
    serialized_start=11104,
    serialized_end=11151,
)

_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=[],
    oneofs=[],
    serialized_start=11153,
    serialized_end=11195,
)

_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=_b("").decode("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=_b("").decode("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=_b("warp").decode("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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=11198,
    serialized_end=11519,
)

_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=[],
    oneofs=[],
    serialized_start=11522,
    serialized_end=11757,
)

_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=_b("").decode("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=[],
    oneofs=[],
    serialized_start=11760,
    serialized_end=14288,
)

_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=_b("").decode("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=_b("").decode("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=_b("").decode("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=_b("").decode("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=_b("warp").decode("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=[],
    oneofs=[],
    serialized_start=14291,
    serialized_end=15312,
)

_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=[],
    oneofs=[],
    serialized_start=15314,
    serialized_end=15401,
)

_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["parameter_param"].message_type = _PARAMETERPARAMETER
_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["recurrent_param"].message_type = _RECURRENTPARAMETER
_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
_PARAMETERPARAMETER.fields_by_name["shape"].message_type = _BLOBSHAPE
_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
_RECURRENTPARAMETER.fields_by_name["weight_filler"].message_type = _FILLERPARAMETER
_RECURRENTPARAMETER.fields_by_name["bias_filler"].message_type = _FILLERPARAMETER
_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["ParameterParameter"] = _PARAMETERPARAMETER
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["RecurrentParameter"] = _RECURRENTPARAMETER
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
DESCRIPTOR.enum_types_by_name["Phase"] = _PHASE

BlobShape = _reflection.GeneratedProtocolMessageType(
    "BlobShape",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BLOBSHAPE,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.BlobShape)
    ),
)
_sym_db.RegisterMessage(BlobShape)

BlobProto = _reflection.GeneratedProtocolMessageType(
    "BlobProto",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BLOBPROTO,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.BlobProto)
    ),
)
_sym_db.RegisterMessage(BlobProto)

BlobProtoVector = _reflection.GeneratedProtocolMessageType(
    "BlobProtoVector",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BLOBPROTOVECTOR,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.BlobProtoVector)
    ),
)
_sym_db.RegisterMessage(BlobProtoVector)

Datum = _reflection.GeneratedProtocolMessageType(
    "Datum",
    (_message.Message,),
    dict(
        DESCRIPTOR=_DATUM,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.Datum)
    ),
)
_sym_db.RegisterMessage(Datum)

FillerParameter = _reflection.GeneratedProtocolMessageType(
    "FillerParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_FILLERPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.FillerParameter)
    ),
)
_sym_db.RegisterMessage(FillerParameter)

NetParameter = _reflection.GeneratedProtocolMessageType(
    "NetParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_NETPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.NetParameter)
    ),
)
_sym_db.RegisterMessage(NetParameter)

SolverParameter = _reflection.GeneratedProtocolMessageType(
    "SolverParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_SOLVERPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.SolverParameter)
    ),
)
_sym_db.RegisterMessage(SolverParameter)

SolverState = _reflection.GeneratedProtocolMessageType(
    "SolverState",
    (_message.Message,),
    dict(
        DESCRIPTOR=_SOLVERSTATE,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.SolverState)
    ),
)
_sym_db.RegisterMessage(SolverState)

NetState = _reflection.GeneratedProtocolMessageType(
    "NetState",
    (_message.Message,),
    dict(
        DESCRIPTOR=_NETSTATE,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.NetState)
    ),
)
_sym_db.RegisterMessage(NetState)

NetStateRule = _reflection.GeneratedProtocolMessageType(
    "NetStateRule",
    (_message.Message,),
    dict(
        DESCRIPTOR=_NETSTATERULE,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.NetStateRule)
    ),
)
_sym_db.RegisterMessage(NetStateRule)

ParamSpec = _reflection.GeneratedProtocolMessageType(
    "ParamSpec",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PARAMSPEC,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ParamSpec)
    ),
)
_sym_db.RegisterMessage(ParamSpec)

LayerParameter = _reflection.GeneratedProtocolMessageType(
    "LayerParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LAYERPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.LayerParameter)
    ),
)
_sym_db.RegisterMessage(LayerParameter)

TransformationParameter = _reflection.GeneratedProtocolMessageType(
    "TransformationParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_TRANSFORMATIONPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.TransformationParameter)
    ),
)
_sym_db.RegisterMessage(TransformationParameter)

LossParameter = _reflection.GeneratedProtocolMessageType(
    "LossParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LOSSPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.LossParameter)
    ),
)
_sym_db.RegisterMessage(LossParameter)

AccuracyParameter = _reflection.GeneratedProtocolMessageType(
    "AccuracyParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_ACCURACYPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.AccuracyParameter)
    ),
)
_sym_db.RegisterMessage(AccuracyParameter)

ArgMaxParameter = _reflection.GeneratedProtocolMessageType(
    "ArgMaxParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_ARGMAXPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ArgMaxParameter)
    ),
)
_sym_db.RegisterMessage(ArgMaxParameter)

ConcatParameter = _reflection.GeneratedProtocolMessageType(
    "ConcatParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CONCATPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ConcatParameter)
    ),
)
_sym_db.RegisterMessage(ConcatParameter)

BatchNormParameter = _reflection.GeneratedProtocolMessageType(
    "BatchNormParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BATCHNORMPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.BatchNormParameter)
    ),
)
_sym_db.RegisterMessage(BatchNormParameter)

BiasParameter = _reflection.GeneratedProtocolMessageType(
    "BiasParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_BIASPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.BiasParameter)
    ),
)
_sym_db.RegisterMessage(BiasParameter)

ContrastiveLossParameter = _reflection.GeneratedProtocolMessageType(
    "ContrastiveLossParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CONTRASTIVELOSSPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ContrastiveLossParameter)
    ),
)
_sym_db.RegisterMessage(ContrastiveLossParameter)

ConvolutionParameter = _reflection.GeneratedProtocolMessageType(
    "ConvolutionParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CONVOLUTIONPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ConvolutionParameter)
    ),
)
_sym_db.RegisterMessage(ConvolutionParameter)

CropParameter = _reflection.GeneratedProtocolMessageType(
    "CropParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_CROPPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.CropParameter)
    ),
)
_sym_db.RegisterMessage(CropParameter)

DataParameter = _reflection.GeneratedProtocolMessageType(
    "DataParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_DATAPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.DataParameter)
    ),
)
_sym_db.RegisterMessage(DataParameter)

DropoutParameter = _reflection.GeneratedProtocolMessageType(
    "DropoutParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_DROPOUTPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.DropoutParameter)
    ),
)
_sym_db.RegisterMessage(DropoutParameter)

DummyDataParameter = _reflection.GeneratedProtocolMessageType(
    "DummyDataParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_DUMMYDATAPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.DummyDataParameter)
    ),
)
_sym_db.RegisterMessage(DummyDataParameter)

EltwiseParameter = _reflection.GeneratedProtocolMessageType(
    "EltwiseParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_ELTWISEPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.EltwiseParameter)
    ),
)
_sym_db.RegisterMessage(EltwiseParameter)

ELUParameter = _reflection.GeneratedProtocolMessageType(
    "ELUParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_ELUPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ELUParameter)
    ),
)
_sym_db.RegisterMessage(ELUParameter)

EmbedParameter = _reflection.GeneratedProtocolMessageType(
    "EmbedParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_EMBEDPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.EmbedParameter)
    ),
)
_sym_db.RegisterMessage(EmbedParameter)

ExpParameter = _reflection.GeneratedProtocolMessageType(
    "ExpParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_EXPPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ExpParameter)
    ),
)
_sym_db.RegisterMessage(ExpParameter)

FlattenParameter = _reflection.GeneratedProtocolMessageType(
    "FlattenParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_FLATTENPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.FlattenParameter)
    ),
)
_sym_db.RegisterMessage(FlattenParameter)

HDF5DataParameter = _reflection.GeneratedProtocolMessageType(
    "HDF5DataParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_HDF5DATAPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.HDF5DataParameter)
    ),
)
_sym_db.RegisterMessage(HDF5DataParameter)

HDF5OutputParameter = _reflection.GeneratedProtocolMessageType(
    "HDF5OutputParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_HDF5OUTPUTPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.HDF5OutputParameter)
    ),
)
_sym_db.RegisterMessage(HDF5OutputParameter)

HingeLossParameter = _reflection.GeneratedProtocolMessageType(
    "HingeLossParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_HINGELOSSPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.HingeLossParameter)
    ),
)
_sym_db.RegisterMessage(HingeLossParameter)

ImageDataParameter = _reflection.GeneratedProtocolMessageType(
    "ImageDataParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_IMAGEDATAPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ImageDataParameter)
    ),
)
_sym_db.RegisterMessage(ImageDataParameter)

InfogainLossParameter = _reflection.GeneratedProtocolMessageType(
    "InfogainLossParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_INFOGAINLOSSPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.InfogainLossParameter)
    ),
)
_sym_db.RegisterMessage(InfogainLossParameter)

InnerProductParameter = _reflection.GeneratedProtocolMessageType(
    "InnerProductParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_INNERPRODUCTPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.InnerProductParameter)
    ),
)
_sym_db.RegisterMessage(InnerProductParameter)

InputParameter = _reflection.GeneratedProtocolMessageType(
    "InputParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_INPUTPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.InputParameter)
    ),
)
_sym_db.RegisterMessage(InputParameter)

LogParameter = _reflection.GeneratedProtocolMessageType(
    "LogParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LOGPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.LogParameter)
    ),
)
_sym_db.RegisterMessage(LogParameter)

LRNParameter = _reflection.GeneratedProtocolMessageType(
    "LRNParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_LRNPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.LRNParameter)
    ),
)
_sym_db.RegisterMessage(LRNParameter)

MemoryDataParameter = _reflection.GeneratedProtocolMessageType(
    "MemoryDataParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_MEMORYDATAPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.MemoryDataParameter)
    ),
)
_sym_db.RegisterMessage(MemoryDataParameter)

MVNParameter = _reflection.GeneratedProtocolMessageType(
    "MVNParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_MVNPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.MVNParameter)
    ),
)
_sym_db.RegisterMessage(MVNParameter)

ParameterParameter = _reflection.GeneratedProtocolMessageType(
    "ParameterParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PARAMETERPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ParameterParameter)
    ),
)
_sym_db.RegisterMessage(ParameterParameter)

PoolingParameter = _reflection.GeneratedProtocolMessageType(
    "PoolingParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_POOLINGPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.PoolingParameter)
    ),
)
_sym_db.RegisterMessage(PoolingParameter)

PowerParameter = _reflection.GeneratedProtocolMessageType(
    "PowerParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_POWERPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.PowerParameter)
    ),
)
_sym_db.RegisterMessage(PowerParameter)

PythonParameter = _reflection.GeneratedProtocolMessageType(
    "PythonParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PYTHONPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.PythonParameter)
    ),
)
_sym_db.RegisterMessage(PythonParameter)

RecurrentParameter = _reflection.GeneratedProtocolMessageType(
    "RecurrentParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_RECURRENTPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.RecurrentParameter)
    ),
)
_sym_db.RegisterMessage(RecurrentParameter)

ReductionParameter = _reflection.GeneratedProtocolMessageType(
    "ReductionParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_REDUCTIONPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ReductionParameter)
    ),
)
_sym_db.RegisterMessage(ReductionParameter)

ReLUParameter = _reflection.GeneratedProtocolMessageType(
    "ReLUParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_RELUPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ReLUParameter)
    ),
)
_sym_db.RegisterMessage(ReLUParameter)

ReshapeParameter = _reflection.GeneratedProtocolMessageType(
    "ReshapeParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_RESHAPEPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ReshapeParameter)
    ),
)
_sym_db.RegisterMessage(ReshapeParameter)

ScaleParameter = _reflection.GeneratedProtocolMessageType(
    "ScaleParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_SCALEPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ScaleParameter)
    ),
)
_sym_db.RegisterMessage(ScaleParameter)

SigmoidParameter = _reflection.GeneratedProtocolMessageType(
    "SigmoidParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_SIGMOIDPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.SigmoidParameter)
    ),
)
_sym_db.RegisterMessage(SigmoidParameter)

SliceParameter = _reflection.GeneratedProtocolMessageType(
    "SliceParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_SLICEPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.SliceParameter)
    ),
)
_sym_db.RegisterMessage(SliceParameter)

SoftmaxParameter = _reflection.GeneratedProtocolMessageType(
    "SoftmaxParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_SOFTMAXPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.SoftmaxParameter)
    ),
)
_sym_db.RegisterMessage(SoftmaxParameter)

TanHParameter = _reflection.GeneratedProtocolMessageType(
    "TanHParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_TANHPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.TanHParameter)
    ),
)
_sym_db.RegisterMessage(TanHParameter)

TileParameter = _reflection.GeneratedProtocolMessageType(
    "TileParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_TILEPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.TileParameter)
    ),
)
_sym_db.RegisterMessage(TileParameter)

ThresholdParameter = _reflection.GeneratedProtocolMessageType(
    "ThresholdParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_THRESHOLDPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.ThresholdParameter)
    ),
)
_sym_db.RegisterMessage(ThresholdParameter)

WindowDataParameter = _reflection.GeneratedProtocolMessageType(
    "WindowDataParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_WINDOWDATAPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.WindowDataParameter)
    ),
)
_sym_db.RegisterMessage(WindowDataParameter)

SPPParameter = _reflection.GeneratedProtocolMessageType(
    "SPPParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_SPPPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.SPPParameter)
    ),
)
_sym_db.RegisterMessage(SPPParameter)

V1LayerParameter = _reflection.GeneratedProtocolMessageType(
    "V1LayerParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_V1LAYERPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.V1LayerParameter)
    ),
)
_sym_db.RegisterMessage(V1LayerParameter)

V0LayerParameter = _reflection.GeneratedProtocolMessageType(
    "V0LayerParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_V0LAYERPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.V0LayerParameter)
    ),
)
_sym_db.RegisterMessage(V0LayerParameter)

PReLUParameter = _reflection.GeneratedProtocolMessageType(
    "PReLUParameter",
    (_message.Message,),
    dict(
        DESCRIPTOR=_PRELUPARAMETER,
        __module__="caffe_pb2"
        # @@protoc_insertion_point(class_scope:caffe.PReLUParameter)
    ),
)
_sym_db.RegisterMessage(PReLUParameter)

_BLOBSHAPE.fields_by_name["dim"].has_options = True
_BLOBSHAPE.fields_by_name["dim"]._options = _descriptor._ParseOptions(
    descriptor_pb2.FieldOptions(), _b("\020\001")
)
_BLOBPROTO.fields_by_name["data"].has_options = True
_BLOBPROTO.fields_by_name["data"]._options = _descriptor._ParseOptions(
    descriptor_pb2.FieldOptions(), _b("\020\001")
)
_BLOBPROTO.fields_by_name["diff"].has_options = True
_BLOBPROTO.fields_by_name["diff"]._options = _descriptor._ParseOptions(
    descriptor_pb2.FieldOptions(), _b("\020\001")
)
_BLOBPROTO.fields_by_name["double_data"].has_options = True
_BLOBPROTO.fields_by_name["double_data"]._options = _descriptor._ParseOptions(
    descriptor_pb2.FieldOptions(), _b("\020\001")
)
_BLOBPROTO.fields_by_name["double_diff"].has_options = True
_BLOBPROTO.fields_by_name["double_diff"]._options = _descriptor._ParseOptions(
    descriptor_pb2.FieldOptions(), _b("\020\001")
)
# @@protoc_insertion_point(module_scope)
